基于深度卷积神经网络的目标检测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第35卷 第8期 福 建 电 脑 Vol. 35 No.8
2019年8月
Journal of Fujian Computer
Aug. 2019
———————————————
程胜月,男,1995生,硕士研究生,研究方向为深度学习。
E-mail:2968365693@ 。
张德贤,男,1961生,博士,研究方向为模式识别、人工智能信息处理。
基于深度卷积神经网络的目标检测
程胜月 张德贤
(河南工业大学信息科学与工程学院 郑州 450001)
摘 要 目标检测是计算机视觉领域中最基本、最具挑战性的课题之一,由于传统检测方法已经不能满足其在精度和速度上需求,深度学习利用其对图像特征强大地分析处理能力,逐渐成为目标检测的主流方向。
本文首先对主流卷积神经网络框架进行简述,其次对目标检测中的几种重要的方法具体分析,最后对未来可能的发展方向进行讨论。
关键词 目标检测;卷积神经网络;RCNN ;YOLO ;SSD 中图法分类号 TP183 DOI:10.16707/ki.fjpc.2019.08.009
Target Detection Based on Deep Convolutional Neural Networks
CHENG Shengyue, ZHANG Dexian
(School of Information Science and Engineering, Henan University of Technology, Zhengzhou,China, 450001)
1引言
目标检测作为计算机视觉的基本问题之一,是
许多其他计算机视觉任务的基础,如实例分割、图像处理、对象跟踪等[1]。
目前,目标检测已广泛应用于无人驾驶、安防监管、视频分析等领域。
传统目标检测方法包含预处理、窗口滑动、特征提取、特征选择、特征分类、后处理等步骤。
而卷积神经网络本身具有特征提取、特征选择和特征分类的功能,所以在现在计算能力充足的情况下得到充分发展。
2主流深度卷积网络的发展
1998年Yann LeCun 提出的LeNet-5网络是首次成功应用于数字识别问题的卷积神经网络。
但是由于当时计算能力不足,未能受到重视。
直到2012年AlexNet 在ImageNet 图像分类任务竞赛中获得冠军,目标检测才迎来深度卷积神经网络的时代。
2.1 AlexNet
AlexNet 由5个卷积层和3个全连接层组成,使用数据增广和Dropout 防止过拟合,并且提出了
局部响应归一化来提高模型的泛化能力。
2.2 VGGNet
VGGNet 获得了2014年ILSVRC 比赛的亚军和目标定位的冠军。
到目前为止,VGGNet 依然被广泛使用来提取图像的特征。
VGGNet 主要是证明了增加网络的深度可以提高最终的性能。
2.3 GoogleNet
GoogleNet 分析得出增加网络的深度和宽度可以提升性能,但同时不可避免的增加参数,造成过拟合和计算量过大。
因此提出Inception 结构将稀疏矩阵聚类成相对稠密的子空间矩阵提高计算性能。
2.2 ResNet
ResNet 指出随着卷积神经网络深度的增加,却出现梯度消失现象造成准确率的下降。
ResNet 通过恒等映射解决深层网络梯度消失问题,大幅度提升深度卷积网络的性能。
3目标检测算法
手工设计特征的目标检测方法在2010年左右
2019年福建电脑35
趋向稳定。
2014年,R.Girshick首次将卷积神经网络运用在目标检测问题中,并且提出了RCNN算法,从此基于深度学习的方法开始主导目标检测问题的走向[2]。
基于深度学习的目标检测方法由两类组成,分别是基于分类的RCNN系列算法和基于回归的检测算法。
前者是从粗到精的检测,后者是采取一步实现的过程。
3.1分类的目标检测算法
基于分类的目标检测算法在待检测图像上进行窗口滑动,产生候选区域,然后进行窗口回归,得出目标位置。
3.1.1 RCNN算法
因为传统算法在目标检测上进程缓慢,R.Girshick提出了一种简单和可扩展的检测算法RCNN,在VOC-2012数据集上mAP达到了53.3%,相对于之前的算法性能提高了30%。
算法具体实现的步骤:
(1) 使用选择性搜索算法对图像进行区域提议,每张图像产生大约2000个候选框。
(2) 将候选框缩放到固定大小,使用CNN提取特征,产生一个4096维特征向量。
(3) 再把这个特征向量送入一个多类别SVM 分类器中,预测出候选框中所含物体属于每个类的概率值。
(4) 对候选框使用边界框回归,减少目标定位误差。
RCNN算法两大贡献:一是使用CNN对目标进行特征提取;二是当训练样本较少时,可在额外数据集上进行预训练,然后微调就可以取得很好的效果[3]。
同时RCNN算法也存在训练慢、特征提取重复计算、效率低等缺点。
3.1.2 Fast RCNN
为了更好的进行目标检测,R.Girshick提出了Fast RCNN算法。
为了规避RCNN中冗余的特征提取操作,Fast RCNN只对图像全部区域进行一次特征提取[4]。
同时引入RoI池化层取代最后一层max 池化层。
最后使用SVD对网络结尾的全连接层进行分解,减少计算复杂度,加快了检测速度。
算法具体实现的步骤:
(1) 使用CNN处理任意大小的图像,采用选择性搜索算法对图像进行区域提议。
(2) 根据提议框到特征图的映射关系,在特征图中找到每个提议框对应的特征框,并在RoI池化层中将特征框处理为固定大小。
(3) 固定大小的特征框经过全连接层得到固定大小的特征向量。
(4) 使用SVD将特征向量所在的全连接层进行分解,得到softmax的分类得分和边界框窗口回归。
(5)利用非极大值抑制方法去除重叠提议框,得到每个类别中得分最高的窗口。
Fast RCNN算法对图像进行一次性特征提取,有效地节约了时间,而且使用softmax分类器代替了SVM分类器[5]。
Fast RCNN在VOC 2012数据集上可以达到68.4%,同时训练速度比RCNN快9倍。
3.1.3 Faster RCNN
Faster RCNN通过提出将RPN (Region Proposa Networks)和Fast R-CNN通过共享卷积特征合并为一个单一的网络来提高性能。
RPN是使用全卷积层来取代之前的全连接层然后进行区域提议的计算,其本质还是使用滑动窗口对目标进行区域提议。
算法具体实现的步骤:
(1) 对输入的整张图片使用CNN,得到特征层。
(2) 使用RPN对产生的特征层进行特征提取,利用预先设置好的多个(通常是9个)不同大小尺寸的anchor进行窗口滑动,得到目标区域提议。
(3) 进行分类和回归,使用分类器对anchor产生的区域提议候选框进行判别分类,最后利用回归器对候选框的位置进行微调[6]。
FasterRCNN不受输入图像大小的限制,利用anchor机制和边框回归可以对不同尺度和长宽比的图像进行区域提议,而且实现了端对端的运算。
其检测精度在VOC上达到了73.2%,因为引入了RPN 使得测试时间比FastRCNN缩短了将近十几倍。
3.2回归的目标检测算法
在Faster RCNN之后又进行了一系列的算法改进,在一定程度上提高了检测精度。
但是由于检测速度较慢,所以在现实中的实时场景中并不适用[7]。
在这种背景下出现了基于回归的目标检测算法,它将整个目标检测流程统一到一个网络中,一次性地提取和检测。
3.2.1 YOLO
YOLO 是2016年Redmon J等人提出的一种基于回归的目标检测算法。
它的特点是检测速度非常快。
YOLO之前的目标检测方法使用区域提议来生成整张图像中包含待检测物体的可能的边界框,然后用分类器来评估这些提议框。
因为这些环节都是
36 程胜月等:基于深度卷积神经网络的目标检测第8期
分开训练的,所以检测性能很难进行优化。
YOLO目标检测系统有如下三个步骤:
(1) 将输入图像的大小调整为448×448。
(2) 在图像上运行单个卷积网络。
(3) 根据模型的置信度对得到的检测进行阈值化。
YOLO算法的目标检测过程非常快速,但其对目标定位可能会出现误差,同时对小目标物体及物体密集区域检测效果也比较差[8]。
该算法可以降低将背景检测为目标的概率,但同时导致召回率较低。
3.2.2 SSD
SSD算法综合了YOLO和FasterRCNN两种算法的优势,对目标检测的精度和速度都进行了提升。
SSD算法将边界框的输出空间离散化为一组默认框,该默认框在每个特征图位置有不同的宽高比和尺寸[9]。
在预测期间,网络对每个默认框中的每个对象类别进行生成分数,并且对默认框进行调整以更好地匹配目标尺寸。
另本文的SSD模型相对于需要RCNN的方法是简单的,因为它完全消除了采用区域提议这类方法中的候选框及之后的像素或特征的重采样阶段,并将所有计算封装在单个卷积神经网络中。
这使得SSD容易训练和直接集成到需要检测组件的系统中。
基于深度学习的目标检测算法在VOC2007和VOC2012及COCO数据集上的检测性能及FPS如表1所示。
表1 各算法在不同数据集上的精度及其FPS大小
4总结
自2012年深度学习在计算机视觉领域取得突破以来,目标检测算法开始取得不断地发展,从精度到速度都有很大的进步,同时每年还有新的目标检测成果出现[10]。
在这其中还有一些需要解决的问题,首先是随着未来目标检测应用场景的复杂化,小目标检测将会成为常态;其次还会面临检测样本过少的问题。
总的来说,目标检测依然是一个具有挑战性的课题[7]。
随着国家对人工智能发展的重视,该课题也面临新的机遇和挑战,值得我们更加深入地进行研究。
参考文献
[1] 周晓彦,王珂,李凌燕.基于深度学习的目标检测算法综述.电子测量技
术,2017,40(11):89-93
[2] 于进勇,丁鹏程,王超.卷积神经网络在目标检测中的应用综述.计算机
科学,2018,45(S2):17-26
[3] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for
accurate object detection and semantic segmentation//Proceedings of
the IEEE conference on computer vision and pattern recognition.
Columbia,America,2014: 580-587
[4] Girshick R. Fast r-cnn//Proceedings of the IEEE international conference
on computer vision. Santiago, Chile,2015: 1440-1448
[5] 李丹.基于深度学习的目标检测综述.科技经济导刊,2019,
27(13):1-2,31
[6] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object
detection with region proposal networks//Advances in neural information processing systems. Montreal, Canada,2015: 91-99 [7] 刘晓楠,王正平,贺云涛,刘倩.基于深度学习的小目标检测研究综述.
战术导弹技术,2019(01):100-107
[8] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified,
real-time object detection//Proceedings of the IEEE conference on computer vision and pattern recognition. Las Vegas, America,2016: 779-788
[9] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox
detector//European conference on computer vision. Springer, Cham, Amsterdam, The Netherlands,2016: 21-37
[10] 许必宵,宫婧,孙知信.基于卷积神经网络的目标检测模型综述.计算
机技术与发展,2019(11):1-8
Method VOC07 (mAP@IoU=0.5) VOC12 (mAP@IoU=0.5) COCO (mAP@IoU=0.5:0.95) FPS RCNN 58.5 - - - FastRCNN 70.0 68.4 19.7 0.5 FasterRCNN 73.2 70.4 21.9 7 YOLO 66.4 57.9 - 21 SSD 76.8 74.9 31.2 46。