雷锋网 AI 科技评论按:CV大牛何恺明在Facebook人工智能实验室的新作,一起来围观!
何恺明博士,2007年清华大学毕业之后开始在微软亚洲研究院(MSRA)实习,2011年香港中文大学博士毕业后正式加入MSRA,目前在Facebook人工智能实验室(FAIR)实验室担任研究科学家。何恺明博士最让人印象深刻的是曾两次以第一作者身份摘得CVPR最佳论文奖(2009和2016),其中2016年CVPR最佳论文为图像识别中的深度残差学习(Deep Residual Learning for Image Recognition),就是举世闻名的152层深度残差网络 ResNet-152。
这次,何恺明博士的新论文名为「Focal Loss for Dense Object Detection」,利用“焦距损失”的方法,应对样本不均衡的问题,从而大幅度提升了物体检测效果,以下是雷锋网 AI 科技评论对这篇论文的介绍。
物体检测(Object detection)是计算机视觉研究领域的一项重要任务,而迄今为止表现最好的物体检测方法是由于R-CNN而流行开来的两阶段法,这种方法现在第一阶段首先生成一个包含所有物体、过滤了大多数没有物体的背景区域的稀疏侯选集合,然后在第二阶段重新判别所有的候选点,把它们明确地分为前景类别以及背景。R-CNN的运用就是在两阶段法中用一个卷积网络作为第二阶段的分类器,取得了精度的大幅度进步。在多年的改进中,R-CNN也经历了许多升级,速度和准确率都有继续的提升。
另一种物体检测方法是单阶段法,以近期的 SSD 和 YOLO 为代表。它们的好处是速度有很大提升,代价是牺牲了精度;SSD的识别准确率要低10%~20%,YOLO 则更加注重速度,准确率的牺牲更大。如下图中字母的位置就是不同的网络在准确率和推理时间取得的平衡。近期的研究也显示出,如果想要加速两阶段法的网络,降低输入图像的分辨率即可达到很好的效果,但是想要提升单阶段方法的准确率的话,很高的计算开销也收效甚微,表现改善陷入了困境。
而图中的两条线则是这篇论文中提出的模型的表现。作者们的目的是让单阶段方法也有很高的准确率。那么他们的最终结果 RetinaNet,分别在同样的推理时间下,比所有现有模型都取得了更高的准确率。而且根据不同的网络大小也可以在速度和准确率之间取得不同的平衡。效果可谓是惊人地好。
据雷锋网 AI 科技评论了解,研究员们在探究单阶段网络准确率表现不佳的状况时,发现在密集检测器(Dense detectors)训练期间遇到了极端的前景-背景类别不平衡(Extreme foreground-background class imbalance)是一个重要原因。比如SSD中,检测器需要在每张图像中评价一万个到十万个候选位置,然而其中只有很少的点真的含有目标物体。这就导致了训练效率低下和简单的负面样本引发整个模型表现下降的问题。
所以,研究员们提出了通过重塑标准交叉熵损失来解决这一类不平衡问题。他们的想法是降低简单的负面样本所占的权重,所以他们提出的焦点损失(Focal Loss)方法将训练集中在一系列难点上,并且防止了大量的简单负面例子在训练过程中阻碍探测器学习。如上图,参数 γ 的值选择得越大,模型就会对已经得到了很好的分类的样本忽略得越多,越专注于难的样本的学习。这样的机制就让他们的检测器在密集对象检测这样的真实正面样本比例很低的情况下取得了很高的准确率。
由于论文作者中有 ResNet 提出者何恺明博士的名字,我们也不意外地发现,ResNet 的成果在 RetinaNet 中得到了运用。ResNet 的部分高水平地提取图像中的特征,而在附加网络中实现了样本不平衡的调节。
图一,上图展示了单阶段网络RetinaNet的架构。该架构在前馈ResNet架构(a)顶部使用特征金字塔网络(Feature Pyramid Network, FPN)骨架,以生成更加丰富和多尺度的卷积特征金字塔(b)。RetinaNet在后面还附加了两个子网,一个是用于分类的锚盒(Anchor boxes)(c),另一个则是用于实现锚盒到Ground-truth物体盒之间的回归(d)。该神经网络被有意设计成这种比较简单的形式,这样使得这项工作的精力能够集中于焦点损失(Focal loss)函数上。该焦点损失函数消除了单阶段检测器与最新的两阶段检测器之间的准确率差距,并且运行速度还更加快。
根据 RetinaNet 中使用的 ResNet 网络大小不同,形成了 RetinaNet-101 和 RetinaNet-50,两个模型在大小为500、600、700、800的图像上的表现就绘制出了文章开头这张性能/时间对比图中的两条线。而这两条线也就一起描绘出了现有方法的表现上限。
对于应对样本不平衡问题的关键方法“焦距损失”,作者们在论文中还提出了两种不同的表现形式,都起到了很好的效果。
本文作者:隔壁王大喵
本文转自雷锋网禁止二次转载,原文链接
相关资源:新年快乐! python实现绚烂的烟花绽放效果