Computer Engineering and Applications 计算机工程与应用
2018,54(13)
11
目标检测算法研究综述
方路平 1,何杭江 1,周国民 2
FANG Luping1, HE Hangjiang1, ZHOU Guomin2
1. 浙江工业大学 信息工程学院,杭州 310023
2. 浙江警察学院 计算机与信息技术系,杭州 310053
1.College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China
2.Department of Computer And Information Technology, Zhejiang Police College, Hangzhou 310053, China
FANG Luping, HE Hangjiang, ZHOU Guomin. Research overview of object detection methods. Computer Engi-
neering and Applications, 2018, 54(13):11-18.
Abstract:Object detection is an important problem in computer vision, which has critical research value in the field of
pedestrian tracking, license plate recognition and unmanned driving. In recent years, the accuracy of image classification
is greatly improved with deep learning, thus the object detection methods based on deep learning have gradually become
mainstream. The development and present situation of object detection methods are reviewed, and a prospect is made.
Firstly, the development, improvement and deficiency of the traditional algorithms and depth learning- based algorithms
are summarized, and then compared. Finally, the difficulties and challenges of the object detection method based on deep
learning are discussed, and the possible development direction is prospected.
Key words:object detection; deep learning; computer vision; convolutional neural networks; object classification detection
摘 要:目标检测是计算机视觉中一个重要问题,在行人跟踪、车牌识别、无人驾驶等领域都具有重要的研究价值。
近年来,随着深度学习对图像分类准确度的大幅度提高,基于深度学习的目标检测算法逐渐成为主流。梳理了目标
检测算法的发展与现状,并作出展望 :总结了传统算法与引入深度学习的目标检测算法的发展、改进与不足,并就此
做出对比 ;最后讨论了基于深度学习的目标检测算法所存在的困难与挑战,并就可能的发展方向进行了展望。
关键词:目标检测 ;深度学习 ;计算机视觉 ;卷积神经网络 ;目标分类检测
文献标志码:A 中图分类号:TP183
doi:10.3778/j.issn.1002-8331.1804-0167
1 引言
视觉,作为人类接收信息的主要方式之一,负责超
过 80%的信息获取。视觉计算理论创始人 Marr[1]认为
视觉的主要作用是将二维的图像通过计算进行三维重
建,也就是对空间物体的识别和理解。和人类视觉基本
功能一样,计算机视觉中物体的分类和检测,一直是一
个重要问题。随着计算机技术的迅猛发展,目标检测已
在人脸识别、行人跟踪、车牌识别、无人驾驶等领域获得
广泛应用。
相比于图像分类,目标检测更具难度。目标检测,
就是将目标定位和目标分类结合起来,利用图像处理技
术、机器学习等多方向的知识,从图像(视频)中定位感
兴趣的对象。目标分类负责判断输入的图像中是否包
含所需物体(object),目标定位则负责表示目标物体的
位置,并用外接矩形框定位。这需要计算机在准确判断
目标类别的同时,还要给出每个目标相对精确的位置。
自目标检测的概念提出以来,国内外学者针对这个
问题做出了不懈探索。传统的目标检测算法,多是基于
滑动窗口的框架或是根据特征点进行匹配。自 2012 年
AlexNet[2]在当年度 ImageNet 大规模视觉识别挑战赛中
一举夺冠,且效果远超传统算法,将大众的视野重新带
回到深度神经网络。2014 年 R-CNN[3]的提出,使得基于
基金项目:国家自然科学基金(No.U1509219,No.81771481)。
作者简介:方路平(1968—),男,硕士,教授,研究领域为机器学习、云计算、物联网技术及其应用,E-mail:flp@zjut.edu.cn;何杭江
(1994—),男,硕士研究生,研究领域为机器学习、图形图像研究;周国民(1971—),男,硕士,副教授,研究领域为公安
应用技术、图形图像研究。
收稿日期:2018-04-16 修回日期:2018-06-01 文章编号:1002-8331(2018)13-0011-08
12
2018,54(13)
Computer Engineering and Applications 计算机工程与应用
CNN[4]的目标检测算法逐渐成为主流。
深度学习的应用,使检测精度和检测速度都获得了
改善。因此,笔者认为,目标检测算法可以根据是否应
用深度学习,将之分为传统算法与基于深度学习的目标
检测算法。
本文将对传统算法与基于深度学习的目标检测算
法的主要算法进行论述,并分析相关算法的优缺点,结
合现有的问题,对将来的发展作出预测。
2 传统算法
传统算法大致可以分为目标实例检测与传统目标
类别检测两类:
(1)目标实例检测问题通常利用模板和图像稳定的
特征点,获得模板与场景中对象的对应关系,检测出目
标实例。目标实例检测关注的只是具体目标本身,图像
中的其余对象都是无关量。
(2)传统目标类别检测则通过使用 AdaBoost[5]算法
框架、HOG[6]特征和支持向量机[7]等方法,根据选定的特
征和分类器,检测出有限的几种类别。
2.1 SIFT 系列算法
2.1.1 SIFT 算法
Lowe 提出的 SIFT[8]算法,通过查找不易受光照、噪
声、仿射变换影响的特征点来匹配目标,是目前应用极
为广泛的关键点检测和描述算法。
该算法通过使用高斯模糊实现尺度空间,高斯差分
函数(Difference of Gaussian)进行极值检测,再通过对
边缘主曲率的判定,筛除边缘响应的不稳定点,得到匹
配稳定、抗噪能力强的关键点。最后利用方向直方图统
计关键点邻域梯度和方向,获得描述符。
(a)高斯金字塔 (b)高斯差分金字塔
图 1 高斯差分金字塔示意图
SIFT 算法通过一系列方法,保证提取的特征具有
平移、缩放及旋转不变等特性,对于光线、噪声、少量视
角改变也具有一定的鲁棒性,针对部分遮挡也有不错的
识别率。但是,SIFT 算法存在复杂度高,检测速度慢,
对模糊图像和光滑边缘很难提取有效特征点等问题。
2.1.2 PCA-SIFT 算法
对于 SIFT 存在的问题,Ke 等人提出了 PCA-SIFT[9]
算法。该算法在 SIFT 的基础上,对其最后一步做出了
改进。引入主成分分析(PCA)方法,使用 PCA 替代直方
图,来对描述子向量进行降维,以提高匹配效率。
相较 SIFT,PCA-SIFT 维数更少且灵活可变,检测速
度约为 SIFT 的 3 倍。但降维损失部分信息,导致只对具
有代表性的图像有较好效果,具有局限性。
2.1.3 SURF 算法
SURF[10]算法也是一种基于SIFT的改进算法,Hessian
矩阵是该算法的核心。该算法利用高斯滤波保证尺度
无关性,并用盒式(box)滤波器替代高斯滤波器,简化计
算。通过 Hessian 矩阵的构建,获取关键点定位。另外,
在 尺 度 空 间 中 ,不 同 于 SIFT 构 建 不 同 尺 度 的 图 像 ,
SURF 保持图像大小不变,只改变滤波器的大小,从减少
了计算量。
简单来说,SURF 算法利用近似的 Hessian 矩阵减少
降采样过程,快速构建尺度金字塔,实现了目标检测速
度的提高。
2.1.4 改进
除 了 上 述 算 法 以 外 ,还 有 面 向 稠 密 特 征 提 取 的
DAISY[11]描述子、可以较好处理大视角变化情况的ASIFT[12]
算法、结合 Fast[13]和 Brief[14]的速度优势的 ORB[15]算法。
其中,ORB 算法利用 Fast 检测特征点,Brief 计算特征点
的描述子,其特征点性能介于 SIFT 与 SURF 之间,运行
效率却远快于 SURF。
2.1.5 比较
对于 SIFT、PCA-SIFT 以及 SURF 这三种算法,笔者
作出如下总结:
PCA-SIFT 与 SURF 算法分别对 SIFT 的匹配过程做
出简化,因此在特征点匹配精度上必然有所下降。其中
SIFT 算法提取的特征点最为丰富,在尺度、旋转等情况
下都具有最好的性能,但高复杂度导致检测速度最慢,
且对于模糊、光滑边缘的提取效果并不理想;PCA-SIFT
使用 PCA 方法进行降维,减少计算的同时,产生信息丢
失,因此整体性能在三种算法中比较一般;SURF 合理利
用积分图减少运算,小波变换、Hessian 矩阵等方法基本
不会降低精度,因此在获得好检测速度的同时,也保证
了整体性能优于 PCA-SIFT。
2.2 基于 AdaBoost 系列算法
2.2.1 AdaBoost 算法
AdaBoost 是一种是基于 Boosting[16]的机器学习算
法。初始时,设训练集中 n 个样本具有相同的权重。在
每次训练后调整训练集中数据权重,增加错误样本的权
重,使得下一个分类器能够对错误样本进行重点训练。
经过 N 轮训练后,将 N 个弱分类器整合,根据各分类
器的性能分配相应的权值,组成一个高准确率、低错误
率的强分类器。
2.2.2 Viola-Jones 算法
Viola-Jones[17-18]算法是第一种能实时处理且效果较
好的人脸检测算法,此算法的提出标志着人脸检测进入
实际应用阶段。
方路平,何杭江,周国民:目标检测算法研究综述
2018,54(13)
13
分类
算法逻辑
优点
缺点
适用场合
表 1 传统目标检测算法对比
方法
SIFT
实例检测
提取平移、缩放、旋转不
变的描述子用以匹配
检测特征丰富,具有
优秀匹配效果
PCA-SIFT
实例检测
PCA 降维减少运算
检测速度获得改善
SURF
实例检测
ORB
实例检测
VJ
类别检测
近似 Hessian 矩阵,积分
图减少降采样
检测速度快,精度
较高,综合性能好
Fast 检测特征点,Brief
检测速度快,检测
计算特征点描述子
精度良好
Haar+AdaBoost 检测目
标,级联减少计算量
第一种能够实时检
测的人脸检测算法
计算量大,检测速度慢
不完全仿射不变,检测
精度不高
过于依赖主方向的选取
准确度
图像识别(无速度要求)、
图像拼接、图像恢复等
特征点匹配
物体识别、3D 重构
不具备尺度不变性
实时视频处理
准确率一般,鲁棒性不足
人脸/物体检测
Viola-Jones 检测算法(简称 VJ 算法)使用 Haar 特征
来描述窗口,反映局部区域的明暗变化,并利用积分图
的思路解决 Haar 特征提取时计算量大、重复的缺点。
同时,引入级联的思想。如图 2 所示,VJ 根据分类器的
复杂程度和计算代价排列,分类代价越高的分类器需要
分类的图像越少,减少分类工作量。
正确
正确
分类器 1
分类器 2
分类器 N
错误
错误
错误
图 2 级联示意图
概括地说,VJ 算法利用 Haar-like 特征描述目标共
有属性,利用积分图实现特征快速计算,使用级联分类
器减少 AdaBoost 的计算量,快速检测出目标。
2.2.3 改进
Rainer Lienhart 和 Jochen Maydt 将 Viola- Jones 检
测器用对角特征进行扩展,形成了 Haar[19]分类器。除此
之外,也有将 Stump 函数改为决策树、使用 RealBoost、
GentleBoost 等分类器的算法陆续提出。
2.3 总结
如表 1 所示,本文针对传统算法做出对比总结。总
的来说,这些算法的目的都是在保证提取丰富、准确特
征的前提下,快速地进行特征计算及预测。但传统算法
提取的特征基本都是低层次、人工选定的特征,这些特
征相对更直观、易理解,针对特定对象更有针对性,但不
能很好地表达大量、多类目标。
3 基于深度学习的目标检测算法
自从 AlexNet 在比赛中使用卷积神经网络进而大幅
度提高了图像分类的准确率,便有学者尝试将深度学习
应用到目标类别检测中。卷积神经网络不仅能够提取更
高层、表达能力更好的特征,还能在同一个模型中完成对
于特征的提取、选择和分类。在这方面,主要有两种主流
的算法:一类是结合 region proposal、CNN 网络的,基于
分类的 R-CNN 系列目标检测框架(two stage);另一类
则是将目标检测转换为回归问题的算法(single stage)。
3.1 基于分类的检测算法
Region proposal(候 选 区 域)[20] 是 通 过 Selective
Search[21]等算法,根据图像中纹理、边缘、颜色等信息,检
测较少区域的同时保证了较高的召回率。
3.1.1 OverFeat 算法
OverFeat[22]是最先将深度学习应用到目标检测中的
算法之一。
严格来说,OverFeat 并没有使用 region proposal,但
其思路被后面的 R-CNN 系列沿用并改进。该算法通过
多尺度的滑动窗口结合 AlexNet 提取图像特征,完成检
测 。 在 ILSVRC 2013 数 据 集 上 的 平 均 准 确 率(mean
Average Precision,mAP)为 24.3%,检测效果较传统算
法有显著改进,但依旧存在较高错误率。
3.1.2 R-CNN 算法
在 Overfeeat 提出后不久,Ross Girshick 等人提出了
R-CNN 模型。如图 3 所示,R-CNN 利用 Selective Search
获得候选区域(约 2 000 个)。随即对候选区域大小进行
归一化,用作 CNN 网络的标准输入。再使用 AlexNet 获
得候选区域中的特征,最后利用多个 SVM 进行分类以
及线性回归微调定位框(Bounding-box)。
SVM
输入图像 候选区域 归一化 卷积网络 SVM 分类
图 3 R-CNN 结构示意图
R-CNN 将检测效果从 OverFeat 的 24.3%大幅提升
至 31.4%(ILSVRC 2013 数据集),并在 VOC2007 数据
集上获得 58.5%的准确率(下文中如无特殊说明,皆为
VOC2007 数据集上检测结果)。但是,R-CNN 对近 2 000
个候选区域分别做特征提取,而候选区域之间存在许多
重复区域,导致大量且重复的运算,运行缓慢,平均每幅
图片的处理时间为 34 s。同时,对每一步的数据进行存
储,极为损耗存储空间。另外,对候选区域进行归一化
操作,会对最终结果产生影响。
14
2018,54(13)
Computer Engineering and Applications 计算机工程与应用
3.1.3 SPP-Net
如图 4 所示,针对 R-CNN 对所有候选区域分别提取
特征的缺点,SPP-Net[23]一次性对整张图片作卷积操作
提取特征。使得特征提取从 R-CNN 的近 2 000 次变为
提取 1 次整张图片特征,大大减少了工作量。
输入图像
卷积层
候选区域
空间金字
塔池化层
图 4 SPP-Net 结构示意图
特征
SVM
SVM 分类
另外,SPP-Net 在最后一个卷积层后、全连接层前添
加空间金字塔池化层(SPP 层),提取固定尺寸的特征向
量,避免对候选区域大小进行归一化的复杂操作。
以上两点改进使得 SPP-Net 的检测速度比 R-CNN
快 38~102 倍,并解决了候选区域归一化问题。SPP-Net
虽然更换了卷积网络,但准确率相差无几。同时,SPP-
Net 依然没有解决 R-CNN 存储空间消耗的问题,确定候
选区域、特征提取、对象分类、定位修正这些步骤依然是
分离的。
3.1.4 Fast-RCNN
Fast R-CNN[24]算法在SPP-Net的基础上,将SPP层简
化为 ROI Pooling 层,并将全连接层的输出作 SVD 分解,
得到两个输出向量:softmax 的分类得分以及 Bounding-
box 外接矩形框的窗口回归。
这种改进将分类问题和边框回归问题进行了合并;
用 softmax 代替 SVM,将所有的特征都存储在显存中,
减少了磁盘空间的占用;SVD 分解则在几乎不影响精度
的情况了,极大加快检测速度。
Fast R-CNN 使用 VGG16 代替 AlexNet,平均准确
率达到 70.0%,且训练速度较 R-CNN 提升 9 倍,检测速
度 达 到 每 幅 图 片 0.3 s(除 去 region proposal 阶 段)。
Fast R-CNN 依然使用 Selective Search 方法选取候选
区域,这一步骤包含大量计算。在 CPU 上运行时,获取
每 张 图 片 的 候 选 区 域 平 均 需 要 2 s。 由 此 可 见 ,改 进
Selective Search 是 Fast R-CNN 速度提升的关键。
3.1.5 Faster-RCNN
SPP-Net 和 Fast R-CNN 从特征提取的角度,减少了
工作量,但依然没有解决 Selective Search 选择候选区域
速度慢的问题。Faster R-CNN[25]使用 RPN 网络(Region
Proposal Networks)替代 Selective Search 算法,使目标
识别实现真正端到端的计算。
如图 5 所示,RPN 网络通过在特征图上做划窗操
作,使用预设尺度的锚点框映射到原图,得到候选区
域。RPN 网络输入的特征图和全连接层中的特征图共
享计算。RPN 的使用,使 Faster R-CNN 能够在一个网
络框架之内完成候选区域、特征提取、分类、定位修正等
操作。
坐标点+是否为候选区域
M 个尺度
N 个长宽比
积
卷
检测框
图 5 RPN 网络示意图
RPN 使得 Faster R-CNN 在 region proposal 阶段只
需 10 ms,检测速度达到 5 f/s(包括所有步骤),并且检测
精度也得到提升,达到 73.2%。但是,Faster R-CNN 仍
然使用 ROI Pooling,导致之后的网络特征失去平移不
变性,影响最终定位准确性;ROI Pooling 后每个区域经
过多个全连接层,存在较多重复计算;Faster R-CNN 在
特征图上使用锚点框对应原图,而锚点框经过多次下采
样操作,对应原图一块较大的区域,导致 Faster R-CNN
检测小目标的效果并不是很好。
3.1.6 R-FCN
目标检测要包括两个问题:分类问题和检测定位问
题。前者具有平移不变性,后者具有平移敏感性。
R-FCN[26]使用全卷积网络 ResNet[27]代替 VGG,提升
特征提取与分类的效果;针对全卷积网络不适应平移敏
感性的缺陷,该算法使用特定的卷积层生成包含目标空
间位置信息的位置敏感分布图(Position Sensitive Score
Map);ROI Pooling 层后不再连接全连接层,避免重复
计算。
R-FCN 的准确率达到 83.6%,测试每张图片平均花
费 170 ms,比 Faster-RCNN 快了 2.5~20 倍。但是 R-FCN
在得到 Score map 需要生成一个随类别数线性增长的
channel 数,这一过程虽然提升了目标检测精度,但减慢
了检测速度,导致其难以满足实时性要求。
3.1.7 Mask R-CNN
Mask R-CNN[28]是一种在 Faster R-CNN 基础上加
以改进的算法,增加了对实例分割的关注。该算法在分
类和定位回归以外,加入了关于实例分割的并行分支,
并将三者的损失联合训练。
实例分割要求实例定位的精准度达到像素级,而
Faster R-CNN 因为 ROI Pooling 层的等比例缩放过程
中引入了误差,导致空间量化较为粗糙,无法准确定
位。Mask R-CNN 提出双线性差值 RoIAlign 获得更准
确 的 像 素 信 息 ,使 得 掩 码(mask)准 确 率 提 升 10% 到
50% ;Mask R- CNN 还 使 用 ResNeXt[29] 基 础 网 络 ,在
COCO 数据集上的检测速度为 5 f/s,检测准确性从 Fast
R-CNN 的 19.7%提升至 39.8%。
方路平,何杭江,周国民:目标检测算法研究综述
2018,54(13)
15
分类
RoIAlign
卷积
卷积
图 6 Mask R-CNN 结构示意图
Mask R-CNN 在检测精度、实例分割方面都达到目
前最高的层次。其后一些算法在性能上有所提升,但基
本维持在同一水平。但是该算法的检测速度依旧难以
满足实时要求,并且实例分割目前也还面临着标注代价
过于昂贵的问题。
3.1.8 改进
HyperNet[30]提出结合底层、中间层以及高层的 Hyper
Feature,在小物体的处理上获得更好的效果 ;A-Fast-
RCNN[31]则引入 GAN[32],生成高难度的样本以提高网络
对遮挡、形变的适应性;Light Head R-CNN[33]针对 Faster
R-CNN 以及 R-FCN 的 head 部分,减少密集计算。尽量
保持在精度的同时减少了计算量,达到 102 f/s(Xception
网络)。
3.1.9 小结
如图 7 所示,从 R-CNN 开始,研究者将目标检测的
问题关注点集中到分类上,采用“region proposal+CNN
feature+SVM”的思路,利用了 CNN 网络,大大提高了检
测的精度;后面的 SPP-Net、Fast-RCNN、Faster-RCNN 等
基本沿用了这一思路,在检测效率上进行改进;但 Faster-
RCNN 只能达到 5 f/s,就实时性而言略有不足。随后的
R-FCN 虽然有所提升,但效果依然无法令人满意。对
此,研究者提出了另一种新思路,直接将目标检测转化
到回归上,用一张图片得到 bounding box 以及类别。
selective search
确定候选区域
selective search
确定候选区域
特征提取
SVM
分类
位置
修正
特征提取
深层网络
(分类-位
置修正)
RPN 网络特
征提取深层
网络(分类+
位置修正)
R-CNN
Faster RCNN
图 7 R-CNN、Fast R-CNN、Faster R-CNN 对比
Fast RCNN
3.2 基于回归的检测算法
3.2.1 YOLO
从 R- CNN 到 Faster- RCNN,目 标 检 测 始 终 遵 循
“region proposal+分类”的思路,训练两个模型必然导致
参数、训练量的增加,影响训练和检测的速度。由此,
YOLO[34]提出了一种“single-stage”的思路。
如 图 8 所 示 ,YOLO 将 图 片 划 分 为 S × S 的 网 格
(cell),各网格只负责检测中心落在该网格的目标,每个
网格需要预测两个尺度的 bounding box 和类别信息,一
次性预测所有区域所含目标的 bounding box、目标置信
度以及类别概率完成检测。
S
网格
Bounding box
图 8 YOLO 网格划分示意
YOLO 采用以 cell 为中心的多尺度区域取代 region
proposal,舍弃了一些精确度以换取检测速度的大幅提
升,检测速度可以达到 45 f/s,足以满足实时要求;检测
精度为 63.4%,较 Faster R-CNN 的 73.2%,差距较大。
YOLO 在极大提高检测速度的情况下,也存在以下
问题:(1)因为每个网格值预测两个 bounding box,且类
别相同,因此对于中心同时落在一个网格总的物体以及
小物体的检测效果差,多物体环境下漏检较多;(2)由于
YOLO 关于定位框的确定略显粗糙,因此其目标位置定
位准确度不如 Fast-RCNN;(3)对于外型非常规的物体
检测效果不佳。
3.2.2 SSD
Faster- RCNN 检 测 检 测 精 度 高 但 检 测 速 度 慢 ,
YOLO 检测精度不高但检测速度快,SSD[35]则结合两者
的优点,在 YOLO 的基础上借鉴了 RPN 的思路,在保证
高精度检测的同时,兼顾检测速度。
如图 9 所示,因为不同层的特征图具有对应大小的
感受野,特定层的特征图只需要训练对应尺度的对象检
测。因此,SSD 结合高层和底层的特征图,使用多尺度
区域特征进行回归。
8×8
4×4
图 9 特征图感受野示意图
SSD300的mAP能达到73.2%,基本与Faster R-CNN
(VGG16)持平,而检测速度达到 59 f/s,比 Faster R-CNN
快 6.6 倍。但是 SSD 具有以下问题:(1)小目标对应到特
征图中很小的区域,无法得到充分训练,因此 SSD 对于
小目标的检测效果依然不理想;(2)无候选区域时,区域
回归难度较大,容易出现难以收敛等问题;(3)SSD 不同
层的特征图都作为分类网络的独立输入,导致同一个物
体被不同大小的框同时检测,重复运算。
3.2.3 YOLOv2 以及 YOLO9000
YOLOv2[36]通过在每一个卷积层后添加 batch nor-
malization、多尺度训练,加入 K-mean 维度聚类等方式,
使 得 检 测 速 度 和 精 度 的 再 次 提 升 。 该 算 法 能 够 在
76.8%正确率的同时达到 67 f/s 的检测速度,78.6%的正
确率时达到 40 f/s。该算法性能基本代表目前业界的最
16
2018,54(13)
Computer Engineering and Applications 计算机工程与应用
先进水平。
同文还提出了 YOLO9000,该算法采用 wordTree 层
次分类,混合检测数据、识别数据集,在分类和检测数据
集上同时训练,实现 9 418 类的检测。
无论是 YOLO 系列还是 SSD 算法,都沿用 R-CNN
系列算法先在大数据集上进行分类预训练,再在小数据
集上 fine-tune 的方法。但 fine-tune 预训练模型有以下
问题:(1)预训练模型,往往无法迁移到如医疗图像等特
定数据上;(2)预训练模型结构基本固定,难以修改;
(3)预训练样本和最终检测目标有所区别,得到的模型
未必是检测目标的最佳模型。
3.2.4 改进
针对预训练模型的问题,DSOD[37]算法提出一种从零
训练网络的方法,达到媲美 fine-tune模型的效果。DSOD
基于 SSD 算法,在特征融合部分引入 DenseNet[38]思想,
减少了参数量;mAP 为 77.7%,与 SSD300 相当;检测速
度为 17.4 f/s,较 SSD300 的 46 f/s 尚有较大差距。
R-SSD[39]算法则在 SSD 的基础上,增加不同层之间
特征图的关联,避免同一物体重复框的问题;同时增加
特征金字塔中特征图的数量,改善小物体的检测效果。
该算法 mAP 为 80.8%,略高于 SSD。但是特征图的增
加,导致计算量增加,检测速度降低,仅为 16.6 f/s。
3.3 其他
除了基于回归和 region proposal 的两种思路以外,
还有放弃 bounding box 改用概率模型的 Locnet[40];基于
RNN[41]的 RRC[42];使用深度可分离卷积的网络结构,用
较小参数量达到大型网络相当精度的 MobileNets[43]以
及 SSDLite[44]等方法。
另外,近两年还出现了一些针对特定场景特定目标
的检测。Lea 等人提出了用于特定动作分割和检测的网
络[45],Dong[46]和 Chen 等[47]则关注于 3D 目标检测。这些
算法更多地结合场景信息、空间信息与时间信息,而不
是单纯的定位分类。
表 2 对基于深度学习的目标检测模型性能做出对
比,表 3 对模型实时性与优缺点做出总结。
表 2 基于深度学习目标检测模型性能对比
模型
基础网络
OverFeat
R-CNN
SPP-Net
Fast R-CNN
Faster R-CNN
AlexNet
AlexNet
ZF-5
VGG16
VGG16
R-FCN
ResNet-101-C4
Mask R-CNN
YOLO
SSD
ResNeXt
Custom
VGG16
YOLOv2 416
DarkNet-19
DSOD300
DS/64-192-48-1
R-SSD
VGG16
ILSVRC
2013
24.3
31.4
—
—
—
—
—
—
—
—
—
—
VOC2007
—
58.5
59.2
70.0
73.2
83.6
—
63.4
73.2
76.8
77.7
80.8
检测速度/
(f·s-1)
—
34 s/张
2
3
5
6
5
45
59
67
17.4
16.6
4 思考与展望
基于深度学习的目标检测在检测精度以及检测速
度上,较传统方法获得了极大的提高,但依然面临这一
些问题:
(1)对于小数据量,目前的框架可能无法得到好的
结果。目前的算法,大多使用了迁移学习,也就是现在
现有的大数据集中进行训练,再将训练好的“半成品”做
fine-tune 操作。若目标数据不在 ImageNet 等数据集中,
训练效果要视目标与大数据集相关程度而定。DSOD
算法虽然设计了一种从零开始训练的网络,也取得了不
错的效果,但是其检测速度尚有待提升。
(2)深度学习解释性差,特别是在更深的层次上,很
多时候只能依靠测试和经验来猜测其有效或无效的原
因,对于中间的过程缺少明确的解释,更像是一个黑盒。
(3)计算强度大。GPU 的使用,提升了计算机的运
算能力,但是很多操作依然过于庞大。如何简化、复用
计算的同时,尽可能保证准确率,可能会是一个可以创
新的点。
模型
实时性
优点
缺点
表 3 基于深度学习目标检测模型优缺点对比
OverFeat
R-CNN
SPP-Net
Fast R-CNN
Faster R-CNN
R-FCN
Mask R-CNN
YOLO
SSD
YOLOv2 416
DSOD300
R-SSD
否
否
否
否
较差
较差
较差
优秀
优秀
优秀
较好
较好
最早使用 CNN 进行特征提取
图像滑窗,时间、空间开销大
确定候选区域,CNN 提取特征,SVM 分类,性能比
对每个候选区域都做特征提取,
传统算法显著提高
整张图片提取特征,加快速度;SPP 层,避免候选区域归一化
时间、空间开销大
空间开销大
同时完成定位和分类,节省空间
真正完成端到端训练测试
定位精度更高
实例分割准确、检测精度更高
网络简单,检测速度优异
网络简单,检测准确度获得高
允许用户在精度和速度之间调整
不需要预训练
小目标检测效果较好
候选区域选取方法计算复杂,
模型复杂,小目标检测不佳,空间量化粗糙
模型复杂,计算量大
实例分割代价昂贵
定位准确度低,小目标、多目标检测效果不佳
模型难收敛,小目标检测效果不佳
使用预训练,难迁移
检测速度一般
模型计算复杂,检测速度一般
方路平,何杭江,周国民:目标检测算法研究综述
2018,54(13)
17
(4)对于场景信息、语义信息等视频中原有信息的
5 结束语
利用不充分,造成一些有效信息的损失。
(5)无论是 R-CNN 系列还是 SSD 等算法,始终无法
在小目标检测问题上获得令人满意的效果。就目前算
法而言,为保证检测速度,通常减少特征金字塔的图像,
以减少计算量,但这必然导致小目标在特征图上得不到
充分训练;如 R-SSD 增加特征图数量,损失了检测速
度。此问题与问题(3)有一定相通之处。
针对上述问题以及近两年研究趋势,结合周俊宇等
人在此方向上所做的研究[48],本文对目标检测算法未来
的发展方向做出讨论:
(1)更多更全面的数据集。目前有两种解决思路:
一种是人工手动标注,对于小数据量而言,操作简单且
能保证较高正确率,但对大数据量以及物体分割要求精
准标注的数据时,力有不逮;另一种是使用平行视觉方
法。张慧等人 [49]在展望中提到了王坤峰等 [50]提出的平
行视觉思路,旨在利用人工场景模拟实际场景,通过计
算实验对模型进行设计和评估,平行执行在线优化视觉
系统。平行视觉如果实现,那么将解决标注数据集不足
的问题,促进目标检测发展。
(2)更多的计算共享。不论是 R-CNN 系列还是基
于回归的检测算法,都是为了让不同的 ROI 之间的计算
量得到更多的共享,以达到加快运算的目的。
(3)RNN 思想的尝试。视频本身是包含上下文信
息的,这是人类做出某些判断的依据。深度学习是一种
类人的“学习”方式,结合深度学习中的循环神经网络思
想是一种较可能实现的思路。另外,结合具体场景及语
意信息,真正去“理解”场景也是一种思路。
(4)更具体的应用场景。高红红等人[51]针对监控视
频光线暗、画质差的特点,提出一种基于背景分类的检
测算法;赵燕熙等人[52]采用自底向上和自顶向下相结合
的方式,消除动态背景的干扰,取得较好的效果;Wang
等人[53]提出一种利用卷积网络检测视频中显著目标的
模型;Li 等人 [54]提出一种检测小型交通标志的网络;
Dong[46]和 Chen 等人[47]探索如何将自然环境中的目标检
测转换为 3D;Dave 等人[55]更关注对目标具体动作的识
别。可以看出,目标检测,特别是基于深度学习的目标
检测,正在向着更具体、更实际的场景发展。
(5)“新”神经网络的应用。从 AlexNet 到 VGG 再到
ResNet 和 ResNext,基础网络的改进,也是目标检测效果
不断提升原因之一。早在 2011 年,被誉为“神经网络之
父”的 Hinton 就提出 capsule 的概念。他在 2017 年的论
文中提出了捕捉空间结构信息的 capsule 概念[56],用向量
输出代替标量输出,改善 CNN 网络各特征之间联系缺
失,需要大量数据集的问题。
从最初的人为寻找特征到最近的基于深度学习的
目标检测算法,可以看出对于目标检测的要求始终是快
速、精准以及适用范围广。就目前来说,传统的目标检
测方法仍在使用,且在一段时间内仍会有一定市场。传
统的目标检测技术对数据量要求少,在针对数据来源不
够丰富的项目时,可能会取得比深度学习更好的效果。
但是将深度学习应用到目标检测中是可以预见的主流
趋势。特别是随着硬件设备性能的提升,一定范围内的
运算量处理将不会再成为实时检测的掣肘。
如何利用上下文关联信息、场景信息和语义信息,
将会是接下来目标检测的一个重要研究方向。假使平
行视觉的思路切实可行,那么数据集标注困难、数据量
不足的问题,将获得较好的解决。另外,如何更好解决
与训练集关联性不大的小数据集检测问题,也是一个比
较重要的研究方向。Hinton 的 capsule 能否获得比传统
CNN 更好的效果,也需要进行进一步的研究。
参考文献:
[1] Marr D.Vision:A computational
human representation and processing of visual
tion[M].[S.l.]:W H Freeman and Company,1982.
Investigation into the
informa-
[2] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classifi-
cation with deep convolutional neural networks[J].Com-
munications of the ACM,2012,60(2).
[3] Girshick R,Donahue J,Darrell T,et al.Rich feature hier-
archies for accurate object detection and semantic seg-
mentation[C]//Proceedings of IEEE Conference on Com-
puter Vision and Pattern Recognition,2013:580-587.
[4] Lecun Y,Boser B,Denker J S,et al.Backpropagation
applied to handwritten zip code recognition[J].Neural
Computation,1989,1(4):541-551.
[5] Freund Y,Schapire R E.Experiments with a new boosting
algorithm[C]//Proceedings of Thirteenth International Con-
ference on International Conference on Machine Learning,
1996:148-156.
[6] Dalal N,Triggs B.Histograms of oriented gradients for
human detection[C]//Proceedings of IEEE Conference on
Computer Vision and Pattern Recognition,2005:886-893.
[7] Vapnik V N.The nature of statistical
learning theory[J].
Technometrics,1997,8(6):1564.
[8] Lowe D G.Distinctive image features from scale-invariant
keypoints[J].International Journal of Computer Vision,
2004,60(2):91-110.
[9] Ke Y,Sukthankar R.PCA-SIFT:A more distinctive repre-
sentation for
image descriptors[C]//Proceedings of
IEEE Computer Society Conference on Computer Vision
and Pattern Recognition,2004:506-513.
local
[10] Bay H,Tuytelaars T,Gool L V.SURF:Speeded up robust
18
2018,54(13)
Computer Engineering and Applications 计算机工程与应用
features[J].Computer Vision & Image Understanding,
2006,110(3):404-417.
works[C]//Proceedings of
Neural Information Processing Systems,2015:91-99.
International Conference on
[11] Tola E,Lepetit V,Fua P.DAISY:An efficient dense
descriptor applied to wide-baseline stereo[J].IEEE Trans-
actions on Pattern Analysis & Machine Intelligence,
2010,32(5):815-830.
[12] Morel J M,Yu G.ASIFT:A new framework for fully
image comparison[J].SIAM Journal on
affine invariant
Imaging Sciences,2009,2(2):438-469.
[13] Rosten E,Drummond T.Machine learning for high-speed
corner detection[C]//Proceedings of European Conference
on Computer Vision,2006:430-443.
[14] Calonder M,Lepetit V,Strecha C,et al.BRIEF:Binary
robust
independent elementary features[C]//Proceedings
of European Conference on Computer Vision,2010:
778-792.
[15] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient
IEEE
alternative to SIFT or SURF[C]//Proceedings of
International Conference on Computer Vision,2012:
2564-2571.
[16] Schapire R E.The strength of weak learn ability[C]//
Proceedings of the Second Annual Workshop on Com-
putational Learning Theory,1989:197-227.
[17] Viola P,Jones M.Rapid object detection using a boosted
cascade of simple features[C]//Proceedings of the 2001
IEEE Computer Society Conference on Computer Vision
and Pattern Recognition,2003:511-518.
[18] Viola P,Jones M J.Robust real- time face detection[J].
International Journal of Computer Vision,2004,57(2):
137-154.
[19] Lienhart R,Maydt J.An extended set of Haar-like features
for rapid object detection[C]//Proceedings of International
Conference on Image Processing,2002:900-903.
[20] Hosang J,Benenson R,Dollar P,et al.What makes for
effective detection proposals?[J].IEEE Transactions on
Pattern Analysis & Machine Intelligence,2016,38(4):814.
[21] Uijlings J R R,Sande K E A V D,Gevers T,et al.
recognition[J].International
Selective search for object
Journal of Computer Vision,2013,104(2):154-171.
[22] Sermanet P,Eigen D,Zhang X,et al.OverFeat:Integrated
recognition,localization and detection using convolutional
networks[J].Eprint Arxiv,2013.
[23] He K,Zhang X,Ren S,et al.Spatial pyramid pooling
in deep convolutional networks for visual recognition[J].
IEEE Transactions on Pattern Analysis & Machine
Intelligence,2015,37(9):1904-1916.
[24] Girshick R.Fast R-CNN[C]//Proceedings of ICCV 2015,
2015.
[25] Ren S,He K,Girshick R,et al.Faster R-CNN:Towards
real- time object detection with region proposal net-
[26] Dai J,Li Y,He K,et al.R-FCN:Object detection via region-
based fully convolutional networks[C]//Proceedings of
NIPS 2016,2016.
[27] He K,Zhang X,Ren S,et al.Deep residual
image recognition[C]//Proceedings of
learning
for
International
Conference on Computer Vision and Pattern Recognition,
2016:770-778.
[28] He K,Gkioxari G,Dollár P,et al.Mask R- CNN[C]//
Proceedings of ICCV 2017,2017.
[29] Xie S,Girshick R,Dollar P,et al.Aggregated residual
transformations for deep neural networks[C]//Proceedings
of IEEE International Conference on Computer Vision
and Pattern Recognition,2016:5987-5995.
[30] Kong T,Yao A,Chen Y,et al.HyperNet:Towards accu-
rate region proposal generation and joint object detec-
tion[C]//Proceedings of IEEE International Conference
on Computer Vision and Pattern Recognition,2016:
845-853.
[31] Wang X,Shrivastava A,Gupta A.A-Fast-RCNN:Hard
positive generation via adversary for object detection[C]//
Proceedings of CVPR 2017,2017.
[32] Goodfellow I J,Pouget-Abadie J,Mirza M,et al.Generative
adversarial networks[J].Advances in Neural Information
Processing Systems,2014,3:2672-2680.
[33] Li Zeming,Peng Chao,Yu Gang,et al.Light-Head R-CNN:
In defense of two-stage object detector[C]//Proceedings
of CVPR 2017,2017.
[34] Redmon J,Divvala S,Girshick R,et al.You only look
once:Unified,real- time object detectiono[C]//Proceedings
of CVPR 2015,2015:779-788.
[35] Liu W,Anguelov D,Erhan D,et al.SSD:Single shot
multibox detector[C]//Proceedings of European Conference
on Computer Vision,2016:21-37.
[36] Redmon J,Farhadi A.YOLO9000:Better,faster,stronger[C]//
Proceedings of CVPR 2016,2016.
[37] Shen Z,Liu Z,Li J,et al.DSOD:Learning deeply super-
vised object detectors from scratch[C]//Proceedings of
CVPR 2017,2017:1937-1945.
[38] Huang G,Liu Z,Maaten L V D,et al.Densely connected
convolutional networks[C]//Proceedings of CVPR 2016,
2016.
[39] Jeong J,Park H,Kwak N.Enhancement of SSD by con-
catenating feature maps for object detection[C]//Proceedings
of CVPR 2017,2017.
[40] Gidaris S,Komodakis N.LocNet:Improving localization
accuracy for object detection[C]//Proceedings of IEEE
International Conference on Computer Vision and Pattern
Recognition,2016:789-798.
(下转 33 页)