“百面深度学习”系列连载 第八期

物体检测模型的发展概况

引言

物体检测问题是计算机视觉中极为重要的基础问题,也是解决场景理解、图像描述(Image Captioning)、实例分割(Instance Segmentation)、物体跟踪等问题的基础。物体检测期望判断输入图像中是否存在给定类别的物体,如果存在,则以包围框(Bounding Box)坐标的形式就给出该物体在图像中的位置和范围 [1] [2] 。物体检测模型主要分单步检测模型和两步检测模型两大类,本小节分析和对比了这两大类模型架构在性能和效率上的不同点、给出了原理解释,并介绍了其各自的典型模型和发展前沿,以帮助读者对物体检测建立一个较为全面的认识。

问题1

什么是单步(one-stage)和两步(two-stage)物体检测模型?请列举几个典型的模型。

分析与解答

这两类模型的定义如下:

单步物体检测模型,指没有独立的候选区域提取(Region Proposal, RP)过程,直接由输入图像得到其中存在的给定类别物体包围框位置和其所属类别的模型,其代表有OverFeat [3] ,SSD(Single-shot multibox-detector) [4] ,YOLO(You Only Look Once) [5] [6] [7] 系列模型,RetinaNet [8] ,RefineDet [9] ,CornerNet [10] 等。

两步物体检测模型,指有独立的候选区域提取过程,先对输入图像找到给定类别物体可能存在的位置(提取候选区域),再对候选区域进行位置和大小的修正并对其分类,最后输出包围框位置和其所属类别的模型。其代表有R-CNN [11] ,SPPNet [12],Fast R-CNN [13] ,Faster R-CNN [14] ,R-FCN [15] ,Mask R-CNN [16] 等。 Fig. 1 [17] 总结了截至2018年中期典型物体检测模型(包含单步和两步)的发展历程。

百面深度学习 | 第八期:物体检测模型的发展概况

Figure 1: 物体检测模型的发展

问题2

单步和两步模型在性能上有什么差异?

分析与解答

通常来说,单步模型在计算效率上有优势,两步模型在模型精度上有优势。综述文章 [18] 对比了Faster R-CNN和SSD等模型在速度和精度上的差异,如 Fig. 2 所示,SSD在推断耗时较小时拥有最高的精度,而当计算量变大时就不如Faster R-CNN等两步模型了。

百面深度学习 | 第八期:物体检测模型的发展概况

百面深度学习 | 第八期:物体检测模型的发展概况

Figure 2: 物体检测模型精度和速度的对比

问题3

什么导致了这种差异?

分析与解答

学界一般认为导致单步和两步模型性能和效率上差异的原因有:

单步模型多基于预设的锚点框(Anchor Box)来捕捉图像中各个位置可能的存在物体,因此会对对数量庞大的锚点框进行是否含有物体及物体所属类别的密集分类。由于单张图像中实际含有的物体数目远小于锚点框的数目,因此在训练这个分类器时正负样本数目是极不均衡的,这会导致分类器训练效果不佳,RetinaNet [8] 中通过提出了Focal Loss来尝试抑制负样本对计算最终Loss的贡献以提升网络的整体表现。而反观两步模型,由于其含有独立的候选区域提取步骤,因此在这一步中可以筛选掉大部分不含有物体的区域(负样本),在传递给第二步进行分类和候选框位置/大小修正时,正负样本的比例已经比较均衡,不存在类似的问题。

两步模型在候选区域提取的过程也会对候选框的位置和大小进行修正,因此在进入第二步前,候选区域的特征已被对齐,这样有利于为第二步的分类提供质量更高的特征。而且两步模型在第二步中候选框会被再次修正,因此一共有两次包围框的修正机会,这带来了更高的定位精度和更高的模型复杂度。如Faster R-CNN在第二步对候选区域进行分类时,该部分的算法复杂度线性正比于预设的候选区域数目。Light-Head R-CNN [19] 文章中提出了通过精简特征网络最后一层后用于提取候选区域的卷积层的通道数,并通过行列分解的方法降低计算量,来优化两步模型的计算量。

问题4

目前单步和两步模型的SOTA(19年2月)分别是什么?

简单介绍一下你的了解。

分析与解答

目前单步模型的SOTA有CornerNet [10] ,RefineDet [9] ,ExtremeNet [20] 等,它们各自的大致思路如下:

CornerNet 提出了一种有别于现有的通过回归图像中物体包围框四个角点坐标的做法的物体检测框架,文章认为物体检测可以通过检测两两成对的包围框左上和右下角点来完成,把现有的回归问题转化为一个近似于关键点检测的问题。具体的做法是,CornerNet输出两个有c个通道,大小为w×h的热图(Heatmap),w和h为输入图像的宽和高。这两个热图上每一点对应了一个长度为c的Embedding向量,分别用于表征这个点是否为图像中属于给定类别的物体的包围框的左上或右下角点,以及它们的配对信息。配对的左上和右下角点的Embedding向量在Embedding空间中是紧邻的。为了更好的捕捉角点信息和汇总特征,文章中同时提出了corner pooling结构。

RefineDet 则是大家比较熟悉的基于多尺度特征融合的物体检测网络,它类似于两步检测模型,不过没有独立的候选区域提取步骤而是一个整体的网络。它有锚点修正单元(Anchor Refinement Module, ARM),迁移连接块(Transfer Connection Block, TCB),和利用回归实现检测的物体检测模块(Object Detection Module, ODM)。ARM相当于两步模型中的RPN,用于移除没有物体的锚点框并适当修正锚点框的位置和大小,和RPN不同的是这里的ARM应用的是多尺度特征,类似于空间金字塔FPN模型。TCB则相当于DSSD(Deconvolutional Single Shot Detector)或者沙漏结构中的特征融合部分,用于将网络前部浅语义的特征与网络后部上采样后的深语义特征进行融合,实现更好的多尺度物体检测。

ExtremeNet 将我们现在常见的物体检测模型定义为自上而下(Top-down)的模型,即将检测问题视为一个矩形区域多分类问题。而CornetNet这类则为自下而上(Bottom-up)的模型,ExtremeNet通过找到给定类别物体在图像中的四个极点——最左、最右、最上和最下——来找到物体的包围框。ExtremeNet找极值点的方式类似于CornerNet,它输出5个尺寸等于输入图像尺寸的热图,这5个热图中每个点的值分别表征其属于极左点、极右点、极上点、极下点、包围框中心的概率。通过找到这5个热图中的局部极值,可以得到候选的极点和包围框中心,通过对这些四个候选极点的集合进行蛮力迭代配对,若四个极点的中心距离候选包围框中心距离小于阈值,则认定为可行解,输出其对应的包围框。

目前两步模型的SOTA有PANet [21] , Cascade R-CNN [22] 和 Mask Score R-CNN [23] 等,它们的大致思路如下:

PANet 应用了FPN的结构,类似于RefineDet,DSSD等网络,也是主打的通过多尺度特征融合来增强检测效果,它增加了一个Bottom-up Path Augmentation模块,用于进一步将浅层特征和深层特征进行融合。同时PANet提出了Adaptive Feature Pooling的机制,使得RoI的确定不再由单个深层特征经过RoI Pooling或RoI Align等操作得到,而是会综合考虑多个尺度和层次的特征。

Cascade R-CNN 相当于将原来回归一次物体位置的RPN结构变为多层级联的RoI-wise子网络,通过多个步骤逐步淘汰候选框并修正候选框位置,每个RoI-wise子网络都采用不同的IoU(Interp over Union)阈值,通过提升阈值来训练级联检测器,使其的定位精度更高,在更为严格的IoU阈值下性能提升更明显。

Mask Score R-CNN 以两阶段网络的实例分割应用出发,提出现有的经典模型 Mask R-CNN 的缺陷:用目标检测框的分类置信度算出来的分数评价蒙版的质量是欠妥的。Mask Score R-CNN 提出了简单有效的计分方式:结合检测得到的分类置信度与模型单独学的蒙版质量评估来给蒙版打分。蒙版质量评估(MaskIoU)与平均精度(AP)的方式相近,将预测蒙版与RoI物体特征进行对比输入,用简单的回归损失进行训练。

[1] EVERINGHAM M, VAN GOOL L, WILLIAMS C K, 等. The pascal visual object classes (voc) challenge[J]. International journal of computer vision, Springer, 2010, 88(2): 303–338.

[2] RUSSAKOVSKY O, DENG J, SU H, 等. Imagenet large scale visual recognition challenge[J]. International journal of computer vision, Springer, 2015, 115(3): 211–252.

[3] SERMANET P, EIGEN D, ZHANG X, 等. Overfeat: Integrated recognition, localization and detection using convolutional networks[J]. arXiv preprint arXiv:1312.6229, 2013.

[4] LIU W, ANGUELOV D, ERHAN D, 等. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, 2016: 21–37.

[5] REDMON J, DIVVALA S, GIRSHICK R, 等. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779–788.

[6] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7263–7271.

[7] REDMON J, FARHADI A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[8] LIN T-Y, GOYAL P, GIRSHICK R, 等. Focal loss for dense object detection[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2980–2988.

[9] ZHANG S, WEN L, BIAN X, 等. Single-shot refinement neural network for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 4203–4212.

[10] LAW H, DENG J. Cornernet: Detecting objects as paired keypoints[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 734–750.

[11] GIRSHICK R, DONAHUE J, DARRELL T, 等. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580–587.

[12] HE K, ZHANG X, REN S, 等. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE transactions on pattern analysis and machine intelligence, IEEE, 2015, 37(9): 1904–1916.

[13] GIRSHICK R. Fast r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440–1448.

[14] REN S, HE K, GIRSHICK R, 等. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91–99.

[15] DAI J, LI Y, HE K, 等. R-fcn: Object detection via region-based fully convolutional networks[C]//Advances in neural information processing systems. 2016: 379–387.

[16] HE K, GKIOXARI G, DOLLÁR P, 等. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961–2969.

[17] LIU L, OUYANG W, WANG X, 等. Deep learning for generic object detection: A survey[J]. arXiv preprint arXiv:1809.02165, 2018.

[18] HUANG J, RATHOD V, SUN C, 等. Speed/accuracy trade-offs for modern convolutional object detectors[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7310–7311.

[19] LI Z, PENG C, YU G, 等. Light-head r-cnn: In defense of two-stage object detector[J]. arXiv preprint arXiv:1711.07264, 2017.

[20] ZHOU X, ZHUO J, KRÄHENBÜHL P. Bottom-up Object Detection by Grouping Extreme and Center Points[J]. arXiv preprint arXiv:1901.08043, 2019.

[21] LIU S, QI L, QIN H, 等. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759–8768.

[22] CAI Z, VASCONCELOS N. Cascade r-cnn: Delving into high quality object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 6154–6162.

[23] HUANG Z, HUANG L, GONG Y, 等. Mask Scoring R-CNN[C]//CVPR. 2019.

下期预告

语言的特征表示

引言

自然语言处理在人工智能领域有着重要的地位,在 1950 年提出的图灵测试中,自然语言处理能力就是让机器能表现出与人类无法区分的智能的重要组成部分。

自然语言处理问题不仅是学术界研究的热点,在工业界也有许多成果。如谷歌文本搜索引擎,苹果的 Siri 和微软小冰等等产品都受益于自然语言处理问题的研究成果。

自然语言处理可以分为核心任务和应用两部分,核心任务代表在自然语言各个应用方向上需要解决的共同问题,包括语言模型,语言形态学,语法分析以及语义分析等等,而应用部分则更关注与解决自然语言处理的具体任务,如机器翻译,信息检索,问答系统,对话系统等等。深度学习领域近年来的高速发展给自然语言处理问题的解决带来了很多启发,但是深度学习算法需要大量的 “像石油一样贵重” 的标记训练数据,为算法的应用带来了很多挑战。近期一些研究提出使用迁移学习的方法来缓解缺少带有标记的训练数据的问题,2018 年提出的 BERT(Bidirectional Encoder Representations from Transformers)模型就是这种思想在解决自然语言处理的核心任务中的一个有效应用。BERT 的出现刷新了当时自然语言处理各个领域任务上的最优成绩,也引起了广泛的讨论。

问题

语言模型的任务形式是什么?

语言模型如何帮助提升其他自然语言处理任务的效果?

丁老师跟我了说很多保底保息的年化10%理财方式,我一个都没有听说过,丁老师对我说,“金融世界有很多你没有听说过的理财方式,是因为你的本金不够多。”

丁老师二三事

说明:“丁老师二三事”是取材于Hulu日常的虚构创作,如有雷同,您别当真~

关注Hulu公众号

你就是最爱学习的仔~

百面深度学习 | 第八期:物体检测模型的发展概况

相关文章:

  • 2021-11-05
  • 2021-04-25
  • 2022-01-17
  • 2021-08-18
  • 2021-09-09
  • 2021-11-13
  • 2022-01-01
  • 2021-12-29
猜你喜欢
  • 2021-04-04
  • 2021-11-01
  • 2021-12-30
  • 2022-02-07
  • 2022-01-09
  • 2021-07-20
  • 2021-04-09
相关资源
相似解决方案