目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

TrientNet: 探索感受野对目标检测准确率的影响

论文 2019:Scale-Aware Trident Networks for Object Dectection

一、对多尺度目标进行检测的探索

1.相关研究

​ 在目标检测中,目标的尺度变化是影响检测结果的重要因素,与尺度变化相关的研究有很多,大致分为两类:

1)multi-scale imgae pyramids 多尺度图像金字塔

​ 解决多尺度目标最直接的方法是输入多尺度的图像,也就是通过缩放图像实现不同尺度的检测,这的确是种有效的方法,但是会增加检测时间,实际项目难以应用。

例子:

​ SNIP, SNIPER, AutoFocus是优化了计算过程,但速度仍不够快。

2)multi-scale feature pyramids 多尺度特征金字塔

​ 这是对第一种方法的近似,利用不同层的不同尺度的特征图进行检测。输入的图像是单尺度的,但是因为网络中的特征是多尺度的,对应多种大小的感受野,所以利用不同大小的特征,可以近似地完成对图像的多尺度检测。

​ 缺点:在图像金字塔中,多种尺度的图像通过相同的网络,所以对于不同尺度,这种算法是公平的;而在特征金字塔中,小尺度使用小感受野的低层特征,大尺度目标使用高层特征,高层特征来自更深的网络,能力更强,所以它们是不公平的。

例子:

​ SDD利用不同层的多尺度特征图,在每一个层上进行检测。

​ FPN在低层与高层之间建立了通路。

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

2.对感受野的探索

​ 对于网络的骨干(backbone)来说,影响网络性能的因素大致有下采样率,网络深度,感受野。对于前两者的研究比较多,而直接研究感受野影响的实验比较少,作者利用基于ResNet-C4的Faster R-CNN,通过改变其感受野,探索了检测器的性能。

1)前提知识

感受野

感受野一个特定CNN的特征在输入空间中看到的区域。

​ 我们可以将感受野理解为特征图的一个元素的计算受输入图像中某个区域的影响,这个区域就是感受野。

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

例如上图:假设L1的感受野大小是 1 × 1 1\times 1 1×1,则L2是 3 × 3 3\times 3 3×3,L3是 5 × 5 5\times 5 5×5,如果再增加一个 2 × 2 2\times 2 2×2的池化层,则感受野是 10 × 10 10\times 10 10×10

普通的卷积如何增大感受野

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

普通的 3 × 3 3\times 3 3×3卷积

​ 如果我们想使输出大小一定的情况下,扩大感受野,标准操作时首先进行池化操作,再进行上采样,增大分辨率。

​ 缺点:在分辨率先减小再增大的过程中,有一些信息被丢失了。

dilated convolution 空洞卷积/膨胀卷积

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

dilated rate=2 的空洞卷积

​ 在卷积是添加空洞,可以明显看到感受野增大的同时,没有丢失信息。

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

​ 这是dilated rate=1, 2, 4,卷积的效果,虽然结果都是9个元素,但是感受野明显不同,dilated rate越大,感受野增大越多。

d i l a t e d r a t e = d s dilated rate=d_s dilatedrate=ds表示插入 d s − 1 d_s-1 ds1个0,一个 3 × 3 3\times 3 3×3的空洞卷积与 k e r n a l s i z e = 3 + 2 ( d s − 1 ) kernal size=3+2(d_s-1) kernalsize=3+2(ds1)的普通卷积的感受野大小相同。

2)测试感受野对准确率的影响

​ 作者使用基于ResNet-C4的Faster R-CNN检测器,通过设置ResNet中的残差块的dilated rate为1, 2, 3,得到了如下的准确率。

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

右半部分分别为平均准确率,在小、中、大目标上的准确率

​ 我们可以看出,dilated rate增大,感受野增大,大目标的准确率增大,小目标的准确率下降。

二、Trident Network

1.三种技术

​ 在上述实验中,我们知道了通过dilated rate调整感受野可以增大对大目标的检测准确率,但是这对小目标不是很友好,那么就考虑在网络中构建并行的结构,大目标对应大感受野,小目标对应小的感受野。

​ Trident Network设计思路如下图:

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

1)Multi-branch Block

​ 构建3个并行的残差块,其中 3 × 3 3\times 3 3×3卷积层的dilated rate分别设置为1, 2, 3,由此得到一个multi-branch block。
目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

2)共享权重

​ 如果仅仅采用并行的结构,网络的复杂度会大大增加,带来了过拟合的隐患,所以考虑让并行的三个分支共享参数,仅仅是dilated rate不同,那么多种尺度目标的信息就被包含在了一套参数中。

3)考虑尺度的训练方式

​ 看完上面两点可能有点疑惑,它是如何既使用3分支的结构,又能使它们共享参数,答案就是通过将目标的ground-truth box按照大小分为小、中、大三类,在训练时,遇到小目标就是用d=1的分支,大目标用d=3的分支,由此类推。

​ 具体方法就是对分支设置了人工设置了边界值 l i , u i l_i, u_i li,ui,当目标框的宽高在 l i ⩽ w h ⩽ u i l_i\leqslant \sqrt{wh}\leqslant u_i liwh ui内,就使用对应的dilated rate训练,而三种大小的目标训练的都是同一组参数。

​ 共享权重的一个隐含的优点就是在测试时,不需要通过三个分支,只要使用中间的分支即可,因为三种尺度的信息是共享的。

2.在COCO数据集上的实验

1)验证技术带来的提升

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

2)与其他网络的比较

目标检测 TridentNet 利用dilated rate的分支结构使网络提高对多种尺度目标的学习能力

三种TridentNet分别是,不使用其他提高准确率技术的"最朴素"的网络,加入其他技术的网络,在第二种之上又使用图像金字塔的网络。

三、一些思考

尺度的重要性。

”注意力“。

四、参考

Scale-Aware Trident Networks for Object Detection

目标检测网络之三叉戟TridentNet

增大图像感受野方法的总结

彻底搞懂感受野的含义与计算

TridentNet: 处理目标检测中尺度变化新思路