基于深度卷积神经网络的目标检测

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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之前的目标检测方法使用区域提议来生成整张图像中包含待检测物体的可能的边界框,然后用分类器来评估这些提议框。因为这些环节都是

相关文档
最新文档