目录
论文:RON: Reverse Connection with Objectness Prior Networks for Object Detection
来源:CVPR 2017
1. 概述
RON聚焦于解决尺度变化性问题和正负样本不平衡问题。
1.1 尺度变化性问题
利用多尺度特征是解决物体尺寸变化问题的有效方法:
-
SSD直接在多尺度特征层上进行预测,但由于浅层特征的语义信息不够强,SSD的小目标预测效果比大目标差很多。
-
Inside-Outside Net (ION),HyperNet,TDM都将多尺度特征融合成单尺度特征,并在单尺寸特征上进行预测,这三者的特征融合方式则各不相同。
-
Inside-Outside Net (ION)的多尺度特征融合方式如下:
-
HyperNet的多尺度特征融合方式如下:小尺寸特征用max pooling做下采样,大尺寸特征用反卷积做上采样,最后直接将多个特征按通道数concatenate成单尺度特征。
-
TDM则由深到浅将相邻层聚合起来
-
本文提出的多尺度特征方法则整合了上述方法,即由深到浅逐渐将相邻层聚合起来,并利用此过程产生的多尺度特征进行预测。
1.2 正负样本不平衡问题
- 正负样本不平衡、难易样本不平衡问题会影响网络的训练效果。在一阶段目标检测器中,存在着大量的负样本,而检测器通常能够很好地对这些负样本进行正确分类,于是会存在很多easy example,数量众多的负样本会淹没数量较少的hard example。对此,研究者提出了多种不同的解决方法
- OHEM为解决此问题,只选取损失较大的部分样本加入训练;
- Fcoal loss根据样本的难易程度,为每个样本添加不同的权重;
以上算法都是事先定义好样本的正负性,在得到网络的输出后再进行调整,RON同样遵循这一思路,但调整方法有所不同。
- RON为每个输出特征图生成一个相同尺寸的objectness maps,objectness maps的通道数等于每个位置中anchor的数量,objectness表示该anchor包含物体的置信度大小,通过引入objectness prior,在反向传播时过滤了大量的背景类,缓解了正负样本不平衡问题
2. RON
2.1 overview
- 修改后的VGG-16提取深度特征。去掉VGG-16的所有全连接层,在conv5_3后添加 2 × 2 / s 2 2\times2/s2 2×2/s2的卷积层,得到conv6;在conv6后添加 2 × 2 / s 2 2\times2/s2 2×2/s2的卷积层,得到conv7。最终的输出特征图为conv4_3,conv5_3,conv6,conv7,下采样率分别为8,16,32,64。
- 多尺度特征融合。逐一将本层特征与后一层特征进行融合,得到多尺度输出特征。
- 多尺度特征预测。每层特征图将产生3个分支,分别是分类分支、回归分支和objectness分支。
2.2 Reverse Connectiond多尺度特征融合方法
- 使用 3 × 3 × 512 3\times3\times512 3×3×512的卷积改变本层特征conv n的通道数
- 使用 2 × 2 × 512 2\times2\times512 2×2×512的反卷积增大深层输出特征 rf-map n+1的分辨率
- 将上述两个特征直接相加,得到本层的输出特征 rf-map n
- 对于conv7,直接通过一个 3 × 3 × 512 3\times3\times512 3×3×512的卷积层得到其输出特征 rf-map 7
- 这种逐层反向连接(Reverse Connection)的方式能增强浅层特征的语义信息。
2.3 anchor的放置
- 2.2节得出了多个不同不分辨的特征图,每个特征图拥有不同的感受野大小,所以不同特征图将检测不同尺寸的物体(与SSD相同),因此,不同特征图将设置不同scale的anchor,第
k
k
k个输出特征图中anchor的尺寸为
其中, s m i n s_{min} smin为图像大小的 1 10 \frac{1}{10} 101。每个特征层的每个位置将放置10个anchor(2种scale和5种宽高比 { 1 3 , 1 2 , 1 , 2 , 3 } \{\frac{1}{3},\frac{1}{2},1,2,3\} {31,21,1,2,3}的组合)。
2.4 Objectness Prior
- 为解决正负样本不平衡问题,网络在输出分类分支和回归分支之外,还会通过objectness分支输出objectness maps,用来衡量每一个anchor包含物体的置信度。具体地,就是在输出特征图上添加一个 3 × 3 × 2 A 3\times3\times 2A 3×3×2A的卷积层,得到的输出值按位置和anchor数目通过softmax函数进行二分类,最终得到的objectness maps大小为 W × H × A W\times H\times A W×H×A。
2.5 Detection and Bounding Box Regression
-
k
=
80
k=80
k=80是类别总数,
A
=
10
A=10
A=10是每个位置anchor的数目
inception的结构如下:
2.6 Combining Objectness Prior with Detection
- 基于IoU构建训练标签(遵循传统做法):首先,对于每个GT,选择与其IoU最大的anchor来负责预测它,这保证对于每个GT,至少存在一个anchor负责预测它;其次,如果某个anchor与某个GT框的IoU大于阈值0.5,则该anchor也负责预测GT,这些有预测GT框的anchor即为正样本。与任何GT框的IoU都小于下限阈值0.3的anchor将作为负样本。正样本的objectness标签为1,负样本的objectness标签为0。
- 在训练时,前向推断阶段将分别得到3个分支的输出,在反向传播构建损失函数时,objectness分支的损失softmax二分类损失,而分类分支和回归分支的损失将受objectness的影响,即,只有objectness大于阈值
o
p
=
0.03
o_p=0.03
op=0.03的anchor的分类损失和回归损失才会加入总损失,这样就大大减小了背景类。
- 在测试时,预测边界框的score为
3. 总结
- RON同时进行了多尺度特征融合和多尺度特征预测,极大地提高了目标检测的准确度,这种结构后续经过些许修改,而成为了著名的FPN。
- RON引入Objectness Prior自动地解决具体应该由哪一层特征的哪个anchor来预测某个物体,由此也缓解了由基于IoU的label assigment所带来的正负样本不平衡问题。