论文:《Scale-Transferrable Object Detection》 CVPR2018
参考文章:https://blog.csdn.net/xh_hit/article/details/79512146
https://blog.csdn.net/DL_wly/article/details/100142415
1、STDN模型介绍
为解决物体检测中的多尺度问题,特别是提高对于小物体的检测效果,一些经典的算法不断出现,例如FPN、DSSD等,通过整合不同尺度的语义特征,在不同尺度的map上做预测,但是这些方法,在提高对于目标物体特别时小物体识别效果的同时由于加入了额外的层,也增大了计算量,影响了检测的实时性。下图显示了目前主流方法与本文方法之间的不同。通过(d)图我们可以发现,本文的scale-transfer module不仅改变了预测层map的尺寸,也改变了部分层的通道数。
针对以上问题,作者提出尺度变换模块(scale-transfer module STM),即获得了不同尺度的语义特征,又没有增加额外的参数,降低检测的速度。其整体框架基于SSD,基础网络采用的是DenseNet-169,DenseNet通过多层连接的方式整合低层和高层信息,其特征提取能力较强。
STDN模型的主要框架如下:
整体网络结构与SSD类似,提取DenseNet-169的最后一个Dense block中的6个concatenate层作为预测的特征层。与SSD直接利用VGG16后几层直接预测不同的是,STDNC则加入了独创的STM,在不增加任何参数和计算量的同时达到基于低分率特征map获得高分率特征map的目的,最终实现整体网络正确率和速度的提升。
2、STM模块简介
STM模块由池化层(Pooling)和尺度转换(scale-transfer)层组成。基础网络DenseNet-169最后一个block的尺寸为9*9,各层之间的通道数不同。为了获取不同尺度的特征map,作者将STM直接嵌入到DenseNet中,具体做法如下:
①Pooling用来获得小尺度的特征map
②尺度转换层通过减少feature maps的通道个数获得大尺度的map,整个过程没有增加任何参数。
参考上图整体模型结构,对于①很好理解,即是一般池化过程获得较小分辨率的map;
对于②则相当于增大的map尺寸而压缩了通道数。
作者在文中说“The scale-transfer layer is an operation of periodic rearrangement of elemenets”,并用了一个看似很深奥的公式表示这一过程。
结合作者给出的一个示意图和网络模型的最后两层非常好理解。
展示的就是增大map,压缩channel的示意。
也就是把信息搁到整张图上去,原本1x1的区域变成了rxr,相当于feature的一个rearrangement。
3、STDN网络信息
4、实验结果
VOC 2007 test:
COCO:
VOC上的速度与精度:
实验结果上来看,兼顾速度与精度。速度优势比较大。