论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带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. 【论文笔记】张航和李沐等提出:ResNeSt: Split-Attention Networks(ResNet改进版本)

    github地址:https://github.com/zhanghang1989/ResNeSt 论文地址:https://hangzhang.org/files/resnest.pdf 核心就是: ...

  2. 深入理解JS原型与原型链

    函数的prototype 1.函数的prototype属性 *每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为原型对 象) * 原型对象中都有一个属性construct ...

  3. XFS文件系统的备份与恢复

    永久修改主机名:hostnamectl set-hostname oldboy临时修改主机名:hostname xfsdump备份xfsdump -f 备份的文件位置 要备份的分区或者磁盘 免交互备份 ...

  4. 一个好的olap框架

    一.何为一个好的olap框架? 框架大概分为两种: (1)底层技术框架,专注于抽象底层技术,如网络通信netty.中间件kafka等 (2)开发人员框架,专注于提高开发效率,如spring的面向切面和 ...

  5. 运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问

    问题来源 海口-老男人 17:42:43 就是我要运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问 旧报纸 17:43:35 也就是 你的需求为 一个a ...

  6. vue-element-admin执行npm install 报错

    如果你出现这类报错: 那么恭喜你,因为这个问题很好解决. ----------------------- 解决方法: git config --global url."https://&qu ...

  7. 微信小程序标签常见知识点归纳整理

    1. <image src='/images/logo.png' mode='widthFix'></image> mode 属性表示图片随着指定的宽度自动拉伸以显示原图的正确 ...

  8. LeetCode466. Count The Repetitions

    题目链接 传送门 题意 定义一个特殊的串, 现在给出串S1和S2的参数, 问: S2最多可以多少个连接起来扔是S1的子序列, 求出这个最大值 解题思路 注意s1与S1的区别, 可以去看题目描述, 预处 ...

  9. 关于json转义中文

    服务器传递或者程序传递中,不识别读取到的JSON数据中 \u开头的数据. PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 网上很多,但是其实都是错误的,正确的方法是在j ...

  10. 2019-2020-1 20199326《Linux内核原理与分析》第一周作业

    开篇概述 我利用假期的时间自学了实验楼上的Linux基础入门前八个实验的课程,学习过程中遇到了一些小问题.但经过查资料等方式最终还是解决了问题.现将学到的一些知识点总结下来.方便日后复习查看. 1.零 ...