论文标题:Scale-Aware Trident Networks for Object Detection
年份及出处:ICCV 2019
1. 贡献
- 首次指出了不管是图像金字塔,还是SSD、FPN,都是利用不同大小的感受野来检测不同尺寸的物体,并通过实验研究了感受野对目标检测性能的影响。
- 提出了新的目标检测网络TridentNet,该网络有多个分支(3个),每个分支生成尺寸特定的特征图,用于检测特定尺寸的物体。多个分支共享相同的网络结构和参数,但使用不同扩张率的扩张卷积得到了不同感受野的特征图。
- 受SNIP的启发,为了避免受到极端尺寸的物体的影响,提出新的训练策略: scale-aware training scheme。即,每个分支都只由与其感受野相匹配的,尺寸在某一特定范围内的物体来训练。
2. Motivation
TridentNet研究的是目标检测中的尺度变化问题,在此之前研究了感受野对目标检测性能的影响
- 使用Faster R-CNN检测器,以ResNet-C4为backbone(C4表示将RPN连接到ResNet的conv4 stage)。将conv4 stage的所有
3
×
3
3\times3
3×3卷积层全部换成扩张率分别为1、2、3的扩张卷积核。
- 对于同一个Backbone,随着扩张率的增加,感受野也增大,对大目标的检测性能越好,而对小目标的检测性能越差。
- ResNet-50的感受野比较小,增大感受野时,对大物体的影响比较大( A P l AP_l APl显著提升),对于中小物体影响比较小( A P s AP_s APs稍微下降, A P m AP_m APm基本不变)。
- ResNet-101的感受野比较大,继续增大感受野时, A P s AP_s APs和 A P m AP_m APm急剧下降,而 A P l AP_l APl还能有所提升(对应了论文【Understanding the effective receptive field in deep convolutional neural networks】中的理论:有效感受野比理论感受野要小一些。)
- 最适合的感受野大小应该与不同物体的尺寸相对应。小物体对应小感受野,中物体对应中感受野,大物体对应大感受野。
ResNet-101的各项指标均比ResNet-50好,为什么?ResNet-101-1的感受野比ResNet-50-1大,但为什么小目标检测性能更好呢?
使用感受野计算工具Fomoro AI:https://fomoro.com/research/article/receptive-field-calculator.计算各个网络的感受野如下:
网络 | C2 stage(layer 11) | C3 stage(layer 23) | C4 stage(layer 41) | C5 stage(layer 50) |
---|---|---|---|---|
ResNet-50-1 | 35 | 91 | 267 | 427 |
ResNet-50-2 | 35 | 91 | 443 | 603 |
ResNet-50-3 | 35 | 91 | 603 | 763 |
网络 | C2 stage(layer 11) | C3 stage(layer 23) | C4 stage(layer 92) | C5 stage(layer 101) |
---|---|---|---|---|
ResNet-101-1 | 35 | 91 | 811 | 971 |
ResNet-101-2 | 35 | 91 | 1531 | 1691 |
ResNet-101-3 | 35 | 91 | 2251 | 2411 |
- ResNet-101-1的理论感受野比ResNet-50-3大,为什么 A P s AP_s APs更高呢?
- ResNet-101-3的理论感受野比ResNet-50-1大非常多,为什么 A P s AP_s APs也更高呢?
个人认为,尽管感受野太大会使 A P s AP_s APs下降,但ResNet-101的强大特征提取能力弥补了这一缺点,最终表现出来的是:ResNet-101的所有指标均比ResNet-50好。
3. TridentNet
具体来说:
- 利用ResNet的C1~C3 stage来提取特征,这一部分是3个分支共有的部分;
- 把ResNet的C4 stage的多个residual block中的 3 × 3 3\times3 3×3卷积均换成扩张率为1的扩张卷积核(扩张率为1等同于普通卷积),成为检测小目标的分支。
- 把ResNet的C4 stage的多个residual block中的 3 × 3 3\times3 3×3卷积均换成扩张率为2的扩张卷积核,成为检测中目标的分支。
- 把ResNet的C4 stage的多个residual block中的 3 × 3 3\times3 3×3卷积均换成扩张率为3的扩张卷积核,成为检测大目标的分支。
- 各分支除了扩张率不同,其余网络结构均相同,并且各分支参数共享。
参数共享的原因(好处):
- 减小参数量,防止过拟合;
- 参数共享后,参数量和baseline完全相同;
- 在相同特征表示能力的情况下,实现不同特征图具有不同大小的感受野;
- 参数共享使得,任何分支都可以学习到多种尺寸的object,增强对物体尺寸变化的鲁棒性(与SNIP的多尺度训练思想相同)。
注:各分支及与其相连的RPN和Fast R_CNN均参数共享。
提出Scale-aware Training Scheme,增强各分支的尺寸专一性(不同分支检测不同尺寸的目标):
受SNIP的启发,不同感受野的分支将由不同尺寸的物体来训练。
- 小分支:用[0,90]的物体来训练;
- 中分支:用[30,160]的物体来训练;
- 大分支:用[90,无穷]的物体来训练;
4. 实验:
(1)各个部分的有效性分析
- 多分支能提升小中大目标的检测性能,对大目标检测性能的提升更加明显;
- 参数共享能提升小中大目标的检测性能;
- 特定尺寸训练虽然能提升小目标的 A P s AP_s APs,但却降低了大目标的 A P l AP_l APl,原因可能是COCO数据集中大目标比较少,小目标较多,当各分支独立(bd对比)时,大分支欠拟合了;当参数共享(ce对比)时,网络参数倾向与学习检测小目标,使得 A P l AP_l APl比较低。
- 个人认为,参数共享和特定尺寸训练之间的关系以及其对目标检测性能的影响并未得到完全地解释。
(2)分支数量:3分支最好
(3)对哪个stage使用扩张卷积效果最好:C4 stage
(4)对多少个residual block使用扩张卷积效果最好:15个
(5)验证各分支适合检测哪种尺寸的物体:
(6)用哪种尺寸范围划分来训练各个分支
- 作者最后发现不使用特定范围的物体,而使用所有物体来训练,效果更好。也就是说Scale-aware Training Scheme没啥用。
(7)最终性能
注:To fairly compare with SNIP and SNIPER, we apply multi-scale training, soft-NMS, deformable convolutions, large-batch BN, and the 3× training scheme on TridentNet and get TridentNet*.