创客空间

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2652|回复: 13

基于深度学习下的目标检测技术综述

[复制链接]

11

主题

74

帖子

171

积分

版主

Rank: 7Rank: 7Rank: 7

积分
171
发表于 2018-10-13 20:19:16 | 显示全部楼层 |阅读模式
[color=rgba(0, 0, 0, 0.3)]作者:康炳杰
[color=rgba(0, 0, 0, 0.3)]

目标检测是计算机视觉和数字图像处理的一个非常重要的技术,旨在从自然图像中定位大量预定义类别的物体实例,是计算机视觉中最基本和最具挑战性的任务之一,广泛应用于机器人导航、智能视频监控、自动驾驶等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。因此,目标检测也就成为了近年来理论和应用的研究热点,同时也是识别领域的一个基础性的算法,对后续的人脸识别、步态识别、人群计数、实例分割等任务起着至关重要的作用。由于深度学习的广泛运用,目标检测算法得到了较为快速的发展,本文广泛调研国内外目标检测技术,对现有目标检测做了一个综述。

关键词:目标检测、深度学习、神经网络

一、背景与意义
二十一世纪开始,大量的深度神经网络学术研究被发表,尤其是 2012 年 ImageNet 图像识别比赛,CNN 网络结构的提出使得图像识别效率上升到一个新的台阶, 至此神经网络开始受到广泛关注,并成为深度学习一个重要的理论结构。而目标 检测技术,简单来说就是通过对大量已有数据集的训练生成一个目标检测模型, 并基此对于给定的图像找到相应的目标的一项技术。目前这项技术已经成为包括 计算机视觉领域在内的必不可少的步骤之一,在使用到神经网络结构的检测模型 后,目标检测的效率以及正确率已经有个相当大的提升。但是,由于图像目标具 有不同姿态且经常遮挡、运动多样性不规则性,同时图像本身的分辨率、亮度等 属性的多样性,都会对目标检测技术的正确检测产生一个很大的影响。所以即使 在神经网络结构模型不断更新的今天,如何优化目标检测技术依然是一个非常具 有挑战性的课题。
图 1 对人和摩托车的目标检测

二、目标检测算法综述
(1)传统的目标检测算法
传统目标检测的方法一般分为三个阶段。第一阶段,在给定的图像上选择一些候选的区域。由于目标可能出现在图像的任何位置,而且目标的大小、长宽比例也不确定,所以最初采用滑动窗口的策略对整幅图像进行遍历,而且需要设 置不同的尺度,不同的长宽比。这种穷举的策略虽然包含了目标所有可能出现 的位置,但是由于扫描过多冗余窗口、扫描时间过长,严重影响后续特征提取 和分类的速度和性能。第二阶段,对这些区域提取特征。由于目标的形态、亮度多样性等因素使得特征很不稳定,这时提取特征的好坏将直接影响对目标的 识别准确率。第三阶段,通过训练 SVM 等模型,对目标特征进行分类。

(2)基于深度学习的目标检测算法
目前主流的目标检测算法主要是基于深度学习模型,其可以分成两大类:其一是 two-stage 检测算法,其将检测问题划分为两个阶段,首先产生候选区域(region proposals),然后对候选区域进行分类和位置精修,这类算法的典型代表是基于 region proposal 的 R-CNN 系算法,如R-CNN,Fast R-CNN,Faster R-CNN 等;其二是 one-stage 检测算法,其不需要候选阶段,直接产生物体的类别概率和位置坐标值,比较典型的算法如 YOLO 和 SSD。目标检测模型的主要性能指标是检测准确度和速度,对于准确度,目标检测要考虑物体的定位准确性,而不单是分类准确度。一般情况下,two-stage 算法在准确度上有优势,而 one-stage 算法在速度上有优势。不过,随着研究的发展,两类算法都在两个方面做改进,均能在准确度以及速度上取得较好的结果。
图 2 卷积神经网络示例

三、目标检测的实际应用
目标检测技术的主要目的就是从图像信息中获取我们需要的特征的信息,包括类别和位置等。其应用广泛,主要有以下几个方面1)人脸检测、(2)计数、(3)视觉搜索、(4)空中影像分析等等。

人脸检测(Face Detection),就是给一幅图,找出图像所有人脸的位置。这对于我们人类来讲非常容易,但对于计算机来说可不是那么简单,他不仅要考虑图像本身的多样性,比如说面部光照、图片背景等,还要考虑面部表情变化, 面部属性识别(性别、年龄等)等。自动人脸检测是围绕自动人脸图像分析的所有应用的基础,是所有现代基于视觉的人与电脑,和人与计算机人,交互系统的初始步骤。现如今许多商业数码相机都开始内嵌人脸检测来辅助自动对焦,同时许多社交网站也开始用人脸检测实现人物标记。
图 3 人群人脸检测

计数(Count),是一个简单但是经常被忽略的目标检测问题。通常的说法,就是利用目标检测技术,统计检测到的目标的个数,实时进行状态更新。统计人、车甚至是微生物数量是现实世界的需求,在大部分基于图像的系统中都要使用。近几年伴随着监控视频设备的不断涌现,使用机器视觉将原图像转化为结构化数据的需求也越来越多。

视觉搜索(Visual Search),简单来说,就是通过图像进行搜索,找到类似的图像信息。这与之前的普通搜索不同的是,它采用的索引是图片而不是文字。这个搜索过程需要将目标检测作为索引图像内容的处理流程之一。比如说,Pinterest 平台可以通过目标检测技术来定位产品,然后从整个库中提取出相似的产品以供用户筛选。
图4 Pinterest 平台视觉搜索相似的女式包

空中影像分析(Image analysis)利用无人机航拍的空中俯视图像或者卫星图片作 为目标检测对象,统计汽车、建筑、轮船等数量,来获取更多的关于地球的数据。 许多公司正在应用无人机摄像对人难以到达的地方进行自动监测(例如BetterView)或者使用物体检测方法进行整体分析(例如 TensorFlight)。 除此之外,一些公司实现了不需人为干预下的场景自动检测和位置识别。这些对于科 技的发展都具有重大意义。
图 5 TensorFight 的影像分析

四、目标检测要解决的核心问题
目标检测技术除了分类之外,还有一些核心难点和挑战需要我们解决,主要包括目标数量位置未知、目标大小形状不同以及检测和分类的建模问题。

首先就是,目标数量问题。在对数据集进行模型训练的之前,我们需要将数据集部分转化为固定长度的向量,以便于统一数据维度进行模型训练。然而训练好的模型仅适用于与数据集结构相同的图像识别。但通常来讲,一张测试图像往往包含有多个符合要求的对象,也可能一个也没有,其目标对象数量是未知的。同时目标事先的位置也是未知的。为了尽可能将所有目标都检测出来,对测试图像和模型做一个预处理是非常有必要的。在传统方法中,输出的目标数量是通过滑动窗口函数来计算,通常在经过一轮检测过后,一些重复检测将会被整合,一些不合理检测将会被丢弃。然而,窗口的数量是很大的,并且随着像素的数量呈二次增长,在多个尺度和纵横比上搜索的需求进一步增加了搜索空间。搜索空间巨大,计算复杂度高。

其次,目标形状和大小不同问题。对于一张测试图像,并非每个目标像素大小都一样,同时检测目标的形状也具有多样性,这对目标检测技术带来一定挑战。传统的方法是通过使用不同大小的滑动窗口或者使用不同大小比例的测试图像来解决这个问题,这种方法虽然简单,但是增加的模型识别的工作量,特别对于图像很大,数据集对象较小的模型来讲,效率极其低下。此外,如果用矩形框来定义目标,则矩形有不同的宽高比。由于目标的宽高比不同,因此采用经典的滑动窗口加图像缩放的方案解决通用目标检测问题的成本太高。
图 6 不同大小形状山羊的目标检测

最后,建模整合问题。目标检测过程可以分为两步,第一是目标定位,第二是目标分类。这两个部分如果分开进行,每次的目标定位图像就需要额外存储,以应对之后的目标分类。这种方案对内存就有一定要求,同时也不便在原图像进行复现和整合,效率相对也不高。因此,将两种不同类型的需求组合到一起能极大简化检测过程,提高目标检测效率。如何组合模型检测的速度更快、效率更高是目标检测面临的一个问题。

五、目标检测的改进算法
目标检测技术在传统算法中,一般采用的是滑动窗口框架,其实质就是穷举法, 其检测效率不高,对现有检测效率很难再有提升,而卷积神经网络的横空出世, 使得目标检测效果进一步提升。下面我主要介绍各种基于神经网络的目标检测模型:

(1)R-CNN,是基于候选区域(region proposals)方法的目标检测算法的开山之作,其先进行区域搜索,然后在对候选区域进行分类。在 R-CNN 中,选用 selective search 方法来生成候选区域,这是一种启发式搜索算法。它先通过简单的区域划分算法将图片划分成很多小区域,然后通过层级分组方法按照一定相似度合并它们,最后的剩下的就是候选区域,它们可能包含一个物体。然后将每个候选区域resize 为固定大小送入CNN 模型中,得出特征向量。最后就是将特征向量送入SVM分类器,预测出候选区域所含物体属于每个类别的概率值。由于一张图片会产生非常多的候选区域,因此 R-CNN 框架依然存在很多问题:训练分阶段步骤繁琐、训练对时间和空间要求高、训练速度低下。
图 7 R-CNN 框架流程

(2)SPP-net,空间金字塔池化层。考虑到模型需要对每个候选出的区域做卷积和分类操作,当候选区域特别多的时候,整个训练过程相当低效。但实际上,无论是哪个候选区域,都是属于原图像的一部分,我们可以考虑对原图像进行卷积, 然后只需要将候选区域在原图的位置映射到卷积层特征图上,这样对于一张图像我们只需要提一次卷积层特征,然后将每个候选区域的卷积层特征输入到全连接层做后续操作。这样的话,可以减少做卷积的次数,从而大量节省时间。而 SPP- net 的目的就是完成整个过程,减少 CNN 的计算,从最后的特征图中找到待选区域的位置。

(3)Fast R-CNN,克服了重复候选区域带来的重复性问题。它采用简化的 SPP层——RoI Pooling 层,同时训练和测试不在分多步,减少空间使用率。过程与 R- CNN 类似,首先将整张图像输入 CNN 中得到图像的特征层;然后通过 Selective search 等方法提取候选区域,并投影到最后的特征层中;通过 ROI Pooling 层操 作得到固定的候选特征表示;最后进行分类和回归。
图 8 Fast R-CNN 框架流程

(4)Faster R-CNN,相比于 Fast R-CNN,舍弃 Selective search 方法而采用 RPN(Region Proposal Networks)网络来计算候选区域,使得候选区域、分类、回归一起共用卷积特征,从而进一步加速检测过程。

(5)YOLO(You Only Look Once),此算法将目标判定和识别合二为一,检测性能有了很大的提升。首先将图片缩放、划分为等分网络,然后输入卷积网络, 分别得到边框、置信度以及类别的概率,最后在原始图像中画出目标检测结果。YOLO 特点很明显,就是速度快,但是划分的网格个数限制了对小尺寸物体和相近物体的检测。
图 9 YOLO 框架流程

(6)SSD(Single Shot Multibox Detector),采用两部分网络,用于图像分类的标准网络和用于检测多尺度特征映射网络,有效改善了 YOLO 的缺点。

图 10 SSD 框架流程


六、目标检测的未来展望
随着目标检测技术算法的逐步优化,目标检测效率和准确度的逐步提高,终会使这一技术广泛服务人类。这对人类无人化设备发展,提高作业效率具有重大意义。 就目前来说,目标检测技术可以运用于安防、工业、汽车辅助驾驶等多个领域。

广受关注的汽车辅助驾驶领域,目标检测能够可以实现精确的检测车身周围的人、 车辆、路牌等信息,实时报警等,而且目前已经取得了很多重要成果。但同时也面临着诸多挑战。比如形态各异的外貌特征、复杂多样的背景环境、行人与摄像机之间动态变化的场景、系统实时性与稳定性的严格要求等。还有在安防检测领域中,可以实现比如安全帽、安全带等动态检测,移动侦测、区域入侵检测、物品看护等功能。但还有很多不足需要完善,比如环境问题等等。当然有注意到, 所有的目标检测都是建立在白天的基础上,相信下一步能完善夜晚、灯光昏暗情 况下的目标检测问题,慢慢达到人眼所能达到的辨识率。相信未来会有更多的领域使用目标检测技术,同时无论在目标检测算法方面,还是在目标检测应用方面, 目标检测算法都会达到一个新的高度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

58

帖子

138

积分

注册会员

Rank: 2

积分
138
发表于 2018-10-20 21:39:59 | 显示全部楼层
早知道前世的五百次回眸,能换来今生的与你相遇。我就该把头甩断,来换这一辈子与你相遇。
回复

使用道具 举报

4

主题

82

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2018-10-21 07:53:12 | 显示全部楼层
上头条
回复

使用道具 举报

7

主题

61

帖子

139

积分

注册会员

Rank: 2

积分
139
发表于 2018-10-17 07:20:06 | 显示全部楼层
看到楼主我有种智商上的优越
回复

使用道具 举报

8

主题

80

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2018-10-17 04:58:56 | 显示全部楼层
专业五毛
回复

使用道具 举报

5

主题

71

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2018-10-14 16:04:03 | 显示全部楼层
痛并快乐着
回复

使用道具 举报

6

主题

67

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2018-10-19 03:00:13 | 显示全部楼层
好像很牛B的样子
回复

使用道具 举报

12

主题

71

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2018-10-16 07:23:18 | 显示全部楼层
字数太多,不看
回复

使用道具 举报

8

主题

62

帖子

148

积分

注册会员

Rank: 2

积分
148
发表于 2018-10-23 13:44:43 | 显示全部楼层
我去年买了表
回复

使用道具 举报

5

主题

75

帖子

175

积分

注册会员

Rank: 2

积分
175
发表于 2018-10-20 05:30:37 | 显示全部楼层
元芳你怎么看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|创客空间

GMT+8, 2024-11-27 06:30 , Processed in 0.016039 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表