一、Introduction
R-CNN和Fast R-CNN等使用selective search方法生成1K~2K个与类别无关的region proposal来进行目标检测,后来使用RPN替代selective search,RPN与object detection network共享卷积层,节省了大量选择候选区域的时间,且anchor做多尺度和长宽比的参考,避免了枚举多个尺度的信息。从那时起,anchor被广泛用作现代目标检测框架中搜索ROI的通用组件。
然而,anchors的使用也有一些缺点。首先,anchors引入了额外的超参数设计选择。在设计anchors时,最重要的因素之一是它覆盖的位置空间有多密集目标。为了获得良好的召回率,anchors是根据训练/验证集计算的统计数据精心设计的。第二,基于特定数据集的一种设计选择并不总是适用于其他应用,这损害了通用性。例如,anchors通常是方形的,用于人脸检测。而行人检测需要更高的anchors。第三,由于在一幅图像上有规律地采样大量候选对象位置,密集目标检测器通常依赖于有效的技术来处理前景背景类不平衡的挑战。
为此,我们提出了一个完全无锚的目标检测框架FoveaBox。中心凹源于人眼的中央凹:视野(物体)的中心具有最高的视力。FoveaBox联合预测对象中心区域可能存在的位置以及每个有效位置的边界框。由于特征金字塔表示法,不同尺度的物体可以从多个层次的特征中被检测出来。为了验证该检测方案的有效性,我们结合特征金字塔网络和我们的检测头的最新进展,形成了中心凹盒的框架。
二、FoveaBox
FoveaBox由一个主干网络和两个任务分支网络组成,主干网络(FPN 参考博客)用于得到输入图像的特征映射,一个分支网络用于分类,另一个用于预测真实目标边界框的(x1、y1、x2、y2),对于每个空间输出位置,中心凹预测每个类和相应的边界框框的一个分数输出。
图1 FPN
图2 FoveaBox
1.尺度划分
由于目标的大尺度变化,直接预测这些目标的数目是不稳定的。作者根据特征金字塔级别的数量将对象的比例划分为几个容器(bins)。每个金字塔的基础尺度Sl在P3到P7的金字塔层次上分别从32×32到512×512不等,依次为32×32、64×64、128×128、256×256、512×512。
(基础尺度的计算过程
对于金字塔的Pl层,基础尺度Sl的计算公式如下:
其中,S0=16。)
每个特征图上覆盖的尺度范围通过一个参数η来定义:
如果η=根号2,那么每个尺度范围没有重叠,如果η=2,则每个尺度范围将有所重叠,那么某些尺度的物体将会在不同的特征图上进行检测。训练时忽略不在相应尺度范围内的目标对象。注意,一个对象可以由网络的多个金字塔来检测,这不同于以往将对象映射到一个特征金字塔的实践。
2、正负样本的选择
FoveaBox需要对特征图上每个点都预测一个分类结果并回归边界框的偏移量,由于目标真实边界框附近的点远离目标物体中心,或者与背景像素更为接近,如果将其作为正样本,对模型的训练造成困难。因此作者通过一个简单的变换,先通过ground truth边界框得到物体中心在特征图中对应的位置,然后通过一个参数σ1 调节物体高和宽,将用来训练的真实边框位置向物体中心收缩一点,收缩后的边框内部的点作为正样本,然后使用参数σ2再次调节边框高和宽,使其向外扩展一点,使用扩展边框外部的点作为负样本,这样将两个边框范围内的点忽略掉,增加正负样本之间的判别度。使用(x1,y1,x2,y2)表示ground truth边界框,也就是目标物体左上和右下角位置,具体的转换公式如下所示:
公式1 将ground truth边界框对应到第l个特征图上的坐标
公式2 将ground truth边界框进行收缩或者扩展
3、预测边界框
模型中回归边框的预测分支首先将坐标(x,y)映射到输入图像,然后计算投影坐标与G=(x1, y1, x2, y2),即真实目标的坐标,之间的归一化偏移量,最后用对数空间函数对目标进行正则化。
公式3 变换公式
将偏移量向尺度因子归一化时,z=根号Sl,这个因子应该选择与目标物体边框面积最接近的尺度。通过调整η,可以控制每个特征图覆盖的检测物体的尺度范围。
作者采用smooth L1损失来训练box。对目标进行优化后,在输出特征映射图上为每个正单元(x,y)生成边界框。
三、Results
图3 FoveaBox在COCO数据集上的一些实验结果。其中带颜色的点是某个特征图上类别预测分数较高的点对应到原图中的位置,其中颜色深度代表了分类置信度。
通过图3的可视化结果可以看出,物体中心附近的点分类概率较高,靠近物体边缘的的点分类概率变小,这也就验证了FoveaBox模拟人类眼部中央凹视觉特性的主要思想,即对物体中心点可以产生较强的响应。测试阶段,论文通过分类阈值首先筛选出1000个框,然后使用NMS得到物体最终的边框。
图4 FoveaBox与state-of-the-art方法对比
通过图4可以看出,FoveaBox的性能超过了所有一步检测器和大多数的两步检测器,仅比Cascade RCNN性能稍差,但是作者提出,如果将FoveaBox稍加改动,用做提取region proposal的模型,可以进一步提升两步检测器的性能。
四、Conclusion
FoveaBox改变了大多数目标检测模型都要使用的anchor box的现状,大大降低了模型复杂度、减少了模型输出。FoveaBox的主要思想借鉴了语义分割,对物体上的每个点都预测一个分类结果,物体边框通过预测偏移量得到。FoveaBox中还有一些anchor box多尺度的影子,也就是要将物体边框向某个尺度因子归一化,但是毕竟每个特征图只有一个尺度因子,相比经典的基于anchor box的方法,输出量已经大大降低。
参考:https://blog.csdn.net/weixin_44259900/article/details/89440506