前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >目标检测算法:RCNN、YOLO vs DPM

目标检测算法:RCNN、YOLO vs DPM

作者头像
triplebee
发布2018-01-12 14:45:00
1.7K0
发布2018-01-12 14:45:00
举报

以下内容节选自我的研究报告。

1. 背景

目标检测(object detection)简单说就是框选出目标,并预测出类别的一个任务。它是一种基于目标几何和统计特征的图像分割,将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要[1]。

随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。

2. 人工特征

一般方法的步骤:滑窗提取特征->分类器分类

图2.2.1 DPM模型可视化

文献[2,3]提出的DPM模型应该是在目标检测这块最好的人工特征方法。它对HOG特征进行改进,并提出了全局和局部两个模型(如图2.2.1所示),大幅提高人工特征在目标检测上的精度。DPM的方法存在的缺点是特征相对复杂,计算速度慢,对于旋转、拉伸的物体检测效果不好。因为无人机视频普遍分辨率比较大,且视角不固定,所以如果将DPM直接用来解决无人机视频的目标检测问题,很可能无法保证实时性和模型的泛化性能。

在2013年以前,利用深度学习进行目标检测还未成为主流,大多数目标检测的方法还是借鉴DPM方法的思路进行改进,并没有发生本质变化的新方法提出,因而目标检测的研究工作遭遇了瓶颈。

3. 深度学习

在DPM方法遭遇瓶颈的时候,也有一部分人在研究如何利用深度学习进行目标检测。

文献[4]提出了可以利用深度学习来处理目标检测的问题,作者将检测当作一个回归boundingbox的问题来处理,优点是相比于用滑动窗口来提取特征的方式,这样的方法更高效,但是检测精度非常差,远远落后于人工特征的方法。

既然回归的方法效果不好,那么当作分类问题来处理会怎么样呢?Girshick在文献[5-8]中做了这样的一系列研究,形成了RCNN->SPPNet->fastRCNN->fasterRCNN的一条研究线。这类方法的一般步骤:候选区域生成->深度网络提取特征->分类器分类,回归修正。

为了解决“将目标检测当作分类问题处理会怎样?”这个问题,RCNN出现了。

RCNN:使用过分割[9]生成候选区域,再使用CNN提取特征,特征分别送入多个SVM分类,回归修正boundingbox,最后使用NMS和边缘检测再次修正,整个过程如图2.3.1所示。它的贡献是检测效果大幅提升,提出了用深度学习进行目标检测的新框架,但是缺点也很明显,各候选区域重复提取特征导致速度很慢。

图2.3.1 RCNN目标检测流程

SPPNet:在最后一个卷积层后设计了空间金字塔池化层,这样网络输入可以不是一个固定的尺寸,能最大程度避免拉伸、裁剪造成图像的信息损失。建立原始图像部分区域与提取特征的映射关系,对于给定区域,可以直接计算特征,避免重复卷积。

为了解决RCNN多个候选区域重复计算的问题,在借鉴SPPNet思想的基础上,fast-RCNN出现了。

fast-RCNN:整个过程如图2.3.2所示,与RCNN的不同在于有三个方面,加入了RoI pooling layer,这层与SPPNet的池化层作用相同;在充分实验的基础上,将SVM换成softmax;把分类和boundingbox回归放在同一个网络的后面进行,大幅减少了计算开销。它的优点在于避免重复卷积,同时整合了多个任务,计算效率进一步提升。现在整个网络的架构和优化已基本完成,制约速度的关键在于候选区域的生成。

图2.3.2 fast-RCNN目标检测流程

为了解决Region proposal速度慢的问题,faster-RCNN出现了。

faster-RCNN:它的核心思想是将候选区域生成也交给网络来做。因为在下一个目标检测的fast-RCNN中还需要修正目标位置,所以候选区域生成并不需要过于精确的方法。候选区域生成网络本质上也是一个fast-RCNN,它的输入是预先设置好的图像中的一个区域,输出是该区域属于前景还是背景和修正后的区域。这样的方法只指定了少数几个可能为目标的区域,无论是比起滑窗,还是比起过分割,都快上了很多。

通过这一系列工作,网络的作用由单纯提取特征演化为完成目标检测整个流程的一种深度架构,目标检测的精度和速度也一再提高。现在,关于Faster-RCNN系列的工作也遇到了问题,以分类问题对待目标检测暂时没有什么突破点,所以大家都在考虑以最开始的将目标检测单纯作为回归问题的思路进行研究。

RCNN系列的缺点在于将检测问题转化成了对图片局部区域的分类问题后,不能充分利用图片局部目标在整个图片中的上下文信息,于是文献[10]又提出了一种将目标检测作为回归问题的方法YOLO,整个过程如图2.3.3所示。

图2.3.3 YOLO目标检测流程

YOLO:将图像分成多个网格,分别回归boundingbox和信任值,最后以NMS过滤掉低分box。YOLO缺点在于对靠得很近的物体检测效果不好,泛化能力弱,由于损失函数的问题,定位误差是影响检测效果的主要原因。即使YOLO目前还不完善,即使它比不上已经非常完善的faster-RCNN,但它的速度和精度都要好于人工特征的方法,一旦解决了这些问题,性能将具有非常大的上升空间。

现在最新的目标检测方法为SSD,先占个坑,以后有时间再来写一下SSD。完全针对定位精度的研究工作LocNet等。

References:

   [1]    https://en.wikipedia.org/wiki/Object_detection

   [2]    Felzenszwalb P, McAllester D,Ramanan D. A discriminatively trained, multiscale, deformable partmodel[C]//CVPR, 2008: 1-8.

   [3]    Felzenszwalb P F, Girshick R B,McAllester D, et al. Object detection with discriminatively trained part-basedmodels[J]. PAMI, 2010, 32(9): 1627-1645.

   [4]    Szegedy C, Toshev A, Erhan D.Deep neural networks for object detection[C]//NIPS. 2013: 2553-2561.

   [5]    Girshick R, Donahue J, DarrellT, et al. Rich feature hierarchies for accurate object detection and semanticsegmentation[C]//CVPR. 2014: 580-587.

   [6]    Girshick R. Fast r-cnn[C]//ICCV.2015: 1440-1448.

   [7]    Ren S, He K, Girshick R, et al.Faster R-CNN: Towards real-time object detection with region proposalnetworks[C]//NIPS. 2015: 91-99.

   [8]    He K, Zhang X, Ren S, et al.Spatial pyramid pooling in deep convolutional networks for visualrecognition[C]//ECCV, 2014: 346-361.

   [9]    Uijlings J R R, van de Sande KE A, Gevers T, et al. Selective search for object recognition[J]. IJCV, 2013,104(2): 154-171.

 [10]    Redmon J, Divvala S, GirshickR, et al. You only look once: Unified, real-time object detection. CVPR, 2016.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 背景
  • 2. 人工特征
  • 3. 深度学习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档