论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带ROI池化的目标检测算法。在VOC和COCO上的小物体检测最大有5~6%mAP提升,在Tsinghua-Tencent 100K上的小物体检测则最大有约9点F1提升
来源:晓飞的算法工程笔记 公众号
论文: Better to Follow, Follow to Be Better: Towards Precise Supervision of Feature
Super-Resolution for Small Object Detection
- 论文地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Noh_Better_to_Follow_Follow_to_Be_Better_Towards_Precise_Supervision_ICCV_2019_paper.pdf
Introduction
目前检测算法的研究取得了很大的进步,但仍然面临小物体、遮挡物体和不完整物体的检测问题。论文专注于接近proposal-based检测算法的小物体检测问题,认为小物体检测问题的主要原因在于小物体在特征图上的信息太少
特征超分辨(feature-level super-resolution)是一个很不错的增强小物体特征信息的方法,该方法的关键在于构造有效的高分辨率特征直接指导generator的训练。有效的获取方法是通过缩放原图然后进行特征提取,取对应的区域的特征作为训练目标,这样能够有效地保留目标的上下文信息。论文发现高低分辨率特征的相对感受域并不是跟缩放比例一致的,而保持相对感受域大小对超分辨训练很重要,如图1所示,即要根据相对感受域变换对目标区域进行缩放
论文的主要贡献如下:
- 考察现有的用于小物体检测的特征超分辨方法,总结其作用的关键点主要有两点:(i) 使用高分辨率的目标特征作为监督信号 (ii) 输入特征和目标特征在原图上的相对感受域大小需要匹配
- 提出新的特征超分辨率方法,可以用于任何带ROI特征池化的proposal-based检测器。目标生成器与主干网络共享权重,使用空洞卷积,另外好提供了迭代式(iterative)的方法来产生超分辨特征
- 从实验来看,该方法不仅有效增强小物体检测,对中大物体检测也有促进,在Tsinghua-Tencent 100K数据集达到SOTA
Mismatch of Relative Receptive Fields
为了说明感受域不对等的问题,论文举了图2的例子,其中需要注意的是$R_w$为特征图上一个点对应的感受域,即连续提取特征所涉及的区域,非stride
对于图2中的例子,ROI对应的特征的绝对感受域大小(ARF)如公式1
相对感受域大小(RRF)如公式2,即公式1除以原图大小
假设对输入进行0.5倍下采样,则原图和缩放后的图片的相对感受域比例如公式3,$c=R_W /D$是个常数。可以看到,若$w$增大,DRRF会趋向1,若$w$减小,DRRF会趋向2,即小物体在高低分辨率的图片中的感受域可以有接近两倍的差异。对于ResNet-50的Faster R-CNN,$R_W=291$,$D=16$,则$DRRF_{1/2}(4,1600)\approx 1.8$
Our Approach
论文的方法主要通过超分辨增强小目标的特征,基于两个关键点:(i) 超分辨生成器的直接监督训练 (ii) 使用空洞卷积来匹配高低分辨率特征图的感受域
超分辨模块主要为GAN模型,在基础的检测模型上添加了四个组件:
- SR feature generator,作为GAN模块的生成器,生成高分辨率特征
- SR feature discriminator,作为GAN模块的辨别器,辨别来自generator和SR target extractor的特征图
- SR target extractor,提供准确率超分辨特征目标指导GAN训练
- small predictor,替代原模型的预测器(large predictor),预测来自SR feature extractor的小目标特征图,小目标定义的阈值为Tsinghua-Tencent($32\times 32$)、VOC/COCO($96\times 96$)
Super-resolution Target Extractor
定义原图为$I{1.0}$,下采样0.5倍的图为$I{0.5}$,$F_i{1.0}$为原图第$i$个ROI池化后的特征,上一节说到不能直接用$F_i{1.0}$作为$F_i{0.5}$的超分辨目标,需要获取更合适的高分辨特征目标$T_i{1.0}$,与$F_i^{0.5}$有类似的感受域。因此,提出额外的CNN特征提取器(super-resolution target extractor)来生成$T_i^{1.0}$,结构如图3,为了生成一样的特征,与CNN主干共享权重
常规CNN中核大于1的卷积和池化操作都会增大感受域,SR target extractor需要匹配感受域的增大比例,调整每层的RRF。对于无参数的池化操作,可以直接增大核的大小,而对于卷积操作,增大卷积核则会导致权重跟原CNN不一致。因此,论文将对应主干的卷积核大于1的卷积改为扩张率为2空洞卷积,在保持权重一致的情况下增大感受域。另外对于步长不为1的卷积操作,直接使用仿照使用空洞卷积会导致像素被跳过,如图4b。因此,论文在空洞卷积后面加入池化层来解决匹配主干上步长不为1的卷积操作,如图4c
总而言之,SR target extractor包含空洞卷积操作和池化操作来匹配缩小图片上扩大的感受域,$T_i{1.0}$比$F_i{1.0}$更适合作为高分辨率目标,而且$T_i^{1.0}$包含更多对小物体检查有用的上下文信息
Super-resolution Feature Generator
特征超分辨模块为生成对抗网络(GAN),目的是将小目标的池化特征$F_i{1.0}$转换为超分辨处理的特征$S_i{1.0}$。为了获取高低像素特征对进行训练,将原图下采样0.5倍,获取第$i$层特征$F_i^{0.5}$和SR target extractor生成的目标特征$T_i^{1.0}$
由于$F_i^{0.5}$只包含了小物体的粗粒度且低频(理解为变化小)的信息,因此需要结合前面层(sub layer)的特征$F_{sub,i}{0.5}$。如图5所示,超分辨特征生成器通过迭代式地精调特征$F_i{0.5}$,最终生成与特征$T_i{1.0}$相似的特征$S_i{0.5}$
为了让生成器符合预期,增加公式2的特征级损失函数
对于超分辨特征辨别器,使用多层感知机(3层),目标是能够辨别$T_i{1.0}$和$S_i{0.5}$,而生成器是将$F_{i}{1.0}$生成为难以与$T_i{1.0}$区分开的$S_i^{0.5}$,两者结合起来最小化公式5和6。只有小目标才会过GAN模块,不同数据集不同的阈值,具体阈值见本章开头。为了确保生成的特征对最终的结果有用,在经过GAN模块后,将超分辨特征输入到small predictor,计算分类损失$\mathcal{L}{cls}$和定位损失$\mathcal{L}{loc}$对GAN进行fine-tuning
Training
首先训练基础检测网络,包含主干特征提取、RPN和large predictor。然后冻结主干特征提取和RPN进行GAN模块的训练,生成器通过加权$\mathcal{L}{gen}$、$\mathcal{L}{cont}$、$\mathcal{L}{cls}$和$\mathcal{L}{loc}$进行训练,而辨别器则使用$\mathcal{L}_{dis}$。同时,small predictor使用特征$S_i^{1.0}$进行训练。SR目标特征提取使用主干特征提取进行初始化,而small predictor使用large predictor进行初始化。当生成器和辨别器收敛后,冻结其它模块进行small predictor和large predictor的fine-tune,继续训练能够保证预测器能够适应其输入的尺寸
Inference
推理时,若ROI是大目标,则使用large predictor进行预测,若ROI是小目标,则使用SR特征生成器对其进行特征处理,然后在使用small predictoe进行预测
Experiments
Results on Tsinghua-Tencent 100K
这是个交通标志的数据集,若IoU大于0.5则认为正确,在不同的主干网络上添加论文提出的方法进行对比,结果如表1
与SOTA小目标检测算法进行对比
Results on PASCAL VOC and MS COCO
Comparison of Super-resolution Methods
对比不同超分辨方法的结果,表4的分别为不进行超分辨、去掉$\mathcal{L}_{cont}$、使用主干特征提取生成目标特征以及论文的完整方案
Qualitative Results
Conclusion
论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带ROI池化的目标检测算法。在VOC和COCO上的小物体检测最大有5~6%mAP提升,在Tsinghua-Tencent 100K上的小物体检测则最大有约9点F1提升
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】