• 采购项目
  • 配套企业库
  • 销量查询
  • 盖世汽车社区
  • 盖世大学堂
  • 盖亚系统
  • 盖世汽车APP
  • 2024第四届汽车智能底盘大会
  • 2024第五届汽车电驱动及关键技术大会
  • 2024第二届中国汽车与CMF设计大会
  • 2024泰国汽车市场深度考察(第二期)
  • 第六届汽车新供应链大会
当前位置:首页 > 智能网联 > 正文

多传感器环境感知——百度的探索与实践

—百度自动驾驶事业部高级技术经理陶吉博士

盖世汽车 2016-08-22 16:54:53

智能网联大潮下,ADAS作为离现实最近的自动驾驶实现手段,备受行业关注。近日,“第三届智能汽车技术国际论坛暨创新展”集合诸多行业专家、学者针对此话题展开深入探讨,盖世汽车将论坛中部分演讲进行梳理,以飨以内。

多传感器环境感知——百度的探索与实践

百度自动驾驶事业部高级技术经理陶吉博士

以下内容为百度自动驾驶事业部高级技术经理陶吉博士关于“多传感器环境感知——百度的探索与实践”的演讲实录:

大家下午好!我是来自百度自动驾驶事业部的陶吉。我们从研究院的研究项目变成公司的事业部,这个目的也很明确,想把它从研究型项目变成真正能够商业化和真正落地的,为大家所使用的项目。今天我介绍的内容关于自动驾驶里面的环境感知这部分,百度这边比较强调的是多传感器融合的环境感知。

首先会回顾一下目前业界,包括学术界在做的环境感知的一些大概的方法,提出一些我们的思路,接下来具体详细介绍一下大家感兴趣的技术细节,所谓的干货,最后给出一些总结。

首先环境感知目前来看大体分为两个流派,传统车厂、供应商更倾向于使用摄像头Camera和雷达的融合,这里面有一个图标,每个高度代表这个传感器使用的力度,传统车场来说Camera和雷达是主要使用的传感器。谷歌主要使用的是LIDAR和高精度地图。高精度地图作为虚拟传感器给予的信息可以补充其他传感器动态不能获知的信息,相信这是共识了。谷歌为什么使用LIDAR和高精度地图?因为历史上面起源的原因收购了一个团队,他们主要使用的是64线激光雷达,不断地迭代、研发,他们从那个年代开始一直基于LIDAR不断地进行升级和补丁的工作,导致他们到今天为止依然主要依赖LIDAR。Camera在谷歌上面的使用很少,基本上红绿灯的时候使用这个Camera来判断这个红绿灯。

这个图里面大家可以看到,虽然大家都在使用各种各样不同的传感器,但使用的程度非常的不均衡,某些传感器使用非常多,其他的使用非常少。那么从百度的角度来说,我们提出一个概念Deep Sensor Fusion。传感器融合不是把传感器都装到车上,而是把每个传感器的潜力都发挥到极致,这样才是最强有力的融合。为什么这么说?传感器融合很大的目的、原因是说各个传感器有自己擅长的事情和不擅长的事情,假设某一种传感器擅长的事情你没有把这个传感器的算法做到最够好,擅长的那部分就有一个Gap,没有办法通过其他传感器弥补,造成整个系统融合之后有一个天花板、瓶颈,整个系统的能力会上不去,这是为什么百度提出Deep Sensor Fusion,我们把每个传感器做到极致。

今天因为时间限制,今天主要谈谈摄像头Camera和激光雷达LIDAR在障碍物检测和车辆自定位上面的工作。

先看一下基于LIDAR障碍物的检测。大概这样的流程,LIDAR先做地面检测和消除,像Ground Remove,把地面检除之后,剩下的点云进行聚类,最后把聚类之后的点云进行分类,这里面我们看到地面的检测和消除,一般来说我们会把地面分成均等大小的,叫做Ground。然后在每个Ground里面算点云平均高度做地面的消除,但是会带来一个问题,对于近处的物体需要非常高的检测精度,如果Ground大小太大的话,我们会把不小心落在Ground部分的车体平均掉,认为是地面的一部分,这样会对我们避障带来很大的问题。所以我们现在用的是多尺度的、自适应的地面消除算法。车辆聚类也是一样,车辆聚类,当地面解除之后有非常多的噪声的点云,怎么去除这些不关注的点,进行快速的聚类,这是我们研究的重点。最后在点云分类上面,传统来说,更多的是提取手工的特征来进行简单的机器学习的分类,现在尝试用Deep Learning做,但也碰到一些问题,精细程度肯定不如2D的图像,目前在点云分类上面做到2到3类的分类。

左边这个视频是我们做的一些基于激光点云的障碍物检测,可以看到前后障碍物的历史轨迹非常平滑,可以看到这个点云也不会受到任何光照的影响。右边是我刚刚讲到的算法的优势。

这一张给大家看一下基于2D摄像头做的障碍物检测,在2D障碍物上面,我们用了深度的卷积神经网络,我们这个神经网络的特点主要是两块:一个是Multi—task,可以多任务;另一个是端到端。Multi—task意思是说我们这个模型的输出是同一个模型有多输出,这个输出包括车辆检测、行人检测、自行车的检测,包括不同物体距离的学习。Multi—task的好处就是说,首先减少计算量,可以在一个Deep model里面做多件事情。另一个说多个输出的level可以manage其他不同的类别,他们之间有互相约束的过程。另外用了端到端,输出的直接是检测到的结果,包括距离阶级的古代。还用了路面的分割来减少误报,左边这个视频上面可以看到在旁边树上有一些误检测的车辆,红色区域是我们做路面分割获得的可行驶的路面区域,当前方向路面的区域。通过这个路面区域的过滤,过滤掉绝大多数的误报。右边是非常干净、平稳的结果。上面是高速公路,下面是城市道路,城市道路比高速公路复杂得多。Deep model可以同时检测到垂直道路上面自行车、行人和机动车辆。

说到2D障碍物检测,那么如何衡量这个结果?做图象识别、计算机是觉得,应该都了解KITTI数据库,基本上比较适合于自动驾驶的衡量的数据库,也有很多同学喜欢刷这个数据库。我们现在觉得这个数据库是有问题的,首先数据跟中国真实道路上面的数据差别很大,欧洲车辆和中国车辆差别很大。另一个这个数据库衡量的标准不适合做自动驾驶,不会区分什么样的车辆是自动驾驶的车辆最关注的,人开车关注在我车边最近的车辆。但是这个数据集里面要优化的目标,检测所有的车辆,只要图像上面出现都要检测,这样你要检测远处看不清的障碍物,反而没有针对我们需要关注的障碍物做很好的优化。我们现在也在做针对中国道路的数据集。现在机器学习方法是监督式的机器学习,任何做这样一个Deep Learning需要强大的团队做背后的支撑。

刚才做了2D障碍物检测之后,可以看到有很多的把障碍物框出来,对于自动驾驶的车不能直接使用,因为自动驾驶车辆行驶在三维环境当中。我们要做的就是把二维检测到的障碍物投射到三维空间中,使自动驾驶的决策和规划知道在周边的障碍物具体在三维空间的什么位置。我们使用了立体视觉,首先立体视觉可以恢复出图像中的深度,彩色图可以看到是一个深度图。当你恢复这个图像深度之后,二维当中检测的障碍物,获得在三维空间当中的位置。上面那个图变成一个俯视图,当前车和看到的障碍物车。这样的话,我们就能够把二维的Camera检测到的障碍物和3DLIDAR检测到的障碍物统一到同一个空间进行融合。

LIDAR作为我们现在无人车上面主要的传感器,有人会说是无人车的眼睛,我们觉得LIDAR不是眼睛,而是盲人手杖。LIDAR跟盲人拿手杖探索这个世界挺类似的,知道哪确实有一个东西,但不知道那个东西是什么、长什么样。Camera对它的补充,能够让盲人睁开眼睛真正地看这个世界。Camera帮助LIDAR在很多环境下面提高对不同障碍物的识别。

接下来看一下自定位,车辆的高精度定位。高精度定位不得不先说一下高精度地图,但我今天不会展开讲百度在高精度地图上面的工作,我讲一下百度对于高精度地图的认识和理念。我们觉得高精度地图分为两个层次,原始数据进来经过处理之后形成两套地图,第一个是路网的地图,Road graph,告诉你每个路口有没有红绿灯、红绿灯在哪里,为车的决策和规划使用的。另一个地图是Feature map。Feature map主要用到以下几个东西:反射值、高度值等等。这个图,左边激光扫描的反射值,激光发射出去之后,每一个反射的点带一个反射的强度的,这个反射代表了扫描到的物体对激光的反射率,有这样一个反射值地图之后,把三维的点云压缩成二维的图片。做高精度定位的时候用实时激光扫描的环境的反射值和Feature map里面存储的反射值进行匹配,这样可以获得高精度定位。好处是具有很高的分辨率,不好的地方是当下雨的时候,路面潮湿的反射值发生很大的变化。右边是激光扫描高度值的地图,扫描周围三维环境之后,每个点有一个离地面高度,这个是知道的,投射到一个二维图片上面。它的缺点,在非常空旷、开阔、平坦的地方没有什么高度变化的特征,很难用它做高精度定位。我们现在把这两个定位方式做了融合。

这个视频应该是融合之后的定位效果。这里面有两辆车,一个是红色的,红色车基本上不会露出来。现在基于激光这两种方法融合,大概做到五厘米左右的定位精度。平均的精度是一方面,做高精度定位另一个很重要的指标是说你的最大误差在什么地方。假设我平均都能够以5厘米、10厘米精度做定位,但是我偶尔会偏离3米、5米,这样的车可能就直接撞了,撞到路边的护栏了。还有另外一个指标,当你的车在99.99%的情况下面,能够以最大多少的误差进行高精度定位。这是做自动驾驶高精度定位非常重要的指标,目前我们这个指标在20厘米左右。

这个显示的是刚才说的用视觉特征做高精度定位的结果。我们用了两种方法:一个是VO,立体视觉;还有Keyframe特征比对。

先解释一下VO,VO的意思是说通过我连续的Camera当中发现的视觉特征点进行视觉特征点的跟踪,估算出车辆在连续Frame的运动,这个变化,这是一个相对变化,就是说当前时刻相对上一个时刻我的姿态发生了什么改变。按道理来说,如果这个估计足够精确,我只需要有一个起始位置,后面所有的位置都通过累加出来。但是因为VO有误差,我的误差也会被累积,纯粹依靠VO很难做到长距离精确的定位,所以我们加上Keyframe的特征比对,在高精度地图里面,会事先存储好,在Keyframe里面存储好这个特征点,它的真实物理世界当中的坐标位置,当我的车实际运行的时候,每隔一些Frame,碰到Keyframe,会用当前看到真实世界当中的跟地图当中的做比对,这样可以反算出车辆当前的绝对位置,在高精度地图上面的绝对位置。这个绝对位置可以作为刚才说的VO的约束,有了这个约束之后就可以每隔一些frame,做局部的调优,使得我的错误不会继续累积和发展下去。

最后一个定位技术是车道线,通过车道线做定位,车道线是刚才说到的,是一种形式的高层语义的视觉特征,除了车道线以外还有其他的,比如说持续出现路灯杆,有语义含义的物体作为高精度定位,但是现在把车道线作为主要的工作方向。车道线的识别基于深度的卷积神经网络进行路面像素级的分割。这个图,是我有一次出门正好开车碰到一个逆光的情况,我在想当时车道线检测,拍一个照片发给我的同事,他们马上把这个结果发给我,在这种情况下面,逆光,路面车道线非常不清楚,我们Deep Learning可以比较好的解决这一问题,我们获得这些像素之后,把像素进行聚类,用这个方程拟合,获得参数化表达的车道线的表现形式。有了这个车道线之后,把实时检测到的车道线和高精度地图里面进行比对,可以看到这个定位的精度也是非常高的。这有一个前提条件,在高精地图里面尽量多地标注地面上面出现的特征线条,包括刚才看到一个三角区域里面斜的条纹可以很好的帮助你进行定位的特征。

所以总结一下,我们觉得激光雷达可能在最近的未来应该还是必不可少的,特别当我们做全自动的无人驾驶,城区道路做全自动无人驾驶,因为城区里面障碍物的情况和路口复杂程度远远超过高速路的复杂情况。另外我们也认为相机对于障碍物检测和车辆之间的高精度定位是非常有帮助的。很多希望用单目相机发paper,但实际过程当中,能用双目尽量使用双目,双目可以减少单目带来的困难。最后高精度地图是一种非常有效的虚拟传感器

百度自动驾驶的计划,三年商用,五年量产,应该是被报道得比较多了,我们希望能够在十年内改变大家交通出行的方式。三年商用,昨天百度的陈总在大会开幕上面也提到过,我们的商用是能够在一些特定区域内实现这种全无人驾驶,特定的区域、特定的时段。特定区域有什么好处呢?其实从Learning角度来说,特定的区域可以采集非常多遍,当我的模型足够大,可以最大化减少我的误报。很多人说你的model怎么处理没有见过的场景,因为所有场景我都见过了,在这个区域内不管刮风下雨,不管日出还是日落,数据都采过了,所以这也是为什么技术上面这一条路是可行的。左边这个是我们去年在五环上面实现路测的情况,司机把手放到窗户上面,这个非常危险,不建议大家模仿。

我的报告到这儿,谢谢大家!

文章来源:盖世汽车

*版权声明:本文为盖世汽车原创文章,如欲转载请遵守 转载说明 相关规定。违反转载说明者,盖世汽车将依法追究其法律责任!

本文地址:https://auto.gasgoo.com/News/2016/08/22045453545360366325693.shtml

 
0

好文章,需要你的鼓励