尽管无人驾驶技术渐趋成熟,但光学雷达(LiDAR)始终是一个绕不过去的坎。百度无人车架构负责人刘博聪等人认为,当务之急是快速大幅降低系统成本特别是LiDAR的成本,使用低价LiDAR并使用低价传感器与LiDAR做信息混合,用算法弥补硬件不足。作者还认为,高精度LiDAR的价格由于市场需求大增将会快速降低,为无人车进一步普及铺路。
无人驾驶汽车的成功涉及高精地图、实时定位以及障碍物检测等多项技术,而这些技术都离不开光学雷达(LiDAR)。本文将深入解析光学雷达是如何被广泛应用到无人车的各项技术中。文章首先介绍光学雷达的工作原理,包括如何通过激光扫描出点云;然后详细解释光学雷达在无人驾驶技术中的应用,包括地图绘制、定位以及障碍物检测;最后讨论光学雷达技术目前面临的挑战,包括外部环境干扰、数据量大、成本高等问题。
无人驾驶技术简介
无人驾驶技术是多个技术的集成,包括了传感器、定位与深度学习、高精地图、路径规划、障碍物检测与规避、机械控制、系统集成与优化、能耗与散热管理等等。虽然现有的多种无人车在实现上有许多不同,但是在系统架构上都大同小异。图1显示了无人车的通用系统架构,系统的感知端(图1左)由不同的传感器组成,其中GPS用于定位,光学雷达(Light Detection And Ranging,简称 LiDAR)用于定位以及障碍物检测,照相机用于基于深度学习的物体识别以及定位辅助。
在传感器信息采集后,我们进入了感知阶段,主要是定位与物体识别(图1中)。在这个阶段,我们可以用数学的方法,比如Kalman Filter与 Particle Filter等算法,对各种传感器信息进行融合,得出当前最大几率的位置。如果使用LiDAR为主要的定位传感器,我们可以通过LiDAR扫描回来的信息跟已知的高精地图做对比,得出当前的车辆位置。如果没有地图,我们甚至可以把当前的LiDAR扫描信息与之前的扫描信息用ICP算法做对比,推算出当前的车辆位置。在得出基于LiDAR的位置预测后,可以用数学方法与其它传感器信息进行融合,推算出更精准的位置信息。
最后,我们进入了计划与控制阶段(图1右)。在这个阶段,我们根据位置信息以及识别出的图像信息(如红绿灯)实时调节车辆的行车计划,并把行车计划转化成控制信号操控车辆。全局的路径规划可以用类似A-Star的算法实现,本地的路径规划可以用DWA等算法实现。
光学雷达基础知识
先来了解下光学雷达的工作原理,特别是产生点云的过程。
工作原理
光学雷达是一种光学遥感技术,它通过首先向目标物体发射一束激光,再根据接收-反射的时间间隔来确定目标物体的实际距离。然后根据距离及激光发射的角度,通过简单的几何变化可以推导出物体的位置信息。由于激光的传播受外界影响小,LiDAR能够检测的距离一般可达100m以上。与传统雷达使用无线电波相比较,LiDAR使用激光射线,商用LiDAR使用的激光射线波长一般在600nm到1000nm之间,远远低于传统雷达所使用的波长。因此LiDAR在测量物体距离和表面形状上可达到更高的精准度,一般可以达到厘米级。
LiDAR系统一般分为三个部分:第一是激光发射器,发射出波长为600nm到1000nm之间的激光射线;第二部分是扫描与光学部件,主要用于收集反射点距离与该点发生的时间和水平角度(Azimuth);第三个部分是感光部件,主要检测返回光的强度。因此我们检测到的每一个点都包括了空间坐标信息(x, y, z)以及光强度信息(i)。光强度与物体的光反射度(reflectivity)直接相关,所以根据检测到的光强度也可以对检测到的物体有初步判断。
什么是点云?
无人车所使用的LiDAR并不是静止不动的。在无人车行驶的过程中,LiDAR同时以一定的角速度匀速转动,在这个过程中不断地发出激光并收集反射点的信息,以便得到全方位的环境信息。LiDAR在收集反射点距离的过程中也会同时记录下该点发生的时间和水平角度(Azimuth),并且每个激光发射器都有编号和固定的垂直角度,根据这些数据我们就可以计算出所有反射点的坐标。LiDAR每旋转一周收集到的所有反射点坐标的集合就形成了点云(point cloud)。
如图2所示,LiDAR通过激光反射可以测出和物体的距离distance,因为激光的垂直角度是固定的,记做a,这里我们可以直接求出z轴坐标为sin(a)*distance。由cos(a)*distance我们可以得到distance在xy平面的投影,记做xy_dist。LiDAR在记录反射点距离的同时也会记录下当前LiDAR转动的水平角度b,根据简单的集合转换,可以得到该点的x轴坐标和y轴坐标分别为cos(b)*xy_dist和sin(b)*xy_dist。
LiDAR 在无人驾驶技术中的应用领域
接下来介绍光学雷达如何应用在无人驾驶技术中,特别是面向高精地图的绘制、基于点云的定位以及障碍物检测。
高清地图的绘制
这里的高清地图不同于我们日常用到的导航地图。高清地图是由众多的点云拼接而成,主要用于无人车的精准定位。高清地图的绘制也是通过LiDAR完成的。安装LiDAR的地图数据采集车在想要绘制高清地图的路线上多次反复行驶并收集点云数据。后期经过人工标注,过滤一些点云图中的错误信息,例如由路上行驶的汽车和行人反射所形成的点,然后再对多次收集到的点云进行对齐拼接形成最终的高清地图。
基于点云的定位
首先介绍定位的重要性。很多人都有这样的疑问:如果有了精准的GPS,不就知道了当前的位置,还需要定位吗?其实不然。目前高精度的军用差分GPS在静态的时候确实可以在“理想”的环境下达到厘米级的精度。这里的“理想”环境是指大气中没有过多的悬浮介质而且测量时GPS有较强的接收信号。然而无人车是在复杂的动态环境中行驶,尤其在大城市中,由于各种高大建筑物的阻拦,GPS多路径反射(Multi-Path)的问题会更加明显。这样得到的GPS定位信息很容易就有几十厘米甚至几米的误差。对于在有限宽度上高速行驶的汽车来说,这样的误差很有可能导致交通事故。因此必须要有GPS之外的手段来增强无人车定位的精度。
上文提到过,LiDAR会在车辆行驶的过程中不断收集点云来了解周围的环境。我们可以很自然想到利用这些环境信息来定位。这里我们可以把这个问题用一个简化的概率问题来表示:已知t0时刻的GPS信息,t0时刻的点云信息,以及t1时刻无人车可能所在的三个位置:P1、P2和P3(这里为了简化问题,假设无人车会在这三个位置中的某一个)。求t1时刻车在这三点的概率。根据贝叶斯法则,无人车的定位问题可以简化为如下概率公式:
右侧第一项表示给定当前位置,观测到点云信息的概率分布。其计算方式一般分局部估计和全局估计两种。局部估计较简单的做法就是通过当前时刻点云和上一时刻点云的匹配,借助几何推导,可以估计出无人车在当前位置的可能性。全局估计就是利用当前时刻的点云和上面提到过的高清地图做匹配,可以得到当前车相对地图上某一位置的可能性。在实际中一般会两种定位方法结合使用。右侧第二项表示对当前位置预测的概率分布,这里可以简单的用GPS给出的位置信息作为预测。通过计算P1、P2和P3这三个点的后验概率,就可以估算出无人车在哪一个位置的可能性最高。通过对两个概率分布的相乘,可以很大程度上提高无人车定位的准确度,如图3所示。
障碍物检测
众所周知,在机器视觉中一个比较难解决的问题就是判断物体的远近,基于单一摄像头所抓取的2D图像无法得到准确的距离信息。而基于多摄像头生成深度图的方法又需要很大的计算量,不能很好地满足无人车在实时性上的要求。另一个棘手的问题就是光学摄像头受光照条件的影响巨大,物体的识别准确度很不稳定。图4展示了光线不好的情况下图像特征匹配的问题:由于相机曝光不充分,左侧图中的特征点在右侧图中没有匹配成功。图5左侧展示了2D物体特征匹配成功的例子:啤酒瓶的模板可以在2D图像中成功识别。但是如果将镜头拉远,如图5右所示,我们只能识别出右侧的啤酒瓶只是附着在另一个3D物体的表面而已。2D物体由于维度缺失的问题很难在这个情境下做出正确的识别。
利用LiDAR所生成的点云可以很大程度上解决上述两个问题,借助LiDAR的特性,我们可以对反射障碍物的远近、高低甚至是表面形状有较为准确的估计,从而大大提高障碍物检测的准确度,而且这种方法在算法的复杂度上低于基于摄像头的视觉算法,因此更能满足无人车的实时性需求。
LiDAR技术面临的挑战
前文我们专注于LiDAR对无人驾驶系统的帮助,但是在实际应用中,LiDAR也面临着许多挑战,包括技术、计算性能以及价格挑战。要想把无人车系统产品化,我们必须解决这些问题。
技术挑战:空气中悬浮物
LiDAR的精度也会受到天气的影响。空气中悬浮物会对光速产生影响。大雾及雨天都会影响LiDAR的精度,如图6所示。
图7测试中使用了A和B两个来自不同制造厂的LiDAR,可以看到随着实验雨量的增大,两种LiDAR的最远探测距离都线性下降。雨中或雾中的传播特性最近几年随着激光技术的广泛应用越来越受到学术界的重视。研究表明:雨和雾都是由小水滴构成的,雨滴的半径直接和其在空中的分布密度直接决定了激光在传播的过程中与之相撞的概率。相撞概率越高,激光的传播速度受影响越大。
计算性能挑战:计算量大
从表1可以看到,即使是16线的LiDAR每秒钟要处理的点也达到了30万。要保证无人车定位算法和障碍物检测算法的实时性,如此大量的数据处理是面临的一大挑战。例如,之前所说的LiDAR给出的原始数据只是反射物体的距离信息,需要对所有产生的点进行几何变换,将其转化为位置坐标,这其中至少涉及4次浮点运算和3次三角函数运算,而且点云在后期的处理中还有大量坐标系转换等更复杂的运算,这些都对计算资源 (CPU、GPU、FPGA) 提出了很大的需求。
型号 | Channel 数量 | 每秒产生点数 |
---|---|---|
Velodyne HDL-64E | 64 Channels | 2,200,000 |
Velodyne HDL-32E | 32 Channels | 700,000 |
Velodyne VLP-16 | 16 Channels | 300,000 |
成本挑战:造价昂贵
LiDAR的造价也是要考虑的重要因素之一。上面提到的Velodyne VLP-16 LiDAR官网报价为税前7999美元,而Velodyne HDL-64E LiDAR预售价在10万美元以上。这样的成本要加在本来就没有很高利润的汽车价格中,无疑会大大阻碍无人车的商业化。
展望未来
尽管无人驾驶技术渐趋成熟,但LiDAR始终是一个绕不过去的坎。纯视觉与GPS/IMU的定位以及避障方案虽然价格低,却还不成熟,很难应用到室外场景中;但同时LiDAR价格高居不下,消费者很难承受动辄几十万美元定价的无人车。因此,当务之急就是快速把系统成本特别是LiDAR的成本大幅降低。其中一个较有希望的方法是使用较低价的LiDAR,虽然会损失一些精确度,但可以使用其它的低价传感器与LiDAR做信息混合,较精准地推算出车辆的位置。换言之,就是通过更好的算法去弥补硬件传感器的不足,我们相信这是无人车近期的发展方向。而高精度LiDAR的价格由于市场需求大增也将会在未来的一两年内出现降幅,为无人车的进一步普及铺路。
作者简介:刘博聪,百度公司美国研发中心架构师,目前主要负责百度无人车系统架构。卡内基梅隆大学电子与计算机工程硕士,研究方向包括嵌入式系统,机器学习算法研究。曾在Qualcomm从事手机芯片和车载芯片的工作。
刘少山,PerceptIn公司联合创始人。加州大学欧文分校计算机博士,研究方向包括智能感知计算、系统软件、体系结构与异构计算(FPGA、GPU)。现在PerceptIn主要专注于增强现实、虚拟现实、机器人的核心SLAM技术及其在智能硬件上的实现与优化。创立PerceptIn之前在百度美国研发中心工作。
James Peng,百度公司首席架构师。清华大学本科,纽约州立大学硕士,斯坦福大学博士,云计算平台,深度学习,数据建模,大规模数据库等。曾在谷歌工作多年,参与和负责完成多个项目。
本文为《程序员》原创文章,原文题目《无人驾驶核心技术探秘:光学雷达(LiDAR)》
转自公众号:CSDN 作者:刘博聪、刘少山、James Peng
·氧分子网(http://www.yangfenzi.com)延伸阅读:
百度建了一个群,把自动驾驶领域关联的所有好友都拉了进来。
最近一周又被百度无人车刷屏了,进入6月,百度IDG智能驾驶事业群的对外合作开了挂,继联盟大陆博世之后,昨天的CES Asia展上,百度IDG一口气与德赛西威、联合汽车电子、航盛电子、博泰电子等4家Tier 1供应商达成合作。从3月1日IDG成立算起,百度集团总裁、COO陆奇执掌该业务刚好100天。我们不妨对其加以复盘和分析,一窥百度无人车未来的机会。
“无人驾驶生态这件事,一定会有人做,为什么不能是百度呢?”
IDG部门成立不到两个月,陆奇便在上海车展放出了大招。4月20日,百度IDG正式推出阿波罗计划,向合作伙伴开放百度无人驾驶软件平台,帮助整机厂结合车辆和硬件系统,快速搭建一套完整的自动驾驶系统。
这么说相对笼统,实际上,阿波罗平台的结构包括一套完整的软硬件和服务体系,包括车辆、硬件、软件平台和云端数据服务四部分。百度会开放环境感知、路径规划、车辆控制、车载操作系统等功能的代码或能力,并且提供完整的开发测试工具。向合作伙伴提供一个完整的软件平台,帮助他们结合车辆和硬件系统,快速搭建一套完整的自动驾驶系统。
正如百度智能汽车事业部总经理顾维灏在今天的演讲中指出的那样,在整个自动驾驶产业链中,百度的优势在于大数据、算法和云计算等软件部分,如果要拉起一面大旗要做生态,从未染指造车和车规级自动驾驶传感器的百度势必需要走合作的路线。
这就是为什么在阿波罗计划公布之初,百度就表示“(百度)还会在车辆和传感器等领域选择协同度和兼容性最好的合作伙伴,共同组成协作联盟,推荐给项目参与方使用,进一步降低无人车的研发门槛,促进技术的快速普及。”
毫无疑问,阿波罗计划发布后,组一个囊括整机厂、ADAS厂商、传感器及其他汽车零部件供应商的局成为百度IDG的重心。我们好奇的是,百度的号召力有多大,组局的速度有多快?
对于这些疑惑的答案,百度并没有让我们等太久。5月31日,陆奇奔赴德国,出席了百度与欧洲最大的汽车供应商大陆集团的合作签约仪式,双方将“通过彼此在汽车零部件和互联网技术上的竞争优势,形成有效的技术联盟。为自动驾驶、车联网和智能移动服务提供全面可靠的解决方案。”
一天后,百度又和全球第一大汽车供应商博世集团达成合作,合作内容不出意料是“共同为自动驾驶、智能交通、智能车联网提供全面、系统、可靠的解决方案。”值得玩味的一句表述是双方将“共同探讨和实践对应的商业模式,加速技术向产品的有效过渡。”
此外,签约三方分别是陆奇、大陆集团执行董事会成员,底盘与安全事业部总裁Frank Jourdan和博世集团董事会成员Dirk Hoheisel,也凸显了三方对合作的重视。
全球排名第一和第二的汽车零部件供应商选择百度背后的逻辑是什么?或者我们试着考虑一下这个问题:Tier 1供应商在未来自动驾驶产业链中扮演怎样的角色?在前不久召开的Bosch Connected World 2017大会上,博世接受媒体采访时表示,博世正在进行功能、传感器、车辆架构、执行机构的研发,同时将这些功能和产品整合以形成系统集成式服务。汽车行业的功能安全、冗余设计、路径策略等一直是博世在研究自动驾驶技术过程中的重要课题。
博世的回应反应出一个行业趋势:在变革前夜,自动驾驶驾驶产业链上潜在的每一个厂商都在竭力扩大自身的存在感,尽力渗透尽可能多的产业环节。譬如博世大陆并不满足于卖卖零部件和传感器。
接下来的逻辑就很好理解了,目前业内公认自动驾驶技术最好的谷歌,在今年的底特律车展上宣布以完全自研的形式完成了对自动驾驶软硬件解决方案的开发。这样做的结果是一旦条件成熟,量产自动驾驶汽车不会受制于外部供应商。但弊端同样明显,事事亲力亲为的做派抢了太多人的蛋糕,博世此前明确表态“不认同谷歌的自动驾驶策略”不是没有原因的。
谷歌没有用开放的心态去推广自动驾驶技术,百度自告奋勇推出了一个生态式的阿波罗计划,如果从技术角度讲,百度3年来的技术成果也颇有可取之处。在3月27日的洪泰基金CEO春分大会上,前百度自动驾驶事业部总经理王劲对百度无人车的评价是:“到现在为止我的团队仍然是全球,跟汽车相关的6个指标有4个指标是全世界第一的,包括判断汽车的准确性,包括语音等等。”注意当时王劲已经宣布离职创业。对于Tier 1甚至整机厂来说,怎么选答案很明显。无人驾驶生态这件事,一定会有人做,为什么不能是百度呢?
“从市场和技术来看,至少在中国,百度做不成是没道理的”
36氪此前曾撰文分析过百度无人车业务在中国市场的优势,在相继拉着多位小伙伴加入阿波罗计划计划生态圈后,依托百度自身在自动驾驶领域软件技术上的大幅优势。百度找来几个整机厂合作伙伴并不算难事。
事实上在阿波罗计划宣布的当天,百度便与奇瑞签订战略合作协议,共同开发智能驾驶汽车。为了打消整机厂的顾虑,百度也释放了尽可能多的善意,百度无人驾驶硬件副总裁邬学斌点明了对车企合作伙伴的重视:“人工智能时代,单独的软件公司存在会有一定的问题,要与硬件结合,百度也不可能把主要的精力放到硬件上,硬件一方面是趋势,一方面不是强项。”
再看阿波罗计划的细节,“向合作伙伴提供一个完整的软件平台,帮助他们结合车辆和硬件系统,快速搭建一套完整的自动驾驶系统。”百度与整机厂的合作并非谷歌与菲亚特克莱斯勒的合作那般强势,使得后者似乎扮演了谷歌汽车代工厂的角色。
在今天的CES Asia展上,由百度、长城汽车和NVIDIA联合研发的百度自动驾驶汽车跑在了CES馆外的百度IDG室外展区内。长城汽车高级副总裁胡树杰表现出对百度生态式打法的期待:“自动驾驶已经成为汽车行业转型的大趋势,国内自主品牌的汽车厂商在自动驾驶技术的变革浪潮中要抢占先机,需要百度这样在人工智能、深度学习领域深耕的合作伙伴,大家各施其长,共同探索。”
另有比亚迪工作人员告诉36氪:“这一块(自动驾驶领域)我们是和百度合作的,也有很多进展,到研发成果比较大的时候我们会做一次汇总公布。”
看到这里你会发现,百度的车企合作伙伴都是国内的汽车公司?!自去年和宝马闹掰之后,尚没有国外车企投入阿波罗计划的怀抱。
但我们的观点是,有百度高精度地图的优势,第一家与百度结盟的国外整机厂不会来的太晚。
中国大陆的地图数据获取资质是严格控制的,需要得到国家测绘局的批准。在将自身的地图供应商道道通(长地万方)收购后,百度成为了间接拥有甲级资质的互联网图商企业。前百度自动驾驶事业部首席科学家韩旭认为,在这一技术解决方案领域,谷歌和百度占据着非常大的先天优势。“高精度地图领域的顶级团队,全球屈指可数。”
特别是对于德国车企而言,与百度合作的可能性更大。以下是百度与博世的签约仪式,是的,双方合作见证人是中国国家总理李克强和德国总理默克尔。
陆奇执掌100天复盘,百度无人车这事儿可能要成了
中德两国在汽车产业的合作上,国家意志的意味正变得越来越浓。
首先是大众,在美国遭遇“排放门”180亿美元的罚款后不久,大众宣布了新一轮对华投资计划,将投资220亿欧元(约1682亿人民币),主要用于2015至2019年间兴建新工厂和开发新产品。
事实上李克强和默克尔见证的,不仅仅是百度和博世的合作签约,还包括:
戴姆勒奔驰战略投资北汽新能源,以加强双方在新能源汽车领域的合作。
江淮与大众成立合资公司。双方将以新能源汽车产品为基础并在新能源整车及零部件的研发、生产、销售、出行方案等方面进行全面合作。
大陆集团与蔚来汽车达成战略合作,双方将在纯电动汽车、智能交通与自动化驾驶等领域展开紧密合作。
未来这么多新能源汽车在中国开卖,真的不考虑下自动驾驶技术的落地吗?
从市场的角度来看,百度IDG在中国汽车市场这片广阔的天地几乎长驱直入,不同于前几年在移动分发、外卖、视频甚至打车市场与阿里腾讯的鏖战,百度在无人驾驶领域完全处于一家独大的地位。对技术储备不算充分的本土车企来说,他们很多时候面临问题不是如何选,而是根本没得选。
从市场和技术来看,至少在中国,百度做不成是没道理的。
BCU+Road Hackers+CarLife、DuerOS 、MapAuto,百度想让投入3年的IDG变现了
执着于扩大朋友圈,打造生态圈的同时,百度IDG在CES Asia展上一口气推出了多个智能汽车相关产品。
BCU:Baidu Computing Unit,官方宣称是国内首个可量产的自动驾驶计算平台,基于高精度地图,结合 GPS、摄像头与 IMU 等传感器信息,提供自动驾驶所需要的高精度定位的专用计算平台。该平台具备信息安全和云端更新两大基础能力和三大 AI 核心模块:高精定位、环境感知、决策规划。(为“开拓市场”,百度甚至基于BCU开发了三个系列产品:BCU-MLOC(高精定位)、BCU-MLOP(高精定位+环境感知)、BCU-MLOP2(高精定位+环境感知+决策规划)。
Road Hackers:官方宣称是全球首个在真实道路上可以实现端到端模式的高级自动驾驶模型,基于此模型的百度自动驾驶训练数据对外开放。
CarLife:官方宣称是国内首款实现将移动场景无缝切换到车载场景的应用,CarLife最新升级了语音功能,支持多轮语音交互操作及智能问答,同时拥有6000万音频内容库,能够为用户智能推荐音乐、新闻、相声、有声小说等30余类节目。
Duer OS:百度对话式人工智能操作系统Duer OS,针对车场景提供的全语音交互整体解决方案,主打拟人化智能语音交互模式,能够面向车主用户提供车场景一站式互联网服务。
MapAuto:百度地图汽车版,深度探索用户车载场景需求,为车主提供安全可靠的离在线地图服务。
简单粗暴的总结:百度IDG将所有的技术成果全面整合,推出了多个商业化产品。所谓“探讨和实践对应的商业模式,加速技术向产品的有效过渡。”
目前已加入或即将加入阿波罗计划的合作伙伴:6家Tire 1供应商、芯片厂商英伟达、激光雷达供应商Velodyne、整机厂奇瑞、(比亚迪)、(长城)、(现代)
车联网领域:车载投射应用CarLife、AI语音交互整体解决方案Duer OS、MapAuto
虽然李彦宏说过在无人车业务上“不追求利润、不惜代价”,但在一众创业公司都在推动特定场景下的自动驾驶技术落地的大背景下,对百度来说,花钱办事总是好的,能赚钱养家又何乐而不为呢?
全球范围内自动驾驶领域的玩家分为几个不同的流派,比如特斯拉,在与Mobileye分道扬镳后,特斯拉是典型的完全自研自动驾驶解决方案的厂商,价值和风险都是最高的;英特尔-宝马-Mobileye-德尔福,分工合作、摊销风险的最佳样本,但面临的问题是,他们的解决方案真的会有第三方整机厂采纳吗?接下来就是百度,组一个囊括ADAS厂商、零部件供应商、芯片供应商和软件技术供应商在内的局,走的是生态式打法。这三种方案,哪种胜算大?
有趣的是,顾维灏在今天CES Asia的演讲结尾透露,7月5日于北京,百度智能驾驶还有重大消息要公布。不妨猜猜看,“重大消息”会是什么?