代码地址:TridentNet
1. 概述
导读:对于检测网络来说网络的深度、stride大小与感受野会直接影响检测性能,对于网络的深度与stride大小已经有很多前人的工作在里面了,这篇文章从感受野的角度去优化检测网络(着力于不同的目标尺度),从而在Faster RCNN的基础上进行对应的改进提出了TridentNet。该网络在一个backbone上添加一个平行的多分支结构(分支上的参数共享,使用不同膨胀系数获取不同大小的感受野),之后使用SNIP文章中对不同目标分开训练和预测的方式适应不同尺度范围的目标(这个思路是不是有点像ASPP、RFBNet呢?)。这篇文章的算法在COCO数据上使用backbone为ResNet-101的网络实现了48.4的mAP。
在检测任务中不同尺度大小的目标会给检测带来难度,对于不同大小的目标像图像金字塔与特征金字塔是典型的思路,特别是特征金字塔(FPN)在现有的检测算法框架下基本上成为了标配,但由于FPN网络对于不同尺度目标的表达能力不尽相同,这在一定程度上使得PFN达不到图像金字塔的性能。
其实这两个尺度适应的方法都理解为从不同的感受野上去表达不同尺度上的目标。这篇文章也是从感受野的角度去解决不同尺度范围的目标对于检测带来的影响,而且这里使用的思路是使用共享参数的多分支的膨胀卷积去实现的。这里将文章的方法与图像金字塔、特征金字塔进行比较,他们的差异见图1所示:
这篇文章提出的检测算法大致结构如上图1(c)所示,这个算法是在输出特征图上使用不同膨胀系数的卷积去获取不同的感受野,而且这些不同膨胀系数所在的分支权值共享,其输出的预测结果会根据目标的尺度范围给目标划定所在的表达分支。
文章的主要贡献:
- 1)探究了感受野在检测框下的影响;
- 2)对于尺度变化的检测问题提出了TridentNet,这是通过不同感受野多分支结构与对应尺度划分训练(参考SNIP)实现的;
- 3)这里使用在Trident-block中共享参数的形式减少参数量与计算量(只带来了少量的性能损失);
- 4)在标准COCO benchmark数据集下获得了48.4%的mAP,backbone为ResNet-101;
2. 感受野对于检测性能的影响
这里在ResNet-50与ResNet-101的stage4上实验不同膨胀系数(感受野)对于检测性能的影响,其结果见表1所示,其总的结论文小的感受野对于小的目标更友好,大的感受野对大的目标更友好。
基于这个实验结果给出的意见:
- 1)不同尺度目标的检测性能是受网络的感受野影响的,每个不同的尺度都有对应的感受野;
- 2)对于ResNet-101这样