大牛讲堂 | 山世光博士:自动驾驶系统中的目标检测技术

雷锋网按:作者山世光博士,中科院计算所研究员、博导,主要从事计算机视觉、模式识别、机器学习等相关研究工作。迄今已发表CCF A类论文50余篇,全部论文被Google Scholar引用9000余次。现任IEEE TIP,TIPNeurocomputing和PRL等国际学术刊物的编委(AE)。研究成果曾获2005年度国家科技进步二等奖和2015年度国家自然科学奖二等奖。

本文中,山世光博士主要给我们分享梳理了物体检测技术的近期进展。

 1.  Viola-Jones人脸检测器

 

物体检测在整个计算机领域里,比较成功的一个例子,就是在大概2000年前后出现的Viola-Jones人脸检测器,其使得物体检测相比而言成了一项较为成熟的技术。

这个方法基本的思路就是滑动窗口式的,用一个固定大小的窗口在输入图像进行滑动,窗口框定的区域会被送入到分类器,去判断是人脸窗口还是非人脸窗口。滑动的窗口其大小是固定的,但是人脸的大小则多种多样,为了检测不同大小的人脸,还需要把输入图像缩放到不同大小,使得不同大小的人脸能够在某个尺度上和窗口大小相匹配。这种滑动窗口式的做法有一个很明显的问题,就是有太多的位置要去检查,去判断是人脸还是非人脸。

判断是不是人脸,这是两个分类问题。在2000年的时候,采用的是AdaBoost分类器。进行分类时,分类器的输入用的是Haar特征,这是一种非常简单的特征,在图上可以看到有很多黑色和白色的小块,Haar特征就是把黑色区域所有像素值之和减去白色区域所有像素值之和,以这个差值作为一个特征,黑色块和白色块有不同的大小和相对位置关系,这就形成了很多个不同的Haar特征。AdaBoost分类器是一种由多个弱分类器组合而成的强分类器,Viola-Jones检测器是由多个AdaBoost分类器级联组成,这种级联结构的一个重要作用就是加速。

2000年人脸检测技术开始成熟起来之后,就出现了相关的实际应用,例如数码相机中的人脸对焦的功能,照相的时候,相机会自动检测人脸,然后根据人脸的位置把焦距调整得更好。

 2.  可变形部件模型(DPM)

Viola-Jones人脸检测器之后,在2009年出现了另外一个比较重要的方法:deformable part model(DPM),即可变形部件模型。

就人脸检测而言,人脸可以大致看成是一种刚体,通常情况下不会有非常大的形变,比方说嘴巴变到鼻子的位置上去。但是对于其它物体,例如人体,人可以把胳膊抬起来,可以把腿翘上去,这会使得人体有非常多非常大的非刚性变换,而DPM通过对部件进行建模就能够更好地处理这种变换。

刚开始的时候大家也试图去尝试用类似于Haar特征+AdaBoost分类器这样的做法来检测行人,但是发现效果不是很好,到2009年之后,有了DPM去建模不同的部件,比如说人有头有胳膊有膝盖,然后同时基于局部的部件和整体去做分类,这样效果就好了很多。DPM相对比较复杂,检测速度比较慢,但是其在人脸检测还有行人和车的检测等任务上还是取得了一定的效果。后来出现了一些加速DPM的方法,试图提高其检测速度。DPM引入了对部件的建模,本身是一个很好的方法,但是其被深度学习的光芒给盖过去了,深度学习在检测精度上带来了非常大的提升,所以研究DPM的一些人也快速转到深度学习上去了。

 3. R-CNN 系列 

对于基于深度学习的物体检测方法,这里把最近两三年里面出现的比较有代表性的工作做一个概括性地介绍。一个就是R-CNN系列,另一个是传统方法和深度学习的方法的结合。这些方法出现之后带来检测性能的极大的提升,待会我的博士生会介绍性能提升的具体情况,大家可以看到,检测精度几乎是成倍地增长。当然这里面还是存在一些问题,就是检测速度,我知道很多工业界的朋友都在想办法对基于深度学习的检测方法进行加速。

 

所谓的R-CNN,是基于这样一种非常简单的想法,对于输入图像,通过selective search等方法,先确定出例如2000个最有可能包含物体的窗口,对于这2000个窗口,我们希望它能够对待检测物体达到非常高的召回率。然后对这2000个中的每一个去用CNN进行特征提取和分类。对这2000个区域都要去跑一次CNN,那么它的速度是非常慢的,即使每次只需要0.5秒,2000个窗口的话也是需要1000秒,为了加速2014年的时候何凯明提出了SPP-net,其做法是对整个图跑一次CNN,而不需要每一个窗口单独做,但是这样有一个小困难,就是这2000个候选窗口每一个的大小都不一样,为了解决这个问题,SPP-net设计了spatial pyramid pooling,使得不同大的小窗口具有相同维度的特征。这个方法使得检测时不需要对每一个候选窗口去计算卷积,但是还是不够快,检测一张图像还是需要几秒的时间。

Fast R-CNN借鉴了SPP-net的做法,在全图上进行卷积,然后采用ROI-pooling得到定长的特征向量。例如不管窗口大小是多少,转换成7x7这么大。

Fast R-CNN还引入了一个重要的策略,在对窗口进行分类的同时,还会对物体的边框进行回归,使得检测框更加准确。前面我们说候选窗口会有非常高的召回率,但是可能框的位置不是很准,例如一个人体框可能是缺胳膊缺腿,那么通过回归就能够对检测框进行校准,在初始的位置上求精。Fast R-CNN把分类和回归放在一起来做,采用了多任务协同学习的方式。

 Faster R-CNN相比于Fast R-CNN又带来了一个比较大的变化,其将产生候选窗口这一步也用深度网络来做,并且让这个网络和Fast R-CNN的分类网络共享了卷积层,这个产生候选窗口的网络叫做RPN,是Faster R-CNN的核心。

RPN替代了之前非常慢的Selective Search,而且通常所用的候选窗口的数目也比较少,只需要300个就够了,这使得后面分类的速度会更快。为了检测各种各样的物体,RPN引入了所谓anchor box的设计,具体来说,RPN在最后一个卷积层输出的特征图上,先用3x3的卷积得到每个位置的特征向量,然后基于这个特征向量去回归9个不同大小和长宽比的窗口,如果特征图的大小是40x60,那么总共就会有大约2万多个窗口,把这些窗口按照信度进行排序,然后取前300个作为候选窗口,送去做最终的分类。通过用RPN替换Selective Search,并采用共享卷积层的方式,同时降低了候选窗口的数量,Faster R-CNN在速度上有了明显提高,其在GPU上可以达到5fps的速度。

4. 回归位置——YOLO&SSD

2015年出现了一个名为YOLO的方法,其最终发表在CVPR 2016上。这是一个蛮奇怪的方法,对于给定的输入图像,YOLO不管三七二十一最终都划分出7x7的网格,也就是得到49个窗口,然后在每个窗口中去预测两个矩形框。这个预测是通过全连接层来完成的,YOLO会预测每个矩形框的4个参数和其包含物体的信度,以及其属于每个物体类别的概率。YOLO的速度很快,在GPU上可以达到45fps。

  

在YOLO之后,在2015年Liu Wei提出了名为SSD的方法。前面提到的YOLO有一个明显的缺点,就是最多只能检测7x7=49个物体,如果图像中有超过49个物体,那么肯定会有检测不到的,YOLO在每个网格里面只会检测一个物体,如果一个网格里面同时放入两个物体,那么其中一个就会被漏检。

 

相比之下,SSD采用了类似于RPN中anchor box的机制,YOLO基于整个特征图用全局信息一起去回归所有位置的检测框,而SSD是用卷积基于局部特征去回归各个位置的检测框,并且SSD还用到了不同层的特征,之前YOLO只用了最后一个卷积层上的特征,这样做的缺点就是难以检测小尺度的物体,最后一个卷积层上的神经元其感受野会非常大,小尺度的物体在这上面的特征就非常不明显。从速度上来看,在一些情况下,SSD甚至会比YOLO更快,在GPU上达到58fps的速度

5. Cascade CNN

在物体检测领域,过去有这样一种现象,就是对每一个物体我们都需要去设计和学习单独的检测器,例如做人脸检测和车辆检测,两个检测器特征会不一样,分类器也不一样,对于每一类物体,需要去尝试不同的特征和分类器的组合。但是到了现在,不管是R-CNN那一系列方法,还是YOLO和SDD,都没有在物体类别上有任何限制,可以检测人脸,也可以同时检测其他类别的物体,这是一个非常重要的优势。但是在特定类别物体的检测上,现在也还是有一些专门的方法,比方说做人脸检测的Cascade CNN,其用CNN替换了AdaBoost分类器,为了保证速度足够快,其采用非常简单的CNN,比方说把卷积核的数量控制得非常少。在cascade的前面级上,需要非常快速地处理滑动窗口,因此用的CNN会非常简单,到后面级上窗口变少,分类难度变大,会需要稍微复杂一点的CNN。目前Cascade CNN在公开的人脸检测评测集FDDB上,在产生100个误检的的时候,召回率能够达到85%。

 6. 总结

上面介绍了一些代表性的基于深度学习的物体检测方法,简单总结一下:

  • 首先深度学习给检测精度确实带来了非常大的提升。

以ImageNet上的物体检测任务为例,mAP从2013年的0.23提升到了2015年的0.62,这个变化是非常显著的。

  • 其次,物体检测方法中发生了的一个重要的变化,就是bounding box regression的引入。回归的方式开始兴起,这不仅有利于定位,还有助于得到更为准确的检测框。
  • 最后,产生窗口的方式有很大的变化,从原来遍历式的滑动窗口,转变成了去寻找最有可能出现物体的窗口,只对少量的窗口去进行分类。

雷锋网(公众号:雷锋网)注:本文由大牛讲堂授权发布,如需转载请联系原作者,并注明作者和出处,不得删减内容。有兴趣可以关注公号【地平线机器人技术】,了解最新消息。

本文作者:大牛讲堂

本文转自雷锋网禁止二次转载,原文链接

时间: 2025-01-01 04:38:07

大牛讲堂 | 山世光博士:自动驾驶系统中的目标检测技术的相关文章

中科视拓CTO山世光:如何用X数据驱动AI成长? | CCF-GAIR 2017

雷锋网AI科技评论按:7月7日,全球人工智能和机器人峰会(CCF-GAIR 2017)在深圳如期举办,由CCF中国计算机学会主办.雷锋网(公众号:雷锋网)与香港中文大学(深圳)承办的这次大会共聚集了来自全球30多位AI领域科学家.近300家AI明星企业.雷锋网最近将会陆续放出峰会上的精华内容,回馈给长期以来支持雷锋网的读者们! 本次带来中科视拓CTO,中科院计算所研究员山世光博士在GAIR 2017大会上的分享精华. 山世光,中科院计算所研究员.博导,基金委优青,CCF青年科学奖获得者,现任中科

演讲实录丨山世光 闲话AI时代的视觉智能

小编按 10月22日,来自国内外人工智能专家及行业领袖齐聚世界机器人大会,在其专题论坛2016中国智能机器人产业高峰论坛上展开一场别开生面的机器人和人工智能主题演讲,并带来精彩互动交流. 了解到还有很多粉丝不能到场参会,小编特地整理了参会嘉宾中科视拓董事长.计算机视觉专家山世光的报告速记,让大家一睹为快~ 本文根据速记进行整理 闲话AI时代的视觉智能 山世光 中科视拓董事长.计算机视觉专家 山世光:非常高兴今天有机会到这样一个论坛上来分享一下关于在人工智能时代的计算机视觉发展情况.今天我们这个论

CNCC 2016 | 山世光:深度化的人脸检测与识别技术—进展与展望

雷锋网(公众号:雷锋网)按:本文根据山世光在 CNCC 2016 可视媒体计算论坛上所做的报告<深度化的人脸检测与识别技术:进展与问题>编辑整理而来,在未改变原意的基础上略有删减. 山世光,中科院计算所研究员,中科院智能信息处理重点实验室常务副主任.主要从事计算机视觉.模式识别.机器学习等相关研究工作.迄今已发表CCF A类论文50余篇,全部论文被Google Scholar引用9000余次.曾应邀担任过ICCV,ACCV,ICPR,FG等多个国际会议的领域主席(Area Chair).现任I

《机器人爱好者(第3辑)》——LIDAR用于自动驾驶汽车中的地图应用

LIDAR用于自动驾驶汽车中的地图应用 图11所示的Velodyne HDL LIDAR传感器是另一个非常重要的传感器(也很昂贵,大概需要7万美元),它安置在车顶,并且带有一个GPS接受天线.这个传感器不仅能够获得位置信息,而且感知快速改变的环境.目前为止,这是成功操作自动驾驶汽车所需要的最昂贵的信息器件.还使用了其他的传感器,包括RADAR,就是如图12所示的汽车原型的前面的突起的部分.这个传感器检测汽车前面的障碍,并且判断汽车和障碍物的接近程度. 所有这些传感器彼此结合起来使用,使得如图13

自动驾驶的必由之路:一部V2X技术的进化史

雷锋网(公众号:雷锋网)·新智驾按:本文来自国内某大型车企技术中心智能驾驶运动控制工程师的投稿,作者笔名贾斯汀一世.本文主要介绍了V2X中,DSRC和C-V2X两种技术的进化史. V2X,顾名思义就是vehicle-to-everything,其希望实现车辆与一切可能影响车辆的实体实现信息交互,目的是减少事故发生,减缓交通拥堵,降低环境污染以及提供其他信息服务. V2X主要包含vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), v

大牛讲堂 | 邬书哲:物体检测算法的革新与传承

雷锋网(公众号:雷锋网)按:本文作者邬书哲博士,师从中科院计算所山世光博士. 邬书哲博士对山世光博士讲到的内容在细节上做了补充.其补充内容主要包含三个部分:首先是深度学习在物体检测领域点燃的星星之火,即R-CNN系列的工作,其次是针对检测器的速度问题所提出的两个代表性方法:YOLO和SSD,最后是传承了经典检测方法的Cascade CNN.   R-CNN系列 R-CNN的出现带来检测精度的一次巨大提升,在Pascal VOC 2010上,全面超越了之前的方法,mAP提高了20%:在ImageN

全网唯一完整译文 | Waymo无人车报告:通往自动驾驶之路

前不久,Waymo(前Google自动驾驶项目)向美国交通部提交了一份43页的安全报告,这份报告详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生.这份报告是Waymo以第一视角,对自己自动驾驶技术的最完整解读. 据雷锋网了解,Waymo可能最快今年11月上线自动驾驶打车服务.在自动驾驶走向商业化之际,Waymo的这份报告不仅是对自己八年开发的总结,也彰显了它对自己及新技术的信心.或许我们将迎来一个自动驾驶的新世界,这份报告则是一个起点. 以下是Waymo报告完整

深度:自动驾驶特斯拉背后核心技术解析

雷锋网按:本文作者魏秀参,谢晨伟南京大学计算机系机器学习与数据挖掘所(LAMDA),研究方向为计算机视觉和机器学习. 说起特斯拉,大家可能立马会想到今年 5 月份发生在特斯拉 Model S 自动驾驶上的一宗夺命车祸.初步的调查表明,在强烈的日照条件下,驾驶员和自动驾驶系统都未能注意到牵引式挂车的白色车身,因此未能及时启动刹车系统.而由于牵引式挂车正在横穿公路,且车身较高,这一特殊情况导致 Model S 从挂车底部通过时,其前挡风玻璃与挂车底部发生撞击,导致驾驶员不幸遇难. 无独有偶,8 月

自动驾驶应有传感器冗余

人类历史上第一起无人驾驶致死事故发生了. 5月7日,一辆特斯拉 2015 Model S的车主,美国前海豹突击队队员,乔舒亚·布朗过于信任Autopilot(自动驾驶)系统,选择在驾驶的时候观看<哈利波特>,全速撞上了一辆左转的白色大挂拖车,从车底穿过后,又撞上了两个护栏,最终重伤后身亡. 近年来,人们热衷辅助驾驶系统(ADAS)甚至自动驾驶技术,无非就是追求车辆的"零伤亡".但该事故的发生,引起了业界对自动驾驶技术的广泛思考甚至是质疑. 计算机视觉与毫米波雷达为什么判断失