你听过无人驾驶,但你了解无人驾驶的算法吗?

标签: dev | 发表时间:2017-05-26 00:00 | 作者:
出处:http://itindex.net/admin/pagedetail

小编说:我们已经拉开了全自动无人驾驶的序幕,在幕布之后是我们精彩的未来,但你可能不知道的是无人驾驶系统是一个复杂的系统,系统主要由三部分组成:算法端、Client端和云端。算法端从传感器原始数据中提取有意义的信息以了解周遭的环境情况,并根据环境变化做出决策。跟随本文一起简单了解下无人驾驶算法吧。本文选自《第一本无人驾驶技术书》。

算法系统由几部分组成:第一,传感,并从传感器原始数据中提取有意义信息;第二,感知,以定位无人车所在位置及感知现在所处的环境;第三,决策,以便可靠、安全地抵达目的地。

1.传感

通常来说,一辆无人车装备有许多不同类型的主传感器。每一种类型的传感器各自有不同的优劣,因此,来自不同传感器的传感数据应该有效地进行融合。现在无人驾驶中普遍使用的传感器包括以下几种。

(1)GPS/IMU:GPS/IMU 传感系统通过高达200 Hz频率的全球定位和惯性更新数据,以帮助无人车完成自我定位。GPS是一个相对准确的定位用传感器,但是它的更新频率过低,仅有10Hz,不足以提供足够实时的位置更新。IMU的准确度随着时间降低,因此在长时间距离内并不能保证位置更新的准确性;但是,它有着GPS所欠缺的实时性,IMU的更新频率可以达到200Hz或者更高。通过整合GPS与IMU,我们可以为车辆定位提供既准确又足够实时的位置更新。

(2)LIDAR:激光雷达可被用来绘制地图、定位及避障。雷达的准确率非常高,因此在无人车设计中雷达通常被作为主传感器使用。激光雷达是以激光为光源,通过探测激光与被探测物相互作用的光波信号来完成遥感测量。激光雷达可以用来产生高精度地图,并针对高精地图完成移动车辆的定位,以及满足避障的要求。以Velodyne 64-束激光雷达为例,它可以完成10Hz旋转并且每秒可达到130万次读数。

(3)摄像头:摄像头被广泛使用在物体识别及物体追踪等场景中,在车道线检测、交通灯侦测、人行道检测中都以摄像头为主要解决方案。为了加强安全性,现有的无人车实现通常在车身周围使用至少八个摄像头,分别从前、后、左、右四个维度完成物体发现、识别、追踪等任务。这些摄像头通常以60Hz的频率工作,当多个摄像头同时工作时,将产生高达1.8GB每秒的巨额数据量。

(4)雷达和声呐:雷达把电磁波的能量发射至空间中某一方向,处在此方向上的物体反射该电磁波,雷达通过接收此反射波,以提取该物体的某些有关信息,包括目标物体至雷达的距离、距离变化率或径向速度、方位、高度等。雷达和声呐系统是避障的最后一道保障。雷达和声呐产生的数据用来表示在车的前进方向上最近障碍物的距离。一旦系统检测到前方不远有障碍物出现,则有极大的相撞危险,无人车会启动紧急刹车以完成避障。因此,雷达和声呐系统产生的数据不需要过多的处理,通常可直接被控制处理器采用,并不需要主计算流水线的介入,因此可实现转向、刹车或预张紧安全带等紧急功能。

2.感知

在获得传感信息之后,数据将被推送至感知子系统以充分了解无人车所处的周遭环境。在这里感知子系统主要做的是三件事:定位、物体识别与追踪。

1)定位
GPS以较低的更新频率提供相对准确的位置信息,IMU则以较高的更新频率提供准确性偏低的位置信息。我们可以使用卡尔曼滤波整合两类数据各自的优势,合并提供准确且实时的位置信息更新。如下图所示,IMU每5ms更新一次,但是期间误差不断累积精度不断降低。所幸的是,每100ms,我们可以得到一次GPS数据更新,以帮助我们校正IMU积累的误差。因此,我们最终可以获得实时并准确的位置信息。然而,我们不能仅仅依靠这样的数据组合完成定位工作。原因有三:其一,这样的定位精度仅在一米之内;其二,GPS信号有着天然的多路径问题将引入噪声干扰;其三,GPS必须在非封闭的环境下工作,因此在诸如隧道等场景中GPS都不适用。

基于GPS/IMU定位的原理图

因此作为补充方案,摄像头也被用于定位。

基于立体视觉测距的流程图

简化来说,基于视觉的定位由三个基本步骤组成:① 通过对立体图像的三角剖分,首先获得视差图用以计算每个点的深度信息;② 通过匹配连续立体图像帧之间的显著特征,可以通过不同帧之间的特征建立相关性,并由此估计这两帧之间的运动情况;③ 通过比较捕捉到的显著特征和已知地图上的点计算车辆的当前位置。然而,基于视觉的定位方法对照明条件非常敏感,因此其使用受限且可靠性有限。

因此,借助于大量粒子滤波的激光雷达通常被用作车辆定位的主传感器。由激光雷达产生的点云对环境进行了“形状化描述”,但并不足以区分各自不同的点。通过粒子滤波,系统可将已知地图与观测到的具体形状进行比较以减少位置的不确定性。

为了在地图中定位运动的车辆,可以使用粒子滤波的方法关联已知地图和激光雷达测量过程。粒子滤波可以在10cm的精度内达到实时定位的效果,在城市的复杂环境中尤为有效。然而,激光雷达也有其固有的缺点:如果空气中有悬浮的颗粒(比如雨滴或者灰尘),那么测量结果将受到极大的扰动。

定位中的多传感器融合

因此,我们需要利用多种传感器融合技术进行多类型传感数据融合,处理以整合所有传感器的优点,完成可靠并精准的定位。

2)物体识别与跟踪

激光雷达可提供精准的深度信息,因此常被用于在无人驾驶中执行物体识别和追踪的任务。近年来,深度学习技术得到了快速的发展,通过深度学习可达到较显著的物体识别和追踪精度。

卷积神经网络(CNN)是一类在物体识别中被广泛应用的深度神经网络。通常,CNN由三个阶段组成:① 卷积层使用不同的滤波器从输入图像中提取不同的特征,并且每个过滤器在完成训练阶段后都将抽取出一套“可供学习”的参数;② 激活层决定是否启动目标神经元;③ 汇聚层压缩特征映射图所占用的空间以减少参数的数目,并由此降低所需的计算量;④ 一旦某物体被CNN识别出来,下一步将自动预测它的运行轨迹或进行物体追踪。

物体识别和跟踪示意

物体追踪可以被用来追踪邻近行驶的车辆或者路上的行人,以保证无人车在驾驶的过程中不会与其他移动的物体发生碰撞。近年来,相比传统的计算机视觉技术,深度学习技术已经展露出极大的优势,通过使用辅助的自然图像,离线的训练过程可以从中学习图像的共有属性以避免视点及车辆位置变化造成的偏移,离线训练好的模型直接应用在在线的物体追踪中。

3.决策

在决策阶段,行为预测、路径规划及避障机制三者结合起来实时地完成无人驾驶动作规划。

1)行为预测

在车辆驾驶中主要考验的是司机如何应对其他行驶车辆的可能行为,这种预判断直接影响司机本人的驾驶决策,特别是在多车道环境或者交通灯变灯的情况下,司机的预测决定了下一秒行车的安全。因此,过渡到无人驾驶系统中,决策模块如何根据周围车辆的行驶状况决策下一秒的行驶行为显得至关重要。

为了预测其他车辆的行驶行为,可以使用随机模型产生这些车辆的可达位置集合,并采用概率分布的方法预测每一个可达位置集的相关概率。

面向行为预测的随机模型示意

2)路径规划

为无人驾驶在动态环境中进行路径规划是一件非常复杂的事情,尤其是在车辆全速行驶的过程中,不当的路径规划有可能造成致命的伤害。路径规划中采取的一个方法是使用完全确定模型,它搜索所有可能的路径并利用代价函数的方式确定最佳路径。然后,完全确定模型对计算性能有着非常高的要求,因此很难在导航过程中达到实时的效果。为了避免计算复杂性并提供实时的路径规划,使用概率性模型成为了主要的优化方向。

3)避障

安全性是无人驾驶中最重要的考量,我们将使用至少两层级的避障机制来保证车辆不会在行驶过程中与障碍物发生碰撞。第一层级是基于交通情况预测的前瞻层级。交通情况预测机制根据现有的交通状况如拥堵、车速等,估计出碰撞发生时间与最短预测距离等参数。基于这些估计,避障机制将被启动以执行本地路径重规划。如果前瞻层级预测失效,则第二级实时反应层将使用雷达数据再次进行本地路径重规划。一旦雷达侦测到路径前方出现障碍物,则立即执行避障操作。

相关 [无人驾驶 无人驾驶 算法] 推荐:

你听过无人驾驶,但你了解无人驾驶的算法吗?

- - IT瘾-dev
小编说:我们已经拉开了全自动无人驾驶的序幕,在幕布之后是我们精彩的未来,但你可能不知道的是无人驾驶系统是一个复杂的系统,系统主要由三部分组成:算法端、Client端和云端. 算法端从传感器原始数据中提取有意义的信息以了解周遭的环境情况,并根据环境变化做出决策. 跟随本文一起简单了解下无人驾驶算法吧.

Google 无人驾驶汽车的原理

- - 爱范儿 · Beats of Bits
最近,内华达州的机动车驾驶管理处给 Google 无人驾驶汽车 颁发了车牌. 虽然 Google 透露这个项目至少还要十年才能投放商用,但是这仍然是一个令人兴奋的消息,可以幻想下有生之年迎接一个无需考驾照的时代. 对于无人驾驶汽车,想必许多人会质疑其可行性,毕竟实际的路况非常复杂,汽车自身如何能够做出准确的判断呢.

中国无人驾驶汽车行驶286公里

- ZhenZ - Solidot
bonnae1982 写道 "据解放军报报道,由国防科技大学自主研制的红旗HQ3无人车,14日首次完成了从长沙到武汉286公里的高速全程无人驾驶实验. 实验从京珠高速公路长沙杨梓冲收费站出发,历时3小时22分钟到达武汉,总距离286公里,全程由计算机系统控制车辆行驶速度和方向,系统设定最高时速110公里,实测全程自主驾驶平均时速为87公里,在特殊情况下进行干预,距离合计约为2.24公里,仅占自主驾驶总里程的0.78%.

Google 无人驾驶汽车出现第一次撞车事故

- lackar - 36氪
Google CEO Eric 说:「汽车先于电脑发明是一个 Bug. 」然后我们就知道2009年时,Google的无人驾驶汽车已经在路上跑了. 根据Jalopnik,本周早些时候,Google 的无人驾驶汽车在山景城追尾了另一辆汽车(上图),这似乎是 Google 无人驾驶汽车的第一次撞车事故. Google 发言人对Business Insider 说这次事故发生的时候,车里是有驾驶员在控制汽车的:.

【发现者】地铁无人驾驶安全吗?

- Shphi - 网易新闻·有态度专栏
导语:2011年9月27日14时许,上海地铁10号线豫园至老西门下行区间两列车发生追尾事故,事故造成271人受伤. 作为一条按照无人驾驶标准设计的地铁,此次事故难免让人对于地铁无人驾驶的安全问题产生疑惑. 事实上,无人驾驶地铁上世纪90年代在法国、新加坡等国就已开始兴建,鲜有发生安全事故. 中国地铁频发事故的原因未必是技术的落后,而是管理和细节的不到位.

美国为无人驾驶汽车敞开大门

- - Solidot
联邦汽车安全监管机构周一正式宣布:它们认为,美国公路上的车辆更多地由机器驾驶时将比由人驾驶更安全. 自动汽车行业正蓬勃发展,在这份人们期待良久的行业指导意见中,奥巴马政府承诺要进行强有力的安全监管,但也向汽车厂商发出了一个清晰的信号:面向无人驾驶汽车的大门是完全敞开的. 国家经济委员会负责人Jeffrey Zients称,高度自动化的车辆“将能节省时间和金钱,挽救生命.

一篇文章看懂中国无人驾驶历史进程

- - 博客园_新闻
1925 年 8 月,来自美国陆军的电子工程师弗朗西斯·霍迪尼坐在一辆用无线电操控着前车的汽车上. 这辆组合式的汽车通过后车发射无线电波来控制前车的方向盘、离合器、制动器等部件. 虽然这种驾驶方式并不安全,也不完美,经常会把无线电波发送到其他接收器上,但它却是真正意义上的第一辆“无人驾驶汽车”. 在 1980 年左右,美国在无人驾驶技术方面得到快速发展.

百度计划五年内量产无人驾驶车

- - Solidot
百度高级副总裁王劲宣布,百度计划在五年内实现无人驾驶汽车量产. 百度已开始在北京和安徽芜湖的公路及上海一处封闭测试场地测试其无人驾驶车型. 王劲表示,希望能将百度的无人驾驶汽车测试扩大到中国的10座城市,以测试不同天气、路况和交通状况. 王劲说,制造无人驾驶汽车的竞赛场足够大,容得下百度和Alphabet.

无人驾驶刚刚开始的未来

- - IT瘾-geek
责编:何永灿,欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至. 《程序员》原创文章,未经允许不得转载,更多精彩文章请. 本文是无人驾驶技术系列的第12篇,也是最后一篇( 文末汇总了无人驾驶系列文章). 本文梳理总结了前面11篇涉及到的技术点,尝试呈现一个宏观的无人驾驶系统架构. 另外,简单分析了无人驾驶的产业链现状以及根据笔者自己的经验提出了一些给开发者、创业者,以及投资者的建议.

Google 无人驾驶汽车将很快在内华达州合法上路

- kid - cnBeta.COM
如果你将来在美国内华达州境内看到一辆无人驾驶的丰田Prius或奥迪TT,别惊讶,你只是看到了一辆用Google技术驱动的无人驾驶汽车而已. 因为内华达州刚刚通过了无人驾驶汽车的立法,Google的无人驾驶汽车很快就将合法上路了.