论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带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

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提升





如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

实用,小物体检测的有监督特征级超分辨方法 | ICCV 2019的更多相关文章

  1. SCRDet——对小物体和旋转物体更具鲁棒性的模型

    引言 明确提出了三个航拍图像领域内面对的挑战: 小物体:航拍图像经常包含很多复杂场景下的小物体. 密集:如交通工具和轮船类,在航拍图像中会很密集.这个DOTA数据集的发明者也提到在交通工具和轮船类的检 ...

  2. 『计算机视觉』物体检测之RefineDet系列

    Two Stage 的精度优势 二阶段的分类:二步法的第一步在分类时,正负样本是极不平衡的,导致分类器训练比较困难,这也是一步法效果不如二步法的原因之一,也是focal loss的motivation ...

  3. 物体检测之FPN及Mask R-CNN

    对比目前科研届普遍喜欢把问题搞复杂,通过复杂的算法尽量把审稿人搞蒙从而提高论文的接受率的思想,无论是著名的残差网络还是这篇Mask R-CNN,大神的论文尽量遵循著名的奥卡姆剃刀原理:即在所有能解决问 ...

  4. 物体检测丨浅析One stage detector「YOLOv1、v2、v3、SSD」

    引言 之前做object detection用到的都是two stage,one stage如YOLO.SSD很少接触,这里开一篇blog简单回顾该系列的发展.很抱歉,我本人只能是蜻蜓点水,很多细节也 ...

  5. VC6.0实用小技巧

    VC6.0的若干实用小技巧 .检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键 “Ctrl+]”.如果括号匹配正确, ...

  6. 转-------基于R-CNN的物体检测

    基于R-CNN的物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187029 作者:hjimce 一.相关理论 本篇博文主要讲解2014 ...

  7. 深度学习笔记之基于R-CNN的物体检测

    不多说,直接上干货! 基于R-CNN的物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187029 作者:hjimce 一.相关理论 本 ...

  8. 目标检测——深度学习下的小目标检测(检测难的原因和Tricks)

    小目标难检测原因 主要原因 (1)小目标在原图中尺寸比较小,通用目标检测模型中,一般的基础骨干神经网络(VGG系列和Resnet系列)都有几次下采样处理,导致小目标在特征图的尺寸基本上只有个位数的像素 ...

  9. OpenCV学习 物体检测 人脸识别 填充颜色

    介绍 OpenCV是开源计算机视觉和机器学习库.包含成千上万优化过的算法.项目地址:http://opencv.org/about.html.官方文档:http://docs.opencv.org/m ...

随机推荐

  1. 010-字符串-C语言笔记

    010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...

  2. 在svg文间画图过程中放大缩小图片后,坐标偏移问题

    //鼠标坐标:在SVG经过缩放.偏移.ViewBox转换后,鼠标坐标值 var mouseCoord = { x : ., y : . }; //用户坐标:相对于原始SVG,坐标位置 var user ...

  3. pickle\json,configparser,hashlib模块

    python常用模块 目录 python常用模块 json模块\pickle模块 configparser模块 hashlib模块 subprocess模块 json模块\pickle模块 首先说一下 ...

  4. Daily Scrum 1/12/2016

    Zhaoyang & Yandong: Optimize the speech input interface Fuchen: Code refactor in the NLP module ...

  5. Co-prime 杭电4135

    Given a number N, you are asked to count the number of integers between A and B inclusive which are ...

  6. 实体识别中,或序列标注任务中的维特比Viterbi解码

    看懂这个算法,首先要了解序列标注任务     QQ522414928 可以在线交流 大体做一个解释,首先需要4个矩阵,当然这些矩阵是取完np.log后的结果, 分别是:初始strat→第一个字符状态的 ...

  7. JasperReports入门教程(二):中文打印

    JasperReports入门教程(二):中文打印 背景 在上一篇中我们介绍了JasperReport的基本入门,也展示了一个报表.但是我们的示例都是使用的英文,如果我们把需要打印的数据改为中文会怎么 ...

  8. 获取某个时间开始 之后的 N次[周几,周几]

    废话不多说,直接上菜! 调用函数代码举例 //PS :这里需要注意的是 周日 是 0 !!!!! console.log(getBeforeDate(-10000)) //一万天之后的日期 conso ...

  9. 《Metasploit魔鬼训练营》第一章实践作业

    <Metasploit魔鬼训练营>第一章实践作业 1.搜集Samba服务usermap_script安全漏洞的相关信息,画出该安全漏洞的生命周期图,标注各个重要事件点的日期,并提供详细描述 ...

  10. Linux网络服务第三章远程访问及控制

    1.笔记 655355:端口限制 监听地址:对外提供服务的地址 AllowUsers:仅允许用户登录 DenyUsers:仅禁止用户登录 AllowUsers-用户名-公网地址 ssh/id_rsa. ...