关键词:目标检测、计算机视觉、深度学习、卷积神经网络
1.背景介绍
目标检测作为计算机视觉领域的一项重要任务,主要负责在数字图像中检测视觉目标的实体并作出分类。客观上,目标检测是要提出一种计算模型和技术,以供给计算机视觉应用所需的基本信息:什么目标?在什么位置?
目标检测作为计算机视觉最基础的问题之一,是许多其他计算机视觉任务的技术基础,例如实例分割[1-4]、图像捕捉[5-7]、目标追踪等[8]。目标检测在应用方面可以分为两种研究方向,即广义上的目标检测和目标检测应用,前者旨在基于统一的框架探寻识别不同目标的方法,以更好的模拟人类的视觉和认知;后者是指特定场景下的目标检测应用,例如行人检测、面部识别、文本识别等。近年来,快速发展的深度学习技术给目标检测注入了新的血液[9],带来了质的飞跃,基于深度学习的目标检测成为了研究热点。目标检测现已广泛应用于自动驾驶、机器人视觉、视频监视等现实应用中。
2.过去20年中的目标检测
2.1 目标检测发展史
目标检测在过去的20年中已经逐渐走过了两个重要的历史阶段:一是传统的目标检测阶段(2014年之前),二是基于深度学习的目标检测阶段(2014年之后)。
2.1.1 里程碑:传统检测器
早期的目标检测算法中的相关特征大部分都基于人工提取。这段时间内,因缺少有效的图像表达方式,只能选择设计复杂的特征表达方式,一系列加速技术的使用耗尽了有限的计算资源。
VJ检测器
18年前,P. Viola和M. Jones第一次实现了实时的不受肤色等因素限制的人脸识别检测器[10,11]。在700MHz的Pentium III CPU上运行的结果表明,该检测器在速度上远超同时代的算法,同时在精度上也不落下风。为了纪念这重大的突破,该算法以提出者命名,简称VJ检测器。
VJ检测器使用了非常直接的检测方法,即滑窗方法:用滑窗扫描图像中所有的位置,检测滑窗中是否含有人脸。虽然该方法看起来是一个简单的过程,但是其背后的计算量远超当时的计算机的算力。在检测速度方面,VJ检测器使用了三种加速技术,分别是积分图像、特征选择、和检测级联,因此在检测速度上有很大的提升。
1)积分图像:积分图像是一种用来加速盒滤波和卷积过程的计算方法。就像当时的目标检测算法一样,VJ检测器使用了Harr小波算法作为图像的特征表达方式。积分图像可以使VJ检测器中的每个滑窗的计算复杂度独立于滑窗的大小。
2)特征选择:作者使用Adaboost算法从包含大量随机特征的特征池中选取对面部识别最有效的特征,而不是用一系列人工选择的Harr基础滤波器。
3)检测级联:多步检测的方式,也被称为检测级联,其通过将更多的算力集中于面部目标而不是背景窗口减少VJ检测器的计算开销。
HOG检测器
N. Dalal 和 B.Triggs于2005年提出梯度直方图(Histogram of Oriented Gradient,HOG) [12]。HOG在当时被认为是在特征变换的缩放不变性和外形上有重大的提升。为了平衡特征不变性(包括变形、缩放、光照等)和非线性(为区分不同的目标种类),HOG被设计在相同大小的密集网格上进行计算,并使用重叠的局部对比度归一化来提升精确度。虽然HOG检测器可以用来检测多种类别的目标,但最初是被用于行人检测。为了检测不同大小的目标,HOG检测器在检测窗口的大小不变的条件下,对输入图像进行多次重新缩放。HOG检测器在很长一段时间内是许多目标检测器的重要基础,并在之后的多年里衍生出大量的计算机视觉方面的应用。
可变形组件模型(DPM)
DPM是VOC-07、08和09挑战的优胜者,是传统目标检测方法的巅峰。DPM最初由P. Felzenszwalb于2008年在HOG检测器的基础上提出[13],然后经由R. Girshick作出了大量的工作提升其性能[14-17]。
DPM所遵循的检测原则是分割并识别,训练过程可被简单看作学习一种合适的分解目标的方法,而判别可被看作是对目标的不同部分进行检测的合集。
一个典型的DPM检测器包含一个根滤波器和一定数量的组件滤波器。组件滤波器使用了一种弱监督的学习策略,使得组件滤波器可以自动学习到滤波器的构造(例如大小和位置等),而不是用人工的手段确认。之后R. Girshick将这种特殊的过程制定为一种多实例学习的特殊情况,然后将其他一些重要的技术例如难负例挖掘、边界框回归、上下文启动等应用于DPM之中用以提升其精度。为加速检测过程,Girshick提出了一种运用级联结构的检测模型,在不失精度的基础上能加速10余倍。
2.1.2里程碑:基于CNN的两步检测器
用人工提取的特征进行目标检测于2010年达到饱和。2012年卷积神经网络(Convolutional Neural Networks, CNN)重新焕发光彩后[18],R. Girshick在2014年提出了用于目标检测的RCNN网络[19],自此之后,目标检测以前所未有的速度发展。
在深度学习领域,目标检测可以归为两类:一步检测和两步检测,前者是指在一步范围内完成检测 ,而后者是指将检测分为两步。
RCNN
RCNN的思想很简单,由提取一系列候选目标建议框开始,这些目标建议框由选择性搜索(selective search)[20]方法提取得到;随后所有的建议框重新缩放到合适的大小,输入到CNN网络中提取特征;最后,使用线性SVM分类器预测每个区域内存在的目标,并对目标类别进行识别。RCNN在VOC07上展现出了优异的性能,在均值平均精度(mAP)上从DPM-v5[21]的33.7%提升到了58.5%。
虽然RCNN取得了极大的进步,但其缺点也很明显:大量的重叠特征建议框造成的大量冗余特征计算,导致检测速度大大减慢。随后SPPNet[22]的提出解决了这个问题。
SPPNet
在2014年,K. He等人提出了空间金字塔池网络(Spatial Pyramid Pooling Networks, SPPNet)。之前的CNN网络要求输入合适大小的图像,例如AlexNet要求输入224×224大小的图像。SPPNet最大的贡献在于引入了空间金字塔池化层,无论图像或者区域的大小是否统一,可以使CNN网络输出合适长度的表达式,而无需调整图像或者区域的大小。在目标检测中使用SPPNet时,整张图像的特征图只需计算一次,然后输出任意区域的合适长度的表达式用于训练检测器,这样可以避免卷积特征的重复计算。SPPNet在检测速度上是RCNN的20多倍,并且在精度上没有损失。
虽然SPPNet有效的提升了检测速度,但仍有一些缺陷:第一,训练过程依然分为多步进行;第二, SPPNet仅微调其网络中全连接层,而忽略所有先前的层。在随后的一年里,Fast RCNN的提出解决了这些问题[23]。
Fast RCNN
2015年,R. Girshick在R-CNN和SPPNet的基础上提出了Fast RCNN检测器。Fast RCNN可以在同一网络结构下同时训练检测器和边界框回归器。在VOC07数据集上,Fast RCNN的mAP相比R-CNN的58.5%提升到了70.0%,同时速度上比RCNN快了200多倍。
虽然Fast RCNN成功的结合了RCNN和SPPNet的优点,但其检测速度仍受建议框检测所限。之后出现的Faster RCNN解决了这一问题[24]。
Faster RCNN
2015年,S. Ren等人在Fast RCNN出现后不久提出了Faster RCNN检测器。Faster RCNN是第一个端到端,而且是第一个接近实时检测的深度学习检测器。Faster RCNN最大的贡献在于提出了区域建议网络(Region Proposal Network,RPN),可以接近无偿的提供区域建议。从RCNN到Faster RCNN,目标检测里大部分独立的模块,例如建议框检测、特征提取、边界框回归等,逐渐整合于一个统一的、端到端的学习框架下。
虽然Faster RCNN打破了Fast RCNN在速度上的瓶颈,但其在后续检测阶段仍存在计算冗余。随后出现了一系列的提升方法,包括RFCN[25]和Light head RCNN[26]等。
特征金字塔网络
2017年,T.-Y. Lin等人在RCNN的基础上提出了特征金字塔网络(Feature Pyramid Networks,FPN)[27]。在FPN出现之前,大部分基于深度学习的检测器只在网络的顶层运行,虽然CNN的更深层特征是目标检测的基础,但是它不利于对象的本地化。为此,在FPN中提出了具有横向连接的自上而下的体系结构,用于构建各种规模的高级语义。由于CNN通过其向前传播自然形成一个特征金字塔,因此FPN在检测各种尺度的目标方面显示出了巨大的进步。在基本的Faster RCNN结构中使用FPN,在MSCOCO数据集上可以实现最好的单一模型检测结果。现在FPN是许多检测器的基本构成模块。
2.1.3里程碑:基于CNN的一步检测器
YOLO
YOLO检测器由R. Joseph等人于2015年提出,是深度学习领域的第一个一步检测器[28]。YOLO检测速度非常快:帧率155fps同时在VOC07上的mAP值为52.7%,其增强版本在VOC07上在45fps的帧率时mAP的值为3.4%,在VOC12上mAP值为57.9%。YOLO完全抛弃了以前的“建议区检测+验证”的检测方式,实际上遵循的是完全不同的检测方式:在一张完整图像上应用单个神经网络,该网络把图像分割成数个不同的部分,并同时预测边界框和各个区域的概率。R. Joseph随后在YOLO上做了一系列的改进并推出了YOLO的V2和V3版本,在保证高检测速度的同时提高了其精度。
YOLO尽管在检测速度上有很大的提升,但是和传统的两步检测方法相比,其检测精度远低于两步检测的算法,尤其在针对小型目标的检测精度上有明显缺陷。YOLO的后继者SSD[29]在该问题上做了大量工作。
SSD
SSD由W. Liu等人于2015年提出,是深度学习领域的第二款一步检测器。SSD的主要贡献在于引入了多分辨率和多参数的检测技术,这些技术显著提升了一步检测器的检测精度,尤其是对小型目标的检测。SSD在检测精度和速度上都具有优势,帧率59fps时,在VOC07上mAP值为76.8%,在VOC12上mAP值为74.9%。与之前检测器相比, SSD可以在网络的不同层上检测不同大小的目标,而其他检测器只在网络顶层检测目标。
RetinaNet
一步检测器尽管拥有简洁的网络结构和更快的检测速度,但是在检测精度上落后于两步检测器。T.-Y. Lin等人指出一步检测器的检测精度较差的主要原因是在密集检测器的训练过程中存在极端的前景-背景类别失衡现象,并于2017年提出了RetinaNet[30]。RetinaNet中提出了一种新的损失函数“focal loss”, 通过改写标准的交叉熵损失函数,使检测器在训练过程中将更多的注意力放在较难、分类错误较多的示例上。Focal Loss的使用使得一步检测器在保持较高检测速度的同时,其检测精度可媲美两步检测器,其结果显示在COCO数据集上的mAP@.5为59.1%,mAP@[.5, .95]为39.1%。
2.2 目标检测数据集和评估指标
2.2.1 目标检测数据集
建立具有较小偏差的大数据集对于开发高级计算机视觉算法至关重要。目标检测领域在过去的10年里出现了一些知名的数据集,包括PASCAL VOC挑战数据集[31,32](例如VOC2007和VOC2012)、ImageNet Large Scale Visual Recognition挑战(例如ILSVRC2014)[33]、MS-COCO Detection挑战[34]等。
2.2.2 目标检测的评估标准
早期的检测领域中没有广泛应用的关于检测性能的评估标准。例如,在早期的行人检测中,常用漏检率和每个窗口的误报率(FPPW)作为行人检测的评估指标,但是单个窗口的评估方式在某些情况下检测全幅图像时有重大缺陷[35]。随着Caltech行人检测基准于2019年推出[35,36],评估指标从每个窗口的误报率转变为每幅图像的误报率(FPPI)。
近些年来,最常用的目标检测评估指标是VOC2007中提出的平均精度(Average Precision, AP)。AP定义为不同召回率下的平均检测精度,通常以类别特定的方式进行评估。为了比较所有对象类别上的性能,通常将所有对象类别上的均值平均精度(mean Average Precision, mAP)用作最终的性能指标。为了测量目标对象的定位精度,需检查预测框和地面真实框之间的交并比IoU是否大于预定义的阈值,例如0.5。如果是,则将对象标识为“成功检测到”,否则将标识为“丢失”。基于IoU值为0.5的mAP多年来已成为目标检测问题的评估指标。
2014年之后,随着MS-COCO数据集的普及,研究人员开始关注边界框位置的准确性。MS-COCO AP在0.5(粗定位)和0.95(完美定位)之间的多个IoU阈值上求平均值,不再使用固定的IoU阈值。评估标准的变化使得对象定位更加精准,同时对于某些实际应用程序的分析具有重要作用。
近期Open Images数据集的评估指标有了进一步的发展。研究学者提出了其他的一些评估指标,如定位召回精度(localization recall precision)[37],但基于VOC / COCO的mAP仍然是最常用的目标检测的评估指标。
3.结论
在过去的20年,目标检测取得了显著的成就。本文回顾了20世纪90年代年到2019年间的多篇论文,包含了历史上目标检测的里程碑式的算法、数据集、评估指标,和近年来最有效的目标检测算法。在技术飞速发展的当下,我们相信本文将帮助读者建立物体检测领域的全景,并在这快速发展的研究领域找到未来的方向。
期刊文章分类查询,尽在期刊图书馆
参考文献:
[1] B. Hariharan, P. Arbel′aez, R. Girshick, and J. Malik, “Simultaneous detection and segmentation,” in European Conference on Computer Vision. Springer, 2014, pp. 297– 312.
[2] ——, “Hypercolumns for object segmentation and negrained localization,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 447– 456.
[3] J. Dai, K. He, and J. Sun, “Instance-aware semantic segmentation via multi-task network cascades,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 3150–3158.
[4] K. He, G. Gkioxari, P. Doll′ar, and R. Girshick, “Mask rcnn,” in Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017, pp. 2980–2988.
[5] A. Karpathy and L. Fei-Fei, “Deep visual-semantic alignments for generating image descriptions,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3128–3137.
[6] K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhudinov, R. Zemel, and Y. Bengio, “Show, attend and tell: Neural image caption generation with visual attention,” in International conference on machine learning, 2015, pp. 2048–2057.
[7] Q.Wu,C.Shen,P.Wang,A.Dick,andA.vandenHengel, “Image captioning and visual question answering based on attributes and external knowledge,” IEEE transactions on pattern analysis and machine intelligence, vol. 40, no. 6, pp. 1367–1381, 2018.
[8] K.Kang,H.Li,J.Yan,X.Zeng,B.Yang,T.Xiao,C.Zhang, Z. Wang, R. Wang, X. Wang et al., “T-cnn: Tubelets with convolutional neural networks for object detection from videos,”IEEETransactionsonCircuitsandSystemsforVideo Technology, vol. 28, no. 10, pp. 2896–2907, 2018.
[9] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” nature, vol. 521, no. 7553, p. 436, 2015.
[10] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” in Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the2001IEEEComputerSocietyConferenceon,vol.1. IEEE, 2001, pp. I–I.
[11] P.ViolaandM.J.Jones,“Robustreal-timefacedetection,” International journal of computer vision, vol. 57, no. 2, pp. 137–154, 2004.
[12] N.DalalandB.Triggs,“Histogramsoforientedgradients for human detection,” in Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, vol. 1. IEEE, 2005, pp. 886–893.
[13] P. Felzenszwalb, D. McAllester, and D. Ramanan, “A discriminatively trained, multiscale, deformable part model,” in Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008, pp. 1–8.
[14] P. F. Felzenszwalb, R. B. Girshick, and D. McAllester, “Cascade object detection with deformable part models,” in Computer vision and pattern recognition (CVPR), 2010 IEEE conference on. IEEE, 2010, pp. 2241–2248.
[15] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan, “Object detection with discriminatively trained part-based models,” IEEE transactions on pattern analysis and machine intelligence, vol. 32, no. 9, pp. 1627– 1645, 2010.
[16] R. B. Girshick, P. F. Felzenszwalb, and D. A. Mcallester, “Object detection with grammar models,” in Advances in Neural Information Processing Systems, 2011, pp. 442–450.
[17] R. B. Girshick, From rigid templates to grammars: Object detection with structured models. Citeseer, 2012.
[18] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classi cation with deep convolutional neural networks,” in Advances in neural information processing systems, 2012, pp. 1097–1105.
[19] R. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature hierarchies for accurate object detection and semanticsegmentation,”inProceedingsoftheIEEEconference on computer vision and pattern recognition, 2014, pp. 580– 587.
[20] K. E. Van de Sande, J. R. Uijlings, T. Gevers, and A. W. Smeulders, “Segmentation as selective search for object recognition,” in Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011, pp. 1879–1886.
[21] R. B. Girshick, P. F. Felzenszwalb, and D. McAllester, “Discriminatively trained deformable part models, release 5,” http://people.cs.uchicago.edu/ rbg/latentrelease5/.
[22] K. He, X. Zhang, S. Ren, and J. Sun, “Spatial pyramid pooling in deep convolutional networks for visual recognition,” in European conference on computer vision. Springer, 2014, pp. 346–361.
[23] R. Girshick, “Fast r-cnn,” in Proceedings of the IEEE international conference on computer vision, 2015, pp. 1440–1448.
[24] S. Ren, K. He, R. Girshick, and J. Sun, “Faster r-cnn: Towards real-time object detection with region proposal networks,” in Advances in neural information processing systems, 2015, pp. 91–99.
[25] J.Dai,Y.Li,K.He,andJ.Sun,“R-fcn:Objectdetectionvia region-based fully convolutional networks,” in Advances in neural information processing systems, 2016, pp. 379–387.
[26] Z. Li, C. Peng, G. Yu, X. Zhang, Y. Deng, and J. Sun, “Light-head r-cnn: In defense of two-stage object detector,” arXiv preprint arXiv:1711.07264, 2017.
[27] T.-Y. Lin, P. Doll′ar, R. B. Girshick, K. He, B. Hariharan, and S. J. Belongie, “Feature pyramid networks for object detection.” in CVPR, vol. 1, no. 2, 2017, p. 4.
[28] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You only look once: Uni ed, real-time object detection,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016, pp. 779–788.
[29] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg, “Ssd: Single shot multibox detector,” in European conference on computer vision. Springer, 2016, pp. 21–37.
[30] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Doll′ar, “Focal loss for dense object detection,” IEEE transactions on pattern analysis and machine intelligence, 2018.
[31] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman, “The pascal visual object classes (voc) challenge,” International journal of computer vision, vol. 88, no. 2, pp. 303–338, 2010.
[32] M.Everingham,S.A.Eslami,L.VanGool,C.K.Williams, J. Winn, and A. Zisserman, “The pascal visual object classes challenge: A retrospective,” International journal of computer vision, vol. 111, no. 1, pp. 98–136, 2015.
[33] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein etal., “Imagenet large scale visual recognition challenge,” International Journal of Computer Vision, vol. 115, no. 3, pp. 211–252, 2015.
[34] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Doll′ar, and C. L. Zitnick, “Microsoft coco: Common objects in context,” in European conference on computer vision. Springer, 2014, pp. 740–755.
[35] P. Doll′ar, C. Wojek, B. Schiele, and P. Perona, “Pedestrian detection: A benchmark,” in Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 2009, pp. 304–311.
[36] P. Dollar, C. Wojek, B. Schiele, and P. Perona, “Pedestrian detection: An evaluation of the state of the art,” IEEE transactions on pattern analysis and machine intelligence, vol. 34, no. 4, pp. 743–761, 2012.
[37] K. Oksuz, B. C. Cam, E. Akbas, and S. Kalkan, “Localization recall precision (lrp): A new performance metric for object detection,” in European Conference on Computer Vision (ECCV), vol. 6, 2018.
允许调整
北方自动控制技术研究所
030000
任江涛
山西省太原市小店区体育路351号 任江涛 19903412894
论文作者:任江涛,屠慧琳
论文发表刊物:《科学与技术》2019年19期
论文发表时间:2020/4/29
标签:检测器论文; 目标论文; 精度论文; 特征论文; 图像论文; 提出了论文; 速度论文; 《科学与技术》2019年19期论文;