搜索
您的当前位置:首页正文

基于深度卷积神经网络的目标检测算法进展

来源:尚车旅游网
第39卷第5期 2019年10月

忐京邮电大学学板(自然科学版)

Journal of Nanjing University of Posts and Telecommunications ( Natural Science Edition)

V〇1.39 No. 5 Oct. 2019

doi:10. 14132/j. cnki. 1673-5439.2019.05.010

基于深度卷积神经网络的目标检测算法进展

张索非、冯烨

2

,吴晓富2

\\

f 1.南京邮电大学物联网学院,江苏南京210003

12.南京邮电大学通信与信息工程学院,江苏南京210003)

摘要:目标检测是计算视觉领域一个重要的研究方向,主要解决了图像中各种目标的分类和定位等 视觉基本问题。由于近年来深度学习特别是深度卷积神经网络研究的兴起,各类基于神经网络的 目标检测算法不断地刷新标准检测数据集的最好性能成绩。文中主要分析比较了几种目前主流的

基于卷积神经网络的目标检测算法,包括各种两阶段检测器(RCNN,Fast RCNN,Faster RCNN,Mask RCNN, TridentNet)以及单阶段检测器(YOLO,SSD, CornerNet,ExtremeNet)。文中首先介绍了评价 目标检测算法常用的数据集以及对应的性能评价指标,然后对上述检测算法的具体实现方式逐一 进行分析。最终,在几个检测数据集上我们对不同算法进行实验复现并综合比较了其性能。实验 结果表明,主流的检测算法在速度以及性能方面各有侧重点,需要根据实际场景进行选择和权衡。 关键词:目标检测;卷积神经网络;两阶段检测器;单阶段检测器中图分类号:TP391.4;TN911.73 文献标志码:A 文章编号:1673-5439(2019)05>0072>09

Recent advances on object detection using deep CNNs: an overview

ZHANG Suofei1,FENG Ye2,WU Xiaofu2

(1. College of Internet of Things, Nanjing University of Posts and Telecommunications, Nanjing 210003 , China

\\

2. College of Telecommunications & Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China/

Abstract:The object detection is an important research direction in the field of computer vision,it mainly solves the essential questions, such as the classification and location of various targets in images. Due to the rise of deep learning in recent years, especially the deep convolutional neural networks (CNNs) ob­ject detection methods based on CNNs keep refreshing the performance records on different benchmark datasets. This paper analyzes several prevail CNN based object detection algorithms, including two-stage detectors,such as RCNN, Fast RCNN, Faster RCNN, Mask RCNN and TridentNet, as well as one-stage detectors,such as YOLO,SSD,CornerNet and ExtremeNet. Firstly,the common benchmark datasets and a corresponding performance evaluation system are proposed. Then, the detailed algorithm and the imple­mentation of aforementioned detection approaches are analyzed. Finally, this paper attempts to reproduce different methods on several detection datasets, and empirically compare their comprehensive perform- ances,such as mean average precision and inference speed. Experimental results demonstrate that theseprevail detection methods retain different features on the accuracy and the speed. Thus,it needs to be se­lected and balanced according to specific application scenarios by a suitable object detection method. Key words : object detection ; convolutional neural network ; two-stage detector; one-stage detector

收稿日期:2019-07~09;修回日期:2019~07-25 本刊网址:http: //nyzr. njupt. edu. cn

基金项目:国家自然科学基金(61701252)和江苏省高校自然科学研究(16KJB510032)资助项目

作者简介:张索非,男,博士,讲师,zhangsuofei@ njupt. edu. cn引用本文:张索非,冯烨,吴晓富•基于深度卷积神经网络的目标检测算法进展[J].南京邮电大学学报(自然科学版),2019,39(5) :72 -80.

第5期张索非,等:基于深度卷积神经网络的目标检测算法进展

73

目标检测是机器视觉以及人工智能领域的一个

基本问题,其主要目标是精确定位出图像中各种目 标的类别和位置边框信息。目标检测方法在安全监 控、智慧交通以及图像检索等各领域都有广泛的运 用。对于目标检测的研究,不仅其本身有巨大的应 用需求,还为相关领域的其他机器视觉任务提供了 理论基础和研究思路,比如:目标追踪,人脸检测,行 人检测等技术。传统的目标检测算法如方向梯度直 方图(Histogram of Oriented Gradient, HOG) _丨-特征 提取和可变形部件模型(Deformable Parts Model,

dpm

)[2]存在着时间复杂度高、窗口冗余和设计的

特征鲁棒性差等问题,所以改进目标检测算法的任 务迫在眉睫。近年来,深度学习的快速发展给目标 检测带来了新的研究方向。基于深度学习的目标检 测方法目前已经被研究者以及工业界广泛探讨和应

用,此类方法利用诸如ImageNetW , PASCAL

voc[4] ,coco[5]等数据集中的海量数据和标签来

训练作为主干的卷积神经网络(Convolutional Neural Networks,C丽s)。端到端的学习方式保证了卷积网 络可以针对检测问题学习最具有展示性的视觉特 征,而巨大的模型参数数量保证了对于数据集中出 现的各种视觉模式的记忆能力,最终大幅提升了目 标检测算法的性能指标。例如,RCNN[6]作为利用 深度学习进行目标检测的开山之作,使用文献[7] 中提出的AlexNet进行特征提取,最终的检测结果 使得平均精度均值(Mean Average Precision,mAP) 比传统方法提升了将近30%。

基于CNNs的目标检测算法主要可以分为两种 类型:两阶段检测器和单阶段检测器。两阶段检测 器是指检测的主要步骤分为区域生成和对生成的候 选区域进行分类和回归这两步。主流的两阶段检测

RCNN, Fast RCNN[8] , Faster RCNN[,],

Mask RCNN[1°]以及 TridentNet[11]。而单阶段检测

器则是指直接生成候选区域并对候选区域进行分类

回归操作,主要的单阶段检测算法包括:Y0L0[12],

SSD[13],ComCTNet[14]以及 ExtremeNet[15]等。

本文主要分析对比了几种基于CNN的主流目 标检测算法,具体结构安排如下:第一部分将重点介 绍目标检测常用的数据集以及性能评价指标;第二 部分详细介绍最主要的几种两阶段检测器的具体算 法实现步骤;第三部分将介绍主流的单阶段检测器 算法实现步骤;第四部分复现了部分算法并进行性 能比较;第五部分对全文进行总结回顾。

1数据集和性能评价指标

1.1数据集

近年来发布的目标检测数据集主要包括:pas­

cal

V0C 挑战赛发布的 VOC2007-VOC2012 数据

集,ImageNet Large Scale Visual Recognition Challenge 发布的ILSVRC2014和ILSVRC2017数据集,以及

MS-COCO Detection 衫匕战赛发布的 COCO2014 ~ C0- CO2018数据集。表1列出了相关数据集的统计

数据。

表1

目标检测数据集统计数据

似1©釆

类别数

图片数目

训练

验证

测试

VOC2007202 5012 5104 952VOC2008

202 1112 2214 133PASCALVOC2009203 4733 5816 650V0C

VOC2010204 9985 1059 637VOC2011205 7175 82310 994VOC2012205 7175 82310 991COCO 148082 78340 50481 434C0C015

8082 78340 50481 434COCO

C0C0168082 78340 50481 434C0C01780118 2875 00040 670C0C01880118 2875 00040 670ILSVRC14

200

456 567

20 121

40 152

ILSVRC

ILSVRC17

200

456 567

20 121

65 500

1.2性能评价指标

目标检测算法的评价指标通常有三个:检测准 确率、检测速度以及召回率。最常用的评价指标为

检测平均精度(Average Precision,AP),它被定义为 正确识别的物体数占总识别的物体个数的百分数。 而评估所有类别的检测准确度的指标为平均精度均 值(Mean Average Precision,mAP),定义为所有类别 检测的平均准确度,通常将mAP作为检测算法性能 评估的最终指标。平均召回率(Avreage Recall,AR) 表示正确识别的物体数占测试集中识别的物体个数 的百分数。为了评估定位精度,还提出了 I〇U(In-

tersection Over Union)这一指标,它表示预测框/4和

真实框B的重叠程度,计算公式为:

假设预设的阈值threshold =0. 7,如果计算得到I0U 值大于或者等于〇_ 7,则认为目标被正确检测,反

74南京邮电大学学报(自然科学版)

2019 年

之,则认定目标没有被正确检测。

在2014年之后,由于COCO数据集的兴起,研 究人员们开始更加关注边界框定位精度。评价CO­

CO 数据集的主要指标具体见表 2。 此外,为了评估

2.1 RCNN

2014年Girshick等提出了基于卷积神经网络进 行目标检测的开山之作RCNN,它的基本框架如图1 所示。

RCNN检测算法主要包括4个步骤:(1)输入

一个检测器的实时性,通常采用每秒处理帧数 (Frames Per Second,FPS )指标评价其执行速度。

FPS值越大,说明检测器的实时性越好。

表2

指标

APbbAP50AP15APSAPmAPl

一张图片;(2)生成1 k〜2 k候选区域。传统生成 候选区域主要是通过滑动窗口加图像金字塔的方法

进行的,而在RCNN算法中是使用选择性搜索(Se­

lective Search) 算法 [16- 生成候选区域,其主要思想

COCO数据集主要评价指标

含义

IOU=0.5 : 0.05 : 0.95 时 AP 的取值

IOU=0.5时/IP的取值IOU=0.75时4P的取值

为:先将输入图像快速划分为多个区域,然后基于相 似度对相邻的区域进行合并,通过不断合并区域直 到整张图像成为一个图像,在合并区域的过程中,基 于所有产生的区域给出对应的矩形框,得到用于目 标检测的候选窗口;(3)对每一个候选区域,使用卷 积神经网络进行特征提取。CNN网络的输人为固 定尺寸的候选区域(227 x 227),主干网络采取

AlexNet进行特征提取,AlexNet网络包括5个卷积

物体的面积小于322的的取值物体的面积介于322〜962之间/1P的取值

物体的面积大于962时的取值

2两阶段目标检测器

所谓两阶段目标检测器主要是指检测器的推理

层和2个全连接层,最后一层输出4 096维区域的 特征表示;(4)对于每个类使用该类训练的SVM 来对CNN输出的4 096维特征进行区域分类,最 后进行边框校准使得检测框的位置更加精确,同 时框更加紧致。

RCNN虽取得了比传统检测方法更好的结果, 但是RCNN框架设计还存在许多不足之处,比如训 练步骤繁琐,重复计算多,以及检测速度比较慢。

过程分为两个阶段:第一个阶段为生成可能包含物 体的候选区域;第二个阶段对生成的候选区域进行 分类和校准,得到最终的检测结果。这类算法的典

型代表是基于区域生成(Region Proposal)的RC丽 系列算法,如 RCNN, Fast RCNN, Faster RCNN, Mask

RCNN以及TridentNet等。下面将分别介绍每一种

算法的具体实现方法。

输人图片

生成候选区域227x227像素

(选择性搜索)

图1 RCNN算法框架

2.2 Fast RCNN

2015年,Girshick提出了 Fast RC顺检测器,它是

在RCNN和SSP Net\"7]的基础上进一步优化得到,提高了检测的速度和准确性,它的基本架构如图2所示。

对每个候选区域

□分类

ri边界框

_|」U回归

分类

图2 Fast RCNN算法框架

第5期

张索非,等:基于深度卷积神经网络的目标检测算法进展

75

在Fast RCNN检测算法中首先输入一张任意尺 寸的图片,经过若干卷积层和池化层得到特征图,同

时根据Selective Search得到的候选区域映射到特征 图中找到对应候选框的区域,再使用ROI池化的方 式将各个候选框对应的特征图池化为固定长度的特 征向量,最后送人到全连接网络中进行分类和边界 框回归。

尽管 Fast RCNN 在 PASCAL VOC2007 数据集 上实现了 70%的平均准确度,但是它的检测速度仍 然很慢,这主要是因为受到区域提出算法Selective

Search的限制。为解决该问题,研究人员又提出了 Faster RCNN检测算法。

2.4 Mask RCNN

2017年,He等提出了 Mask RCNN检测器,该 方法在Faster RCNN的基础上进行了进一步改进, 主要包括:第一,更换了基础的特征网络;第二,将 ROI pooling方式改变为ROI Align;第三,加人了并 列的Mask分支以便同时进行分割任务。

提出ROI Align就是为了解决ROI pooling中量 化造成的像素偏差问题,而R〇l Align能够保留像 素级的空间位置信息。实验显示,R〇I Align操作能 使得检测精度增加大约1. 1%。通过使用 ResNeXtlOl-FPN 作为骨干网络,Mask RCNN 在 CO­

CO 数据集实现了目 标检测的最佳性能。

2.3 Faster RCNN

2015年,Ren等提出了 Faster RCNN检测器,它 是第一个端到端的并且可以以准实时速度运行的检 测器。Faster RC顺的主要贡献就是引人了区域生 成网络(Region Proposal Network,RPN),使区域生成 近乎零成本,有效地解决了 Fast RCNN中区域提出 计算量达到瓶颈的问题。Faster RCNN通过使用单 一的网络来完成RPN区域提出和Fast RCNN区域 分类的任务。它的框架只是在图2的基础上进行了 少量修改,将区域提出算法Selective Search改为了

RPN的方法。

2.5 TridentNet

2019年,Li等提出了 TridentNet目标检测器,它 使用ResNetlOl作为基础骨干网络在COCO数据集 上达到了 48. 4%的准确性,是目前单模型的最优 结果。

TridentNet的主要贡献可以分为4点:第一,实

验证明了感受野的大小对检测任务中不同尺度的 物体性能会产生影响。更大的感受野对大物体性 能会更好,更小的感受野对小物体性能更好。第 二,提出了能够处理多尺度的检测框架TridentNet。

TridentNet网络架构有3个完全一样的分支,唯一

在 Faster RCNN 中,RPN 模块和 Fast RCNN 模 块共享卷积层,卷积层的最后一层输出一个特征图

feature map,假设其大小为[//’ IF,512],分另U用于

RPN区域提取和Fast RCNN区域分类。在RPN中,

不同的是膨胀卷积的膨胀率,膨胀率越大,感受野 也越大,不同的膨胀率用于处理不同尺度大小的

物体。同时在训练和测试时,每个分支只会负责 一定尺度范围的样本。第三,TridentNet每个分支 参数共享,提出在训练使用3个分支而在测试时 只使用1个分支,保证了在推断时不会有额外的 参数和计算。第四,在COCO标准数据集上测试,

TridentNet检测器取得了 48. 4%的mAP,刷新了 COCO记录。

首先在feature map的每一个特征位置i处初始化

n x 个不同的锚框,n x n代表具有n个不同尺寸和 n个不同比例U = 3 ),这样就会总共生成// x JF x 9

个锚框,然后根据RPN网络预测的锚框偏移量对所 有的锚框进行边界框回归操作得到校准的边界框,

最后再根据RPN网络得到的前景框的得分进行排 序筛选并经过NMS算法得到最终的候选区域。由 于RPN网络输出的候选区域尺寸不一,所以需要先 经过ROI pooling层将候选区域的尺寸都变为7 x 7 大小,最后送入全连接网络分别得到类别概率向量 和再次用于边界框校准的边框偏移量。

Faster RCNN在VGG16模型上测试得到的帧速 为5 FPS,并且原文报导在VOC2007数据集测试得 到的mAP大小为73. 2%,在VOC2012数据集上 mAP 大小为 70. 4%。尽管 Faster RCNN 突破了 Fast RCNN的速度瓶颈,但是仍然不能够进行实时的目 标检测以及存在着候选区域计算量大的问题。

3单阶段目标检测器

单阶段检测器算法不需要候选区域的提出阶

段,而可以直接得到目标的位置坐标以及类别概 率。与两阶段检测器相比,单阶段检测器的优势 就是检测速度快,但是其检测准确度却差于两阶

段检测器。单阶段检测算法主要包括有Y0L0,

SSD,CornerNet 以及 ExtremeNet 等。

3.1 YOLO

2015年,Redmon等提出了单阶段目标检测器 的开山之作You Only Look Once( Y0L0),它直接将 目标检测问题转化成一个回归问题。给定一张输人

76南京邮电大学学报(自然科学版)2019 年

图像,它能够直接在多个位置上回归出目标的边界 框以及目标类别。YOLO的设计架构如图3所示。

由于没有区域生成的阶段,YOLO能够直接在一组 候选区域中进行预测。

对每个网格

多分类

1边界框回归

特征图

(448x448)

(7x7x30)

分类

图3 YOLO算法框架

YOLO算法的步骤主要包括:(1)将输入图片

式:比如使用新的特征提取网络Darbiet-19,并去掉 最后全连接层,替换为卷积层以适应网络的多尺度 输入,卷积层全部使用了 Batch Normalization技 术[19],采用K-means算法对边界框做聚类等。 Y〇l〇v2模型能够在不同大小的图片上运行并可以在 速度和精度之间权衡,其性能优于目前最先进的方 法。在Yolov2之后又更新了一个新的版本Y〇l〇v3, 它采用新的特征提取框架Darknet-53以及其他的一 些改进策略,使得最后的检测性能得到进一步的提 升,并能够继续保证实时性。3.2 SSD

为了在尽量不损失检测精度的同时保证实时 性,刘伟等在2016年提出了 SSD检测器。它比Y0-

L0更快,同时与基于区域生成的检测器(包括Fas­

裁剪为448 x448像素大小;(2)将图片输人到CNN 中进行特征提取,最后由全连接层输出7 x 7 x 30大 小的特征图。CNN网络将输人图片分成7 x 7大小 的网格,每个网格取去检测那些中心点落在格子内 的目标,预测出20(PASCAL V0C数据集有20类目 标)个分类概率,同时每个网格还预测2个边界框 的位置和置信度,因此每个网格需要预测出2 x (4 + 1)个值,最终CNN网络的输出维度为7 x7 x [20 +2(4 + 1) ] ;(3)使用NMS算法得到最终的检 测结果。

由于YOLO没有区域生成的步骤,所以它的检 测速度非常快。它的基准模型的实时检测速度为 45 fps,在Fast YOLO中能够达到155 fPs。但是,

YOLO存在着对小物体的预测不准确等问题,这是

ter RCNN) 有着差不多的检测精度。 SSD 的主要思 想集成了 RPN,Y0L0,以及卷积特征的多尺度。它 的基本框架如图4所示。

因为网格划分太粗糙,每个网格只能预测一个物体。Y0L0的改进版本¥〇1〇^2[|8]采用多种优化方

A

ZC:)

AM03输人图片特征提取特征图卷积层 特征图多尺度特征检测

卷积层 特征图

图4 SSD算法框架

SSD算法的主要步骤可分为4步。第一步:输 入一张图片;第二步:特征提取,SSD的主干网络为 VGG16,将最后两个全连接层改为卷积层并随后增

加了 4个卷积,主要目的就是进行多尺度的检测;第 三步:对于不同的卷积层输出分别用两个不同的

3 x3卷积核进行卷积个输出分类的置信度,其中

,一

第5期

张索非,等:基于深度卷积神经网络的目标检测算法进展

77

每个锚框会生成21个类别置信度(20个目标类别 + 1个背景),另一个输出回归用的偏移量;最后一

步:通过NMS算法得到最终的检测结果。

SSD检测器与之前的检测器最大的不同就是在

PASCALV0C数据集上实现了 743%59p的帧速。

3.3 CornerNet

的准确度和

在2018年,Deng等提出了 ComerNet检测器。 该检测器采用的方法与之前的思路均不相同,它通 过检测目标的左上角与右下角顶点来确定边界框的 位置,通过直接预测关键点而消除了锚框提出的步 骤。它的检测框架如图5所示。

检测中引入了多尺度,它使用尺寸大的特征图来检 测小物体和尺寸小的特征图来检测大物体。这样就 解决了 YOLO中对小物体检测不准确的问题。对 300 x 300大小像素的输人,原文报导的SSD在

输人图片

图5 CornerNet算法框架

CornerNet的特征提取网络为Hourglass网

上测试最佳结果能得到4器相媲美。

22%

的准确度,优于之前

络[2°],H〇urglaSS网络不改变特征图的尺寸大小而只 改变通道数。然后将得到的特征图分别送人左上顶 点和右下顶点预测模块。在每一个预测模块中, CornerNet先进行一种新的池化方式Comer pooling, 再进行卷积操作得到三个分支,分别为热图(Heat-

maps )、 Embedding 以 及偏置 ( Offset) 。 其中 Heat- maps 用于预测 角点的位置, Embedding 用于左上顶

所有的单阶段检测器,并且精度可以与两阶段检测

3.4 ExtremeNet

2019年,Zhou

等提出了 ExtremeNet目标检测

器,该检测器与CornerNet检测器思想相似,都是基 于关键点检测,但不同的是ExtremeNet检测器使用 关键点估计网络来检测目标的4个极点(最上面, 最左边,最下面,最右边)和一个中心点,而Comer-

Net 检测器则是仅仅检测目标的左上角和右下角顶

点和右下顶点的配对,Offset用于修正取整时丢失 的精度信息。

原文报导的CornerNet检测器在COCO数据集

点。它的检测框架如图6所示。

Top热图

Top偏移量

输人图片

特征提取

Left热图

Left偏移fl

Bottom热图Right热图Bottom偏移量

Center热图Right偏移M

生成热(S和偏移量

图6 ExtremeNet算法框架

ExtremeNet算法的主要思想是通过预测目标

的4个顶部热图来找到极点,通过每个类别的一 个中心热图来预测目标中心。然后基于几何方式 将极点分组到具体目标中。ExtremeNet的特征提 取网络为Hourglass网络,同时,它沿用f Corner-

Net 的训练配置、损失函数以及偏移量预测。与 CornerNet不同的是:ExtremeNet采用了 一种新的

分组方法即枚举分组法,该方法通过从热图中抽

取出4个极点来计算出几何中心,如果此中心点 预测在中心热图中并且分数高于阈值时,则认为 这4个极点为一组,接着枚举出所有的关键点组 合来进行抽取分组检测。对于ghost boxes(指包含 许多其他小的检测对象)类型的框,ExtremeNet采 用onm方法进行解决,即若某个框包含的所有

78南京邮电大学学报(自然科学版)2019 年

框的分数和大于其自身的3倍,那么它的分数就 除以2。同时,ExtremeNet算法采用边缘聚合的方 法解决了极点不唯一的问题。

原文报导的ExtremeNet检测器的性能与基于 区域检测方法相当,在COCO数据集上达到了 43. 2%的优异成绩,比同类型的CornerNet检测器最 佳成绩又提高了 1%。

4目标检测器性能比较

4.1检测器性能复现

基于PASCAL VOC2007以及MS-C0C0数据集

部分复现了上述目标检测器性能评估实验,将实际 测量数据与相关报导数据进行了比较。

首先,我们基于Pytorch框架版本Faster RCNN 方法[21]在PASCAL V0C数据集上复现了性能评估 实验。实验结果如表3所示,其中标注参考文献的 为原始报导性能数据,带有复现标注的是本文实际 实验数据,加粗数据表示实验数据优于原始报导性 能数据。可以看到以VOC2007训练集训练模型,在 对应测试集上得到了 70. 09%的mAP。同时,以

VOC2007 + VOC2012两个训练集进行综合训练,在 VOC2007测试集上进行测试得到了 75. 83%的 mAP。还将Faster RCNN的骨干网络VGG-16替换

为ResNetlOl,在其他实验条件不变的情况下,加深 骨干网络带来了进一步的性能提升,分别取得了 75. 19% 和 79. 84% 的 mAP。

表3

Faster RCNN性能表现及其实验结果

检测器训练集

测试集

模型

mAP/%文献[9]0707VGG-1669.90文献[9]07 + 1207VGG-1673.20复现0707VGG-1670.09复现07 + 1207VGG-1675.83复现0707ResNetlOl75.19复现

07+12

07

ResNetlOl

79.84

然后,我们基于Tensorflow框架版本的Mask

RC丽方法[22]在MS-COCO数据集上复现了性能评

估实验,实验结果如表4所示。最终实验结果未能 完全复现原文报导性能,仅能达到34.9%。

表4

Mask RCNN性能表现及其实验结果

检测器数据集

模型

mAP/%文献[10]COCO

ResNetlOl-FPN38.2复现

coco

ResNetlOl-FPN

34.9

对于Y0L0方法,我们对不同版本进行了复现。 其中Yolovl为作者发布的Darknet框架[23],而

Yolov2和Yolov3为腾讯开源的Pytorch框架版

本;24]。实验结果如表5所示。Yolovl在VOC2007 数据集测试得到了 67_ 04%的mAP,在骨干网络更 加轻量化的Tiny Yolovl的版本中,虽然mAP仅有 52.08%,但是其帧速却能够达到192 fps。在Yolov2 的测试中其最佳检测准确率能够达到77. 50% ,比

Yolovl提高了近10个百分点。而在Yolov3中,检

测准确率得到进一步的提升达到了 80. 03% ,又比

Y〇l〇v2提升了大约3个百分点。

表5

YOLO性能表现及其实验结果

检测器

训练集

测试集

模型

mAP/%

Yolovl07 + 1207一

67.04Yolovl

Tiny Yolovl07 + 1207—

52.08Y〇lov2(544 *544)07 + 1207Darknetl977.50Yolov2(480 *480)

07 + 1207Darknetl976.21Yol〇v2Yolov2(416 *416)

07 + 1207Darknetl974.56Yolov2(352 *352)07 + 1207Darknetl971.88Yolov2(288 *288)07 + 1207Darknetl968.50Y〇l〇v3(544 *544)07 + 1207Darknet5380.03Yolov3(480 *480)

07 + 1207Darknet5379.49Yolov3Yolov3(416*416)

07 + 1207Darknet5378.38Yolov3(352 *352)07 + 1207Darknet5376.09Y〇lov3(288 *288)

07 + 12

07

Darknet53

74.17

同时,我们基于Pytorch框架版本的SSD方 法数据集上复现了性能评估实验。实验 结果如表6所示。可以看到在VOC2007训练集上 训练模型,在对应测试集测试得到了 69. 69%的 mAP。同时,在VOC2007 + VOC2012训练集上进行 训练,在VOC2007测试集上进行测试得到了 77. 80%的mAP。检测准确率基本上与Faster RC- NN持平。

表6

SSD性能表现及其实验结果

检测器训练集

测试集

模型

mAP/%文献[12]0707VGG1668.00文献[12]07 +1207VGG1674.30复现0707VGG1669.69复现

07 + 12

07

VGG16

77.80

我们还复现了 ComerNet[26]的实验,实验结果 如表7所示。我们的实验结果比原文结果低了 1. 1 个百分点。

第5期

张索非,等:基于深度卷积神经网络的目标检测算法进展

79

表7 CornerNet性能表现及其实验结果

检测器 训练集

测试集

模型

mAP/%

文献[13] coco.一Irainvaltest_devHourglass40.6复现

coco._trainval

test_dev

Hourglass

39.5

同时,我们还测试了多种检测器的速度性能,实

验结果表8所示。所有方法的速度测试环境:单块 英伟达Tesla P100型号的GPU。

表8 FPS的测试结果

检测器

训练集

测试集

模型

FPSFaster RCNN0707VGG-1610Faster RCNN07+1207VGG-1611Faster RCNN0707ResNetlOl9Faster RCNN07 + 1207ResNetlOl

9Yolovl07 + 1207—45Tiny Yolovl07 + 1207—192Yolov2(544 *544)07 + 1207Darknetl987Yolov2(480 *480)07 + 1207Darknetl9124Yol〇v2(416 * 416)07 + 1207Darknetl9133Yolov2(352 *352)07 + 1207Darknetl9145Yolov2(288 *288)07 + 1207Darknell9154Yolov3(544 *544)07 + 1207Darknet5343Yolov3(480 *480)07 + 1207Darknet5355Yolov3(416 *416)07 + 1207Darknet5361Yolov3(352 *352)07+1207Darknet5370Yolov3(288 *288)

07+1207Darknet5376SSD0707VGG-1643SSD

07 + 12

07

VGG-16

28

从表8中可以看出,两阶段检测器的检测速度 明显差于单阶段检测器。两阶段检测器中最具代表

性的Faster RCNN检测器其帧速最快只有11 fps,达 不到实时性的要求。而在单阶段检测器中,SSD检 测器的帧速为43 fps,速度性能明显优于Faster RC-

NN。一种轻量化的Tiny Yolovl版本的检测速度达

到了 192 fps,而Yolov2和Yolov3也能够分别达到 154 fps和76 fps,但最为重要的是,Yolov2和Yolov3 在保证实时性的同时,其检测精度也达到了最先进 的水平甚至能够跟两阶段检测器相媲美。

4.2综合性能比较

在图7和图8中,我们进一步列出了各种检测 器性能的横向直观比较图。从图中可以看出,两阶 段检测器具有检测精度高但检测速度慢的特点。然 而随着近年来研究的进一步深人,单阶段检测器检

测速度快而检测精度也在不断提升并逼近了传统两 阶段检测器。

Faster Faster Yolovl Yolov2 SSD

Yolov3

RCNN RCNN (VGG- (ResNet 16) 101)

检测器

图7多种检测器mAP的比较

(VGG- (ResNet 16) 101)

检测器

图8多种检测器FPS的比较

5结束语

本文简要分析了近年来基于CNN的目标检测

方法发展的趋势和各自的特点。由于其广泛的应用

前景,基于CNN的目标检测仍然是一个值得深入研 究和探索的领域。从文中分析可以发现,基于CNN 的目标检测算法中的两阶段检测器经历了从RC-

NISUFast RCNN,Faster RCNN,Mask RCNN 再到 Tri- dentNet的发展,检测指标mAP也得到不断地提高。

而单阶段检测器从最初的Y0L0 —直发展到今天的

ExtremeNet,它不仅巾贞速比两阶段检测器快很多,而

且检测精度也逐渐可以与两阶段检测器相媲美。未

来基于CNN的目标检测算法研究还存在许多挑战, 比如模型复杂度过高,数据集过大带来的训练成本 高等问题。这些问题的解决将可以进一步拓展目标 检测方法的适用领域,提高算法的综合性能,进而推 动整个计算视觉领域研究的深人发展。参考文献:

[1 ] DALAL N,TRIGGS B. Histograms of oriented gradients for

human detection[C] // Computer Vision and Pattern Rec­ognition. IEEE, 2005.

[2] FELZENSZWALB P F,GIRSHICK R B,MCALLESTER D,

et al. Object detection with discriminatively trained part-

80南京邮电大学学报(自然科学版)2019 年

based models [ J ]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(9) :1627 - 1645.[3] RUSSAKOVSKY 0,DENG J,SU H,et al. ImageNet large

scale visual recognition challenge[J」. International Journal of Computer Vision ,2015,115 (3) :211 - 252.

[4] EVERINGHAM M,GOOL L,WILLIAMS C,et al. The pas­

cal visual object classes ( VOC) challenge [ J ]. Internation­al Journal of Computer Vision,2010,88(2) :303 -338.[5] LIN T,MAIRE M,BELONGIE S,et al. Microsoft COCO:

common objects in context[ C] ^ECCV. 2014 :740 -755.[6] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich fea­

ture hierarchies for accurate object detection and semantic segmentation [ C ]//Computer Vision and Pattern Recogni­tion. 2014.

[7] KRIZHEVSKY A,SUTSKEVER I, HINTON G. ImageNet

classification with deep convolutional neural networks [CJ//NIPS. 2012.

[8] GIRSHICK R. Fast R-CNN[ C] //IEEE International Con­

ference on Computer Vision. 2015.

[9] REN S,HE K,GIRSHICK R,et al. Faster R-CNN:towards

real-time object detection with region proposal networks [J ]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017 ,39(6) : 1137 - 1149.

[10] HE K,GKIOXARI G, DOLLAR P,et al. Mask R-CNN

[C] //Computer Vision and Pattern Recognition. 2017.

[11] YANGHAO L,YUNTAO C,NAIYAN W,et al. Scale-a­

ware trident networks for object detection[C] //Computer Vision and Pattern Recognition. 2019.

[12] REDMON J,DIVVALA S, GIRSHICK R,et al. You only

look once:unified,real-time object detection[C] //Com­puter Vision and Pattern Recognition. 2016.

[13] LIU W,ANGUELOV D,ERHAN D,et al. SSD:single shot

multibox detector[C] //European Conference on Comput­er Vision. 2016 :21 -37.

[14] LAW H, DENG J. ComerNet: detecting objects as paired

keypoints[C]/7ECCV.2018.

[15] ZHOU X,ZHOU J,KRAHENBUHL P. Bottom-up object

detection by grouping extreme and center points [ C ] // Computer Vision and Pattern Recognition. 2019.

[16] UULINGS J R, VAN DE SANDE K,GEVERS T,et al. Se­

lective search for object recognition [ J」.International Journal of Computer Vision,2013,104(2) : 154 - 171.

[17] HE K,ZHANG X,REN S,et al. Spatial pyramid pooling

in deep convolutional networks for visual recognition [CJ//IECCV.2014.

[18] REDMON J, FARHADI A. YOL09000: better, faster,

stronger[ EB/OL]. [2019-02-10]. https: // arxiv. org/ abs/1612.08242.

[19] IOFFE S,SZEGEDY C. Batch normalization: accelerating

deep network training by reducing internal covariate shift [C ] // International Conference on Machine Learning. 2015:448 -456.

[20] NEWELL A, YANG K,DENG J. Stacked hourglass net­

works for human pose estimation[C] //European Confer­ence on Computer Vision. 2016 :483 -499.

[21 ] LONG C W. Faster RCNN with pytorch[ EB/OL]. [2019-

03-10 ]. https : // github. com/longcw/faster _ rcnn _ py- torch.

[22 ] MATTERPORT. Mask R-CNN for object detection and

segmentation [ EB/OL]. [2019-02-20]. https:// github. com/ matterport/Mask_RCNN.

[23] REDMON J. Darknet: open source neural networks in C

[EB/OL]. [2019-03-24]. http: // pjreddie. com/dark- net/.

[24] TencentYouResearch. OneStageDet [ EB/OL] . [2019-02-

15 ]. https : // github. com/TencentYoutuResearch/Ob- jectDetection-OneStageDet. 2019. 05.

[25] Amdegroot. SSD: single shot multibox object detector, in

PyTorch[ EB/OL]. [2019-03-23]. https: ^github. com/ amdegroot/ssd. pytorch. 2018.

[26] HEI L, JIA D. ComerNet : training and evaluation code

[EB/OL]. [2019-02-25]. https :github. com/prince- ton-vl/ComerNet. 2018.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top