目标检测是很多计算机视觉应用的基础,比如实例分割、人体关键点提取、人脸识别等,它结合了目标分类和定位两个任务。现代大多数目标检测器的框架是 two-stage,其中目标检测被定义为一个多任务学习问题:1)区分前景物体框与背景并为它们分配适当的类别标签;2)回归一组系数使得最大化检测框和目标框之间的交并比(IoU)或其它指标。最后,通过一个 NMS 过程移除冗余的边界框(对同一目标的重复检测)。本文首先综述近年来二维目标检测的优化方向,之后介绍CVPR2019目标检测最新进展,包括优化IoU的GIoU,优化anchor设计的GA-RPN,以及single-stage detection的FSAF。

二维目标检测的优化方向

二维目标检测实现和优化方向包括backbone、IoU、损失函数、NMS、anchor、one shot learning/zero shot learning等。

  • 基于目标检测的backbone和特征提取

目标检测的backbone一般基于ImageNet预训练的图像分类网络。图像分类问题只关注分类和感受视野,不用关注物体定位,但是目标检测领域同时很关注空间信息。如果下采样过多,会导致最后的feature map很小,小目标很容易漏掉。很多基础架构网络,比如ResNet、Xception、DenseNet、FPN、DetNet、R-CNN,PANet、等神经网络提取图像的上下文信息,不断在特征提取方向优化。

  • 基于优化的算法

包括UnitBox,IoU-Net[1],旷视科技ECCV2018有一篇论文是引入IoU-Net,其能预测检测到的边界框和它们对应的真实目标框之间的 IoU,使得该网络能像其分类模块一样,对检测框的定位精确程度有所掌握,神经网络在Backbone引入IoU-Net做边界修订。

  • 基于优化损失函数的方法

包括L1和L2,Focal loss等。

  • 基于优化NMS的方法

包括Soft-NMS,Softer-NMS,以及Relation Netwrok,ConvNMS,NMS Network,Yes-Net等,详细可参看本人一篇笔记《目标检测算法中检测框合并策略技术综述》[2]。

  • 基于Anchor生成的算法

比如Sliding window、Region Proposal Network (RPN) 、CornerNet、meta-anchor等。

  • one-shot learning以及zero shot learning

都属于迁移学习领域主要研究的是网络少样本精准分类问题,单样本学习能力。CVPR2019有一篇基于one-shot learning[7],值得关注。

GIoU

  • Motavation

在目标检测的评价体系中,有一个参数叫做 IoU (Intersection over Union),简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率。具体我们可以简单的理解为: 即检测结果(DetectionResult)与 Ground Truth 的交集比上它们的并集,即为检测的准确率 IoU :

IoU 是目标检测领域最重要的评价尺度之一,特性是对尺度不敏感,主要判断检测框的重合程度。但是对于CNN而言,没有方向信息,无法反馈神经网络的边界回归框应该如何调整。既直接用IoU作为损失函数会出现两个问题:

  1. 如果两个框没有相交,根据定义,IoU=0,不能反映两者的距离大小(重合度)。同时因为loss=0,没有梯度回传,无法进行学习训练。
  2. IoU无法精确的反映两者的重合度大小。如图 1所示,IoU的变化无法反馈定位框的重合度和调整方向。

针对IoU上述两个缺点,本文提出一个新的指标generalized IoU[3](GIoU)如图 2所示。

  • 损失函数设计

GIoU的定义很简单,就是先计算两个框的最小闭包区域面积,再计算IoU,再计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用IoU减去这个比重得到GIoU。GIoU有如下5个特点

1.与IoU相似,GIoU也是一种距离度量,满足损失函数的基本要求

2.GIoU对scale不敏感

3.GIoU是IoU的下界,在两个框无线重合的情况下,IoU=GIoU

4.IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。

5.与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。

图 1 IoU和GIoU评价对比

图 2 GIoU计算过程

  • 优缺点分析

GIoU loss可以替换掉大多数目标检测算法中bounding box regression,本文选取了Faster R-CNN、Mask R-CNN和YOLO v3 三个方法验证GIoU loss的效果。可以看出YOLOv3在COCO数据集有明显优势,但在其他模型下优势不明显,作者也指出了Faster rcnn和mask rcnn效果不明显的原因是anchor很密,比如 Faster rcnn 2k个Anchor Boxes,各种类型覆盖应有尽有,不仅仅是根据IoU和NMS挑选合适的检测框,而且需要对检测框进行有方向的修订。

总体来说,文章的motivation比较好,指出用L1、L2作为regression损失函数的缺点,以及用直接指标IoU作为损失函数的缺陷性,提出新的metric来代替L1、L2损失函数,从而提升regression效果,想法简单粗暴,但相比state-of-art没有明显的性能优势。

  • GA-RPN

GA-RPN[4]是香港中文大学,商汤和亚马逊联合提出,在COCO Challenge 2018 检测任务的冠军方法中,在极高的 baseline 上涨了1个点。

GA-RPN(Guided Anchoring)是一种新的anchor 生成方法,即通过图像特征来指导anchor 的生成。通过CNN预测 anchor 的位置和形状,生成稀疏而且形状任意的 anchor,并且设计Feature Adaption 模块来修正特征图使之与 anchor精确匹配。GA-RPN相比RPN减少90%的anchor,并且提高9.1%的召回率,将其用于不同的物体检测器Fast R-CNN, Faster R-CNN and RetinaNet,分别提高 检测mAP 2.2%,2.7% ,1.2%。

  • Motavation

Anchor 是目标检测中的一个重要概念,通常是人为设计的一组框,作为分类(classification)和框回归(bounding box regression)的基准框。基于无论是单阶段(single-stage)检测器还是两阶段(two-stage)检测器,都广泛地使用了 anchor。

常见的生成 anchor 的方式是滑窗(sliding window)和RPN(region proposal network),two-stage 基于RPN首先定义 k 个特定尺度(scale)和长宽比(aspect ratio)的 anchor,single-stage 使用sliding window在特征图上以一定的步长滑动。这种方式在 Faster R-CNN,SSD,RetinaNet 等经典检测方法中被广泛使用。

基于RPN和sliding window的anchor生成方式有两个缺点:(1)anchor的尺度和长宽比需要预先定义,针对不同类型的检测任务需要调整这些超参数,预先定义好的 anchor 形状不一定能满足极端大小或者长宽比悬殊的物体。(2)为了保证召回率,需要生成密集的anchor,引入过多负样本同时影响模型的速率。

在一般拍摄图像中,一般检测目标是不均匀分布且稀疏的。检测目标的尺度和图像内容、位置和几何形状相关。基于图像的先验知识,论文提出稀疏的anchor生成方式:首先生成可能包含目标的子区域中心位置,然后在图像不同位置确定尺度和长宽比,既稀疏,形状根据位置可变的 anchor。

论文提出了anchor的设计两个要求

  1. alignment,为了用卷积特征作为anchor的表示,anchor的中心需要和特征图的像素中心比较好地对齐

  2. consistency,不同位置(不同卷积层)对应的anchor的形状和大小应该一致。

  • 网络架构

CornerNet模型预测目标边界框的左上角和右下角一对顶点,既使用单一卷积模型生成热点图和连接矢量,而论文提出的GA-RPN,直接预测anchor 的位置和形状(长宽)。生成anchor过程可以分解为两个步骤,anchor 位置预测和形状预测。

如图 3所示GA-RPN,其backbone基于FPN,而Guided anchoring生成anchor。Guided anchoring包括两个并行的分支:anchor Generation分别预测 anchor 位置和形状,然后结合在一起得到 anchor。Feature Adaption 模块进行 anchor 特征的调整,得到新的特征图提供之后的预测(anchor 的分类和回归)使用。

图 3 GA-RPN网络架构

  • 位置预测

位置预测分支的目标是预测那些区域应该作为中心点来生成 anchor,是一个二分类问题,预测是不是物体的中心。FPN特征图经过位置预测子网络生成位置得分图。由1x1卷积和sigmoid激活函数组成。更深的卷积网络可以实现更精确的位置信息,但是1x1卷积实现效率和精确度的平衡。通过位置得分图阈值的过滤,可以舍弃90%的anchor同时保持较高的召回率。

我们将整个 feature map 的区域分为物体中心区域,外围区域和忽略区域,大概思路就是将 ground truth 框的中心一小块对应在 feature map 上的区域标为物体中心区域,在训练的时候作为正样本,其余区域按照离中心的距离标为忽略或者负样本。通过位置预测,我们可以筛选出一小部分区域作为 anchor 的候选中心点位置,使得 anchor 数量大大降低。在 inference 的时候,预测完位置之后,我们可以采用 masked conv 替代普通的 conv,只在有 anchor 的地方进行计算,可以进行加速。

  • 形状预测

针对每个检测出的中心点,设计一个最佳的anchor box。最佳anchor box的定义为:与预测的候选中心点的邻近ground truth box产生最大IOU的anchor box。

形状预测分支的目标是给定 anchor 中心点,预测最佳的长和宽,这是一个回归问题。论文直接使用 IoU 作为监督,来学习 w 和 h。无法直接计算w 和 h,而计算 IoU 又是可导的操作,所有使用基于bounded IoU Loss网络优化使得 IoU 最大。

作者认为,直接预测anchor box的宽高的话,范围太广不易学习,故将宽高值使用指数及比例缩放( ω =σ·s·e^(dw) ,h=σ·s·h^(dw))进行压缩,将搜索范围从[0,1000]压缩至[-1,1]。

  • Feature Adaption

由于每个位置的anchor形状不一样,所以不能直接利用F_I进行1x1的卷积预测每个anchor的结果,而应该对feature map进行adaption,也就是大一点的anchor对应的感受野应该大一点,小一点的anchor对应的感受野应该小一点,于是作者想到用可变形卷积的思想。先对每个位置预测一个卷积的offset(1x1卷积,输入为shape prediction),然后根据该offset field进行3x3的可变形卷积就完成了对feature map的adaption。通过这样的操作,达到了让 feature 的有效范围和 anchor 形状更加接近的目的,同一个 conv 的不同位置也可以代表不同形状大小的 anchor了。

  • 优缺点分析

优点:

1、论文提出anchor设计的两个准则:alignment 和 consistency,指导基于anchor优化的方向。采用位置预测和形状预测两个分支,不需要像FPN预先设置尺度和长宽比,同时使用可变形卷积对feature map调整,生成高质量低密度的proposal,提高IoU的阈值进行训练。

2、提出了一种新的anchor策略,用于产生稀疏的任意形状的anchor;

3、论文提出的GA-RPN可以完全替代RPN,在Fast R-CNN, Faster R-CNN and RetinaNet等模型基础上提高目标检测模型的精度。

缺点:

1、论文假设图像中的目标是稀疏的。如果是稠密图像,比如车站或广场的拥挤人群,检测效果有待检验。

2、每一个点只产生一个anchor,那么对于那些目标中心重合,即一个点需要负责检测两个目标,似乎无法处理。

3、采用deformable卷积会相对地降低速度,同时根据DCN v2的分析,在deformable卷积中加入可调节的机制可能会更好。

  • FSAF

论文来自于CMU,基于single-stage提出的FSAF模型[6],在COCO目标检测数据集实现single-stage state-of-the-art,44.6% mAP,且推断延时没有增加。

  • Motivation

物体的多尺度信息一直是目标检测的难点和痛点。CNN的低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。Feature Pyramid Network(FPN)它利用多级的feature map去预测不同尺度大小的物体,其中高层特征带有高级语义信息和较大的感受野,适合检测大物体,浅层特征带有低级的细节语义信息和较小的感受野,适合检测小物体。FPN逐步融合深层特和浅层特征,使得逐步增加浅层的特征的高级语义信息来提高特征表达能力,提升检测效果,已经成为目标检测领域的标配。

但是FPN有一个隐藏条件:如何选择合适feature map负责检测物体。在GA-RPN提出两个原则

1.alignment,为了用卷积特征作为anchor的表示,anchor的中心需要和特征图的像素中心比较好地对

2.consistency,不同位置(不同卷积层)对应的anchor的形状和大小应该一致。two-stage通过各种pool(Faster R-CNN使用RoI pooling,Mask R-CNN使用RoIAlign)实现特征图的对齐,而single-stage一般通过anchor size的方式选择合适的anchor。

如图 4所示,60x60大小的car和50x50大小的car被分在了不同feature map,50x50和40x40的被分在了同一级feature map,无法证明feature level选择的问题。

图 4 feature level选择

论文提出的FSAF模块就是为了解决特征图选择和重叠anchor选择,既FSAF模块让每个anchor  instance自动的选择最合适的feature。

  • 网络架构

图 5 FSAF模块网络架构图

文章提出的FSAF以RetinaNet为主要结构,添加一个FSAF分支图 5和原来的class subnet、regression subnet并行,可以不改变原有结构的基础上实现。在class subnet分支添加3x3卷积层(K个滤波器),得到WxHxK的特征图,预测K类目标所属类别的概率。regression subnet分支添加3x3卷积层(4个滤波器),得到WxHx4的特征图,预测回归框的偏移量。

FSAF还可以集成到其他single-stage模型中,比如SSD、DSSD等。

FSAF的设计就是为了达到自动选择最佳Feature的目的,如图 6所示,最佳Feature是由各个feature level共同决定。

图 6 Online feature selection mechanism

在训练过程,每个anchor通过FPN各卷积层,经过anchor-free计算focal loss和IoU loss,最佳的pyramid level通过最小化focal loss和IoU loss实现。

在推断时,直接选择高置信度的特征金字塔的level即可实现。

论文提出FSAF模型在COCO数据集实现single-stage state-of-the-art,44.6% mAP,且推断时延没有增加,详细实验数据可参看原论文。

  • 优缺点分析

1、论文提出的anchor-free,是说不在根据anchor size提取特征,而是根据FSAF模块自动选择合适的feature,既anchor (instance) size成为了一个无关的变量。不是说不在使用anchor的方式。

2、FSAF可以集成到其他single-stage模型中,比如SSD、DSSD等。

参考文献

[1]B. Jiang, R. Luo, J. Mao, T. Xiao, and Y. Jiang. Acquisition of localization confidence for accurate object detection.In Proceedings, European Conference on Computer Vision (ECCV) workshops, 2018.

[2]目标检测算法中检测框合并策略技术综述. https://zhuanlan.zhihu.com/p/48169867

[3]Hamid Rezatofighi,Nathan Tsoi1 JunYoung Gwak, Amir Sadeghian, Ian Reid, Silvio Savarese. Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression. In Proc. of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2019.

[4]Jiaqi Wang, Kai Chen,Shuo Yang, Chen Change Loy,Dahua Lin. Region Proposal by Guided Anchoring. In Proc. of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2019.

[5]CornerNet:目标检测算法新思路.https://zhuanlan.zhihu.com/p/41825737

[6]Chenchen Zhu,Yihui He,Marios Savvides.Feature Selective Anchor-Free Module for Single-Shot Object Detection. In Proc. of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2019.

[7]Leonid Karlinsky, Joseph Shtok, Sivan Harary.RepMet: Representative-based metric learning for classification and few-shot object detection. In Proc. of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2019.

[8]Peiliang Li, Xiaozhi Chen, Shaojie Shen. Stereo R-CNN based 3D Object Detection for Autonomous Driving. In Proc. of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2019.

CVPR2019目标检测方法进展相关推荐

  1. CVPR2019目标检测方法进展综述

    CVPR2019目标检测方法进展综述 文章目录: 一.二维目标检测的优化方向 1.基于目标检测的backbone和特征提取 2.基于优化的算法 3. 基于优化损失函数的方法 4.基于优化NMS的方法 ...

  2. 检测到目标服务器启用了trace方法_CVPR2019目标检测方法进展综述

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

  3. 从数据集到2D和3D方法,一文概览目标检测领域进展

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:深度学习这件小事 目标检测一直是计算机视觉领域中一大难题 ...

  4. CVPR2019目标检测论文看点:并域上的广义交

    CVPR2019目标检测论文看点:并域上的广义交 Generalized Intersection over Union Generalized Intersection over Union: A ...

  5. SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects(摇杆旋转目标检测方法)

    文章目录 SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects(遥感旋转目标检测方法) 一.论文摘 ...

  6. 【目标检测】0、目标检测方法发展综述

    引言 目标检测: 目标检测的目标是确定某张给定图像中是否存在给定类别(比如人.车.自行车.狗和猫)的目标实例:如果存在,就返回每个目标实例的空间位置和覆盖范围(比如返回一个边界框). 目标检测的意义 ...

  7. 深度学习目标检测方法综述

    参考:https://blog.csdn.net/Standing_On_Giant/article/details/60333329 参考:https://blog.csdn.net/xiaohu2 ...

  8. 【转】CVPR2019目标检测汇总

    转自 https://blog.csdn.net/qq_42278791/article/details/94398159 (自己看用) 参考:https://blog.csdn.net/weixin ...

  9. SAR图像飞机目标检测识别进展

    目标检测与识别是高分辨合成孔径雷达(SAR)领域的热点问题.机场上飞机作为一种典型目标,其检测与识别具有一定的独特性.在检测与识别的过程中,如何将深度学习和目标电磁散射机理结合.提高网络或模型的泛化能 ...

最新文章

  1. Facebook称其新的AI技术可以更快发现仇恨言论
  2. 怎么下载安装激活Adobe After Effects CC 2019教程
  3. DL之R-FCN:R-FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  4. 为什么大多数程序员都抽烟_为什么大多数重新设计都会失败
  5. Ubuntu 12/14 个性化配置
  6. 无心剑中译迪米特利·马丁《我是谁》
  7. 2.2 logistic 回归
  8. 有图形化显示,继承WebControl类
  9. 谢旭升《操作系统教程》课后习题解答
  10. is this mysql server_mysql出现is not allowed to connect to this mysql server异常的解决办法
  11. Spring使用json转换工具
  12. 如何选择和使用现货白银
  13. Java最新面试题及答案
  14. word2019输入文字时很卡解决方法。
  15. linux如何配置java环境_linux虚拟机配置java环境
  16. 微信营销大师是一款什么软件
  17. Vegas如何实现多点抠图?
  18. ffmpeg音频解码重采样(立体声转成单声道)
  19. 【学习总结】总结一些书籍、Blog、网站等资料汇总
  20. 非财务人员财务培训_为非财务领导的公司工作

热门文章

  1. 面向对象之猫抓老鼠小游戏
  2. Mac 格式化TF卡,获取原来的容量大小。
  3. svg中元素的层级关系
  4. 究竟什么是项目管理?它的主要内容是什么呢?
  5. 双 JK 触发器 74LS112 逻辑功能。真值表_数字电路学习笔记(十一):时序逻辑...
  6. window自带的计算机应用程序,Win10系统电脑不小心将自带的应用程序卸载了该怎么恢复...
  7. python爬取京东商品信息代码_爬取京东商品信息
  8. html背景图片自适应窗口大小
  9. DevOps Master课程总结:知否知否,应是DevOps肥ITIL瘦(送ITIL4前生今世)
  10. 振动焊机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告