目标检测方法简要综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目标检测方法简要综述
作者:栗佩康袁芳芳李航涛
来源:《科技风》2020年第18期
摘要:目标检测是计算机视觉领域中的重要问题,是人脸识别、车辆检测、路网提取等领域的理论基础。随着深度学习的快速发展,与基于滑窗以手工提取特征做分类的传统目标检测算法相比,基于深度学习的目标检测算法无论在检测精度上还是在时间复杂度上都大大超过了传统算法,本文将简单介绍目标检测算法的发展历程。
关键词:目标检测;机器学习;深度神经网络
目标检测的目的可分为检测图像中感兴趣目标的位置和对感兴趣目标进行分类。目标检测比低阶的分类任务复杂,同时也是高阶图像分割任的重要基础;目标检测也是人脸识别、车辆检测、路网检测等应用领域的理论基础。
传统的目标检测算法是基于滑窗遍历进行区域选择,然后使用HOG、SIFT等特征对滑窗内的图像块进行特征提取,最后使用SVM、AdaBoost等分类器对已提取特征进行分类。手工构建特征较为复杂,检测精度提升有限,基于滑窗的算法计算复杂度较高,此类方法的发展停滞,本文不再展开。近年来,基于深度学习的目标检测算法成为主流,分为两阶段和单阶段两类:两阶段算法先在图像中选取候选区域,然后对候选区域进行目标分类与位置精修;单阶段算法是基于全局做回归分类,直接产生目标物体的位置及类别。单阶段算法更具实时性,但检测精度有损失,下面介绍这两类目标检测算法。
1 基于候选区域的两阶段目标检测方法
率先将深度学习引入目标检测的是Girshick[1]于2014年提出的区域卷积神经网络目标检测模型(R-CNN)。首先使用区域选择性搜索算法在图像上提取约2000个候选区域,然后使用卷积神经网络对各候选区域进行特征提取,接着使用SVM对候选区域进行分类并利用NMS 回归目标位置。与传统算法相比,R-CNN的检测精度有很大提升,但缺点是:由于全连接层的限制,输入CNN的图像为固定尺寸,且每个图像块输入CNN单独处理,无特征提取共享,重复计算;选择性搜索算法仍有冗余,耗费时间等。
基于R-CNN只能接受固定尺寸图像输入和无卷积特征共享,He[2]于2014年参考金字塔匹配理论在CNN中加入SPP-Net结构。该结构复用第五卷积层的特征响应图,将任意尺寸的候选区域转为固定长度的特征向量,最后一个卷积层后接入的为SPP层。该方法只对原图做一
次卷积,共享卷积层的计算过程,极大提高了速度。SPP-Net的优点:不同尺度候选区域输入能够提高检测精度,共享不同候选区域SPP层前序的计算,提升检测效率。
Girshick[3]于2015年在R-CNN的基础上提出了Fast R-CNN,使用ROI(感兴趣区域)池化层代替SPP。原图经过卷积后产生特征响应图,然后从每个ROI池化层中提取定长特征向量,每个特征向量输入到全连接层,分支两个输出层,一个是softmax分类器用来预测类别,另一个用作物体位置定位框回归预测。除候选区域提取外该框架是一种端到端的基于多任务损失函数的一阶段训练过程,节省了存储空间,减少了训练及预测时间且提升了检测精度。但候选区域提取仍沿用老算法,耗费时间,成为瓶颈。
基于Fast R-CNN中前序候选区域提取时仍使用区域选择性搜索算法成这点,Ren[4]提出Faster R-CNN模型,使用区域选择网络(RPN)来产生候选区域框,与检测网络共享卷积特征响应,大大减少了计算量,提高检测速度,这也使得Faster R-CNN成为第一个基于深度学习的端到端目标检测算法,在GPU上运行达到5fps的检测速率,具有一定的实时性。但该模型也存在一些缺点,如RPN网络的训练较为耗时;RPN不擅于处理一些极端尺度及形状的目标物体检测。
此外还有R-FCN、FPN、Mask R-CNN等由以上算法衍生的更为优秀的两阶段目标检测算法,本文不再展开。
2 基于全局回归分类的单阶段目标检测方法
两阶段的目标检测算法,虽然检测精度指标较好,但即使实现端到端的Faster R-CNN,也无法满足实时性要求,因此单阶段目标检测算法旨在提升检测实时性。2016年Redmon[5]提出了YOLO,图像经过一个神经网络即可完成目标位置及其所属类别的预测,检测速度达到
45fps,但检测精度不高。后续Redmon[6]提出了YOLOv2,与YOLO相比卷积层后加入了批归一化、去掉全连接层进行多尺度训练、加入先验框等,使得能够检测种类更多、精度更高且时间更快。2018年,Redmon[7]提出了YOLOv3,该框架使用新的网络结构Darknet-53,利用多尺度进行目标检测,使用逻辑回归代替softmax分类器,使检测精度较之前版本提高,且对小目标的检测效果比前述版本好。最近,Bochkovskiy[8]提出了YOLOv4,加入SPP block来改善感受域大小,使用PANet代替FPN进行多通道特征融合,选用CSPDarknet53作为主干网络,使得检测精度与速度进一步提升。
此外还有SSD、FPN、RefineDet、RetinaNet、CornerNet等優秀的单阶段目标检测算法,本文不再展开。
3 结语
本文作为一篇目标检测方法的简要综述,首先介绍了该研究的背景与意义,后分为两阶段和单阶段的基于深度学习的目标检测方法进行介绍。现阶段后者的实时性明显优于前者,检测精度也在不断提升,但前者在检测精度上仍有优势,检测效率也在不断优化,不同应用场景可分别尝试这两类算法进行对比和应用。
参考文献:
[1]R.Girshick et al.,“Rich feature hierarchies for accurate object detection and semantic segmentation,”in Proc.CVPR,2014,pp.580-587.
[2]K.He et al.,“Spatial pyramid pooling in deep convolutional networks for visual recognition,”IEEE TPAMI.,vol.37,no.9,pp.1904-1916,Sep.2015.
[3]R.Girshick,“Fast R-CNN,”in Proc.ICCV,2015,pp.1440-1448.
[4]S.Ren et al.,“Faster R-CNN:Towards real-time object detection with region proposal networks,”in Proc.NIPS,2015,pp.91-99.
[5]J.Redmon et al.,“You only look once:Unifified,real-time object detection,”in
Proc.CVPR,2016,pp.779-788.
[6]J.Redmon et al.,“YOLO9000:Better,faster,stronger,”in CVPR,2017,pp.7263-7271.
[7]J.Redmon et al.,“YOLOv3:An Incremental Improvement,”2018.
[8]A.Bochkovskiy et al.,“YOLOv4:Optimal speed and accuracy of Object Detection,”2020.