打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【演讲实录】北航:深度学习在自动驾驶环境感知中的应用


汽车·创新港·智汇微沙龙


高频分享    广泛交流   专业对接

主办方: 


第六讲 | 深度学习在自动驾驶环境感知中的应用

如果您也想成为我们的讲师,欢迎直接在本文下方留言给我们!

地点:微讲座信群直播






online speech

主讲人


余贵珍

副教授

北京航空航天大学交通学院




本期演讲内容:

深度学习是近年来人工智能领域取得的最重要的突破之一,它在语音识别、自然语言处理、计算机视觉等诸多领域都取得了巨大成功。由于车辆行驶环境复杂,当前感知技术在检测与识别精度方面无法满足自动驾驶发展需要,深度学习被证明在复杂环境感知方面有巨大优势。本人结合应用研发经验,分享深度学习在自动驾驶环境感知中应用的体会和心得。


1、深度学习概述与现状;

2、深度学习在自动驾驶环境感知应用设想;

3、深度学习在视频感知应用的算法与硬件选择;

4、深度学习算法在ADAS前向视觉环境感知应用分享。

余贵珍:

北京航空航天大学副教授,主要研究方向:智能交通状态感知与控制  自动驾驶智能感知与控制。


以下为此次微沙龙讲座的问答环节实录,请大家小板凳坐好啦!


各位网友:晚上好!感谢各位微信网友在休息时间参加我的微讲座,我叫余贵珍,在北航交通学院任职,研究方向主要是智能交通和自动驾驶的感知和控制方面。今天主要跟各位分享一下深度学习在自动驾驶感知方面应用的一些粗浅认识。


我的汇报内容分四个部分,首先介绍一下自动驾驶在感知方面面临的挑战。



我们知道自动驾驶一般包括四个等级或者五个等级,不管哪个等级都会包含环境感知、规划决策和执行控制等三个方面。其中环境感知方式主要有视觉感知、毫米波雷达感知和激光雷达感知,其中的视觉感知是自动驾驶感知的最主要的方式,我们今天这个PPT主要围绕视觉感知进行研讨。



大家知道最近炒得比较热的特斯拉事件,一个是发生在美国,另外一个发生在中国,我想从技术的角度来谈谈我自己的看法。在美国事件中,特斯拉车上的毫米波雷达因为安装的位置较低,无法检测卡车高的车厢,摄像头应该能检测到卡车了,我们知道特斯拉车辆是从远到近的过程中,所以从这个角度一般能够检测到卡车的。但是最后融合起来的时候可能出现了问题,没有检测到卡车。在中国发生的事故,由于前车突然变道,故障车辆离特斯拉比较近,都在视觉感知和雷达的盲区,毫米波雷达由于前面角度的问题,无法扫描到近距离的侧向车。另外由于故障车的部分出现在摄像头中,视觉感知也没有办法检测到,发生了特斯拉这种刮蹭事故。所以从以上事故可以看出,视觉感知仍然需要完善。



中国的路况较为复杂,雨天、雾霾天以及下雪天。另外,像马车、吊车以及摩托车,还有摩托车拉猪、卡车拉树的现象在我们生活中经常遇到,这些场景对视觉是一个难题,提高这种复杂路况下的感知精度是自动驾驶研究的挑战。 



深度学习被认为是一种有效的解决方案,深度学习是模拟人的大脑,是近10年来人工智能取得一个较大的突破。深度学习在视觉感知中近几年应取得了较大的进展,从右图可以看出,相对于传统的计算机视觉,深度学习在视觉感知精度方面有比较大的优势,特别是2011年以后,有报导指出深度学习如果算法和样本量足够的话,这个准确率可以达到99.9%以上,传统视觉算法一般的检测精度93%左右是一个极限。人的感知,就是人能看到的一般也是准确率95%,所以从这个方面看,深度学习在视觉感知方面是有优势的。


下面我简单介绍一下深度学习方面的基本的知识。


深度学习又名深度神经网络,相对于以前的神经网络来说是一种更多层和节点的神经网络机器学习算法,从这儿可以看出来,其实深度学习是一种机器学习,可以说是一种更智能的机器学习。深度学习主要类型一般包括5种类型,像CNN、RNN、LSTM、RBM和Autoencoder,其中我们主要的是用的CNN,CNN另外一个名字叫卷积神经网络。卷积神经网络已经被证明在图像处理中有很好的效果。


这三个传统的图像处理算法,深度学习核心的优势主要是它的自学习特征,这个自学习特征怎么理解呢?例如智能驾驶需要识别狗,在以前的算法中如果要识别狗,对狗的特征要用程序来详细描述,深度学习这个地方如果采集到足够的样本,然后放在深度学习中训练,训练出来后的系统就可以识别这个狗。传统的计算机的视觉算法需要手工提取特征,很多时候需要专家的知识,算法的鲁棒性设计非常困难,很难保证鲁棒性,我们做视觉感知的时候就遇到很多困难。另外如果要保证这个稳定需要大量的调试,非常耗时。


深度学习一般包括四种类型的神经网络层,输入层、卷积层、池化层、输出层。网络的结构可以10层甚至上百层,一般层数越多检测精度会更精准。并且随着网络层数和节点数的增加,可以表达更细、更多的识别物的特征,这样的话可以为检测精度的提高打下基础。


其中卷积层和池化层是深度学习的核心处理层。卷积层主要是用于负责物体特征的提取;池化层主要是负责采样。比如简单理解池化层,(就是一个数独里面取一个最大值),这就是池化层。卷积层与池化层是深度学习两个核心的层。


深度学习工作的原理,深度学习一般包括两个方面,一个是训练,一个是检测,训练一般主要是离线进行,就是把采集到的样本输入到训练的网络中。训练网络进行前向输出,然后利用标定信息进行反馈,最后训练出模型,这个模型导入到检测的网络中,检测网络就可以对输入的视频和图像进行检测和识别。通常情况下,样本的数量越多,识别的精度一般也会越高,所以这个样本的数量是影响深度学习精度重要的一个因素。


深度学习有很多模型,我们仅仅挑几种跟视频感知相关的几个模型介绍一下,其中最著名的深度学习模型有R-CNN系列。现在在R-CNN系列基础上,经过多位深度学习领域的专家改善,当前的FasterR-CNN已经在效率和精度上达到较好的效果,后面我会对Faster R-CNN进行更细的介绍。


从这个表中可以看出,上面三个模型的精度和效率。图中可以看出FasterR-CNN每秒钟可以检测5帧的图像,效率和精度在这三个里面是最高的。这个检测的精度和效率,主要是基于GPU的TITAN的系统上跑的实验数据。所以根据上面实验数据,一般会使用Faster R-CNN在计算机和GPU上进行一些图像处理的研究。


简单介绍一下CNN里面的另外两个模型,跟Faster R-CNN有点相似,一个是YOLO,一个是SSD。其中YOLO的效率是最高的,1秒钟可以检测更多的帧,但是它的精度稍微差一些。SSD效率和精度是介于YOLO和FasterR-CNN之间的,SSD在效率和精度上做了较好的均衡。


这张PPT是我们在三个在英伟达GPU平台做的一些实验,一个是计算机TITAN,还有一个是JetsonTK1,还有一个是Jetson TX1。在这三个系统里面,我们运行了三种模型,主要运行这个模型的目的,是为了后面选择模型来服务的。  

 

这张PPT使用三个GPU平台对这三个模型进行频率、效率和精度的精准测试。总的来看,我们给出一个这样的建议,如果在计算机上运行的话,因为我觉得资源比较多,所以优选FasterR-CNN。如果在嵌入式里面,资源比较少,考虑到精度和效率的问题,SSD里面有一个300的模型,在嵌入式系统中还是比较好的。SSD从这个表中的最后一列中可以看出,SSD300是每秒钟可以处理3帧,Faster R-CNN在TX这个平台上一般只能处理1/3帧左右,所以SSD300对实时性要求不高,在TX1的平台上应该可以的,如果在TX1要求实时性比较高的话,建议结合其他的算法,光这一个深度学习是不够的,因为深度学习主要是用在目标检测上,如果想要更高的精度和更高的速度可能还要加一些其他的算法进行融合。


下面介绍一下我们在深度学习的一些应用实践的初步感想。


我们这次课程主要是讨论深度学习在环境感知方面的应用,一般的环境感知方面用到的深度学习会多一些,主要是视觉与毫米波雷达方面。在驾驶策略里面也会用到机器学习,但是我们一般叫做增强学习,用于驾驶策略的研究。在环境感知方面,深度学习可以在视觉感知、激光雷达感知,还有驾驶员状态监测等方面,甚至在摄像头和毫米波雷达融合方面都具有优势。



在环境感知方面,我们在这方面做的重要工作就是前向视觉感知应用。大家知道前向视觉感知是作为自动驾驶很重要的一部分,我们尝试深度学习在这方面一些应用。主要采用了单目摄像头的方案,选用的模型是Faster R-CNN,在GPU TITAN 平台上运行。目标检测物主要包括车道线、车辆、行人、交通标识和自行车,目前车辆的样本有3万左右,行人样本大概2万左右,其他的样本较少,大概1000—2000。从运行效果来看,识别精度、识别类型较以前开发的一些传统的视觉算法,我们觉得有比较大的改善。


深度学习的优势之一,容易扩展目标物体类型,例如,我们当初只有对车的样本进行了学习,我们发现效果不错,然后把人的样本加进去,再把自行车的样本加进去,效果都不错,按照这个逻辑,你只要采集到样本,放进网络去训练学习,然后就可以做出相应的检测。如果学习样本达到2000以上,就能有一个比较好的效果,样本越多精度一般会越好的。

 

深度学习优势之二是对部分遮挡物检测的效果也不错,例如在图1中如果采用传统的视觉算法,人在车辆前面,一般的车辆检测比较困难。在图2中,可以看到深度学习的检测结果,红色车的前面已经有人和自行车,但是这个车辆仍然能够被检测到,采用深度学习能提高部分遮挡物体的识别精度。


深度学习优势之三,主要是可以解决临车道车辆部分出现视频中的识别困难问题,其中图1是采用传统的算法,右车道白色的车辆没有被检测出来。为什么没有被检测出来?我们知道一般的传统算法主要是对车辆后部的车子进行检测,对车辆侧向的检测并不好,离你最近的两个车道临近车辆其实对你也是一个危险物。如果能把左右车辆出现部分车辆能够检测出来,我觉得这个对视觉也是一个比较大的改善。前面讲的特斯拉事故,就是说一个车停在路旁,前面的车突然转道,刮蹭的事故中就是因为这个车辆离它太近,没有检测到故障车辆的原因。从图2中可以看到我们用深度学习检测的效果,右车道车辆只有部分在图像中,这个车辆仍然能够被检测出来。所以我们感觉利用深度学习可以解决临道车辆部分出现在视频中识别困难的问题。


深度学习优势之四,可以减少光线变化对物体识别精度的影响。PPT图中的图1是晚上的识别效果,但是实际上我们整个训练样本中没有晚上的车辆和行人。我们最后是把训练之后的网络,检测晚上的视频,效果不错。图2中可以看出,右边树荫底下的几个人,其实如果用肉眼看很难分别出来有几个行人,但是使用深度学习,基本上能把行人都检测出来了。以上就是我们在深度学习中的一些体会,不一定正确,因为我们只是做了一些粗浅的研究。更细的问题,如果大家有什么好的建议,或者发现有一些更新的东西我们可以一起来分享。


最后说一下我们的一些实践体会,对前面的一些总结。


1,深度学习在自动驾驶视觉感知方面,相对于传统的视觉算法,在精度、环境适应性和扩展性方面有一定的优势。前面看到的几个,都是我们做的一些实践的总结。

2,深度学习大家知道除了在视觉方面,在毫米波雷达、激光雷达甚至驾驶员识别方面,我们觉得也有广阔的应用前景。特别是驾驶员状态识别方面,我想提一下,因为最近特斯拉的一些事件都是驾驶员采用的无人驾驶状态,然后把手撒开方向盘,手没有在方向盘上。如果我们有一种摄像头可以检测到这个驾驶员状态的话,那么可以给驾驶员提醒,甚至说监督驾驶员是不是把手放在方向盘上,这样可以减少事故的发生。

3,我们这个PPT仅仅是探讨了深度学习在视频检测中的一些粗浅的应用,距离工程化应用方面仍然还有很多的技术困难需要克服。


我的分享就到这里,感谢各位花了半个小时来听我的微讲座。

 


明天本公众号将发送微讲座的精彩问答。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
机器视觉领域的核心问题—实现物体检测
自动驾驶的视觉感知包括哪些内容?
用于自动驾驶汽车的传感器融合
传感器感知|一文读懂BEV空间内的特征级融合
ADAS/AD前视感知测评
一文读懂无人驾驶汽车感知系统的架构与关键技术
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服