0
本文作者: 易建成 | 2017-06-11 19:35 |
雷锋网按:6 月 8日,百度智能汽车事业部总经理顾维灏在 CES Asia 上带来了主题为《自动驾驶新浪潮》。
在演讲中,顾维灏详解了百度在自动驾驶领域的两大亮点成果——端到端的自动驾驶模型 Road Hackers, 以及与德赛西威、联合汽车电子分别开发的、国内首个可量产的自动驾驶计算平台 BCU(Baidu Computing Unit)。
*长城汽车提供底盘控制技术,英伟达提供 DRIVE PX2 计算平台,百度提供自动驾驶技术
百度还在场馆外进行了自动驾驶车辆的测试,该车最大亮点是采用了基于单目摄像头、端到端深度学习自动驾驶解决方案。
百度一位工程师向雷锋网透露,除了此次与长城汽车合作的两款车型外,今年 8月,百度还将展示第三辆自动驾驶汽车——具备自定位、环境感知能力和决策控制能力。
今年 3 月,百度通过内部邮件宣布,对现有业务及资源进行整合,成立智能驾驶事业群组(IDG),由自动驾驶事业部(ADU)、智能汽车事业部(L3)、车联网业务(Car Life etc.)共同组成。
作为百度智能驾驶事业群组的事业部之一,本届 CES Asia 可以看成是智能汽车事业部(L3)整体发展成果的一个展示窗口。
眼下,百度的「阿波罗计划」依旧没有太多实质性的消息公布。在这次长达 45 分钟的演讲中,关于「阿波罗计划」的介绍也仅在最后的 5 分钟:「阿波罗计划是一套开放、完整,安全的生态系统和架构,它包含了四个层次:参考汽车层,参考硬件层,软件平台层、云服务层。」
顾维灏表示,演讲中的内容对于整个「阿波罗计划」来说只是冰山一角。尽管如此,顾此次的演讲依然值得咀嚼,他代表的是百度另一种自动驾驶解决方案的思路:如何用低成本、成熟的传感器和端到端的深度学习实现自动驾驶。
以下是顾维灏在 CES Asia 的演讲,雷锋网在不改变原意的基础上做了编辑与删减:
自动驾驶仿真技术
在这次展会上,除了高精地图外,我们还带来了更多面向智能汽车、自动驾驶或智能驾驶的新产品。
如果你到我们展台,会发现有一个互动的大屏,它展示的是自动驾驶仿真技术,这项技术主要解决的是自动驾驶测试问题。
我们相信未来的自动驾驶,它的能力一定会超过人类。但是,如何超过人类?我们需要在真实的道路和环境上实践多少才能达到人类的水平?
有很多论文都在研究这个问题。其中我看到一篇比较著名的论文,通过各种可信度和置信度的计算,在理想情况下,汽车需要行驶两亿英里才能够达到人类的水平。而特斯拉通过自己的计算,需要六亿英里。
对中国来讲,路况更加复杂,我们需要测试多少里程才能让自动驾驶车辆赶上或者超过人类的水平?
这是一个非常艰巨的任务。所以我们展示一个仿真的环境:将高精地图灌入到仿真环境里,再建立一个虚拟现实的 3D 环境。
同时,我们把自动驾驶算法、车辆控制动力模型也加入到仿真器里——它可以随时地、不停歇地进行测试。
有了这个仿真器,我们实际上就能更快、更好地加速自动驾驶的测试过程。
当我们在谈人工智能的时候,我认为有最关键的两点:
第一,有没有足够多的数据,这是人工智能基础;
第二,有没有能力将这些数据转化为知识。
语音识别把声音转化成文字,这是一种知识能力的转化,我们从图像里去识别猫狗、汽车,这也是知识的转化。所以,只有具备了数据,又有将数据转化为知识能力,才能称得上人工智能。
过去十几年,我们一直是最好的中文搜索引擎,也积累了大量的文本结构数据。现在的互联网或者过去十几年在互联网上存在的每一个网页,我们数据里都有存载。
有这么大的数据后,如何将这些数据通过搜索引擎的排序算法,更好的展现给不同的搜索者?
随着人们对搜索的要求越来越高,我们对搜索引擎的算法也提出了更多要求。百度是最早引入机器学习算法作为搜索引擎的主算法,同时加入了个性化——我们叫做「点击调台」的能力,使得每个人看到的、搜索的结果,都会有针对个人特点的不同排序。
我们之所以说过去一段时间,识别的效果或搜索算法不好,是因为我们在面对有限计算资源时,要做很多 trade off(取舍):主动进行剪枝,让搜索空间变小,更快拿出准确的结果,但这样我们可能就会丧失一些好的结果。
随着计算能力的提升,包括 FPGA,GPU、CPU 的发展,这个搜索空间可以变得更大,这个时候好的结果被砍掉的机率会变小,更相关的结果就排到了前面。
所以,我们在搜索引擎方面的能力积累,现在也应用在自动驾驶领域。
搜索面临的是一个结构化的文本数据,但自动驾驶面对的环境更复杂,遇到的也是完全不一样的数据:更多图像,更多传感器回传的复杂数据。
比如 Lidar(激光雷达),传回来的激光点云;radar (雷达)传回来的是探测结果数据;camera (摄像头)传回的影像数据。
更多现实环境的数据引入,让整个数据变得更加复杂,规模更大,所需的计算资源也更多。这时候我们需要更多、更新、更快的新的深度学习算法。
在过去的一两年,我们看到自动驾驶所需要的数据、算法和计算的能力,都在不断地提高,这也让自动驾驶更快速进入这个时代。
针对自动驾驶,有很多新的算法出现,百家争鸣,各不相同。但我认为现在自动驾驶还处在一个相对比较早期的阶段。
如果对这个行业有所关注,你可能会看到不管是创业公司还是成熟公司,他们都演示过自己的自动驾驶技术。
他们在车上搭载的传感器都不相同:激光雷达、毫米波雷达、超声波雷达、前视摄像头、环视摄像头、黑白摄像头、彩色摄像头等等。各种传感器不同,数量也不一。
你会发现这些自动驾驶汽车与现实世界的汽车非常不同。当然,不同场景所需要的传感器、所要求的算法复杂度或者算法的种类也不同。
比如,以图像为主的解决方案,要处理图像的数据,我们会选择更加主流的卷积神经网络,它对图像定型计算、目标识别、语义分割比较在行。
对 Lidar、radar 这种数据量要求更大的传感器,我们肯定需要不同的深度学习算法。但如果我们的目标是希望自动驾驶尽快到来,就必须考虑一个非常现实的问题:用什么样的传感器才能让自动驾驶更快到来?
我们的一个答案是:用更便宜、更成熟的传感器,用更先进的深度学习算法来实现自动驾驶。
我们在这方面的实践: Road Hackers,这是基于深度学习的自动驾驶解决方案。
我们的目标是通过一个消费级摄像头、深度学习算法实现自动驾驶。当然,这是我们最苛刻的一次实践。我们不可能只依赖这一个方案实现自动驾驶,未来我们还是需要雷达或者其他传感器。
但如果我们今天对最苛刻的环境,实践得更多,要求得更严,那在未来,自动驾驶对整个汽车的安全和扩展性也会更方便。
所以我介绍的这个实践,就是通过一个传感器、深度学习的算法和过去我们积累的大数据来实现自动驾驶的。
秉着这样一个想法,我们在去年开始了一系列调研工作。在这个过程中,我们发现在过去的积累中,我们做了一件非常了不起的事。
2013 年,当时我还在百度地图部门,那时我们升级了所有的地图采集车辆,让所有的地图采集车辆都用上了最先进的传感器设备。
在地图采集的过程中,我们记录了所有影像,记录了采集车上司机所有的驾驶行为,包括转方向盘、踩油门、踩刹车的行为。去年,我们发现了这个宝藏。
*红色的线代表方向盘转向的角度。绿色的线代表用算法预测出的司机对方向盘的转动
我们每天都有几百辆采集车在全国各地行驶,每年整体的采集里程达到数百万公里。
我们开始用深度学习和机器学习的算法去挖掘这些数据和行为。这是我们在今年 1 月份美国拉斯维加斯的 CES 上正式发布的视频(如上图)。在这张图上,我们预测的行为和司机实际驾驶行为,在方向盘转角上已经相对接近。
当然,我们也意识到,这样的宝藏只靠我们去挖掘和实现是有限的,我们的速度还不够快。
所以我们将这套数据开放出去:今年 1 月,我们开放一万公里的 Road Hackers 原始数据,包含了采集车上收集到的所有数据,遇到的所有天气:不管是晴天、雨天、阴天、雪天;不管是在一条扬长大路、一条曲径小路、风景秀丽的景区、还是在满地都是泥泞的道路。
光是开放数据还不够,百度是一个技术信仰的公司,我们相信技术能够改变一切。
每一个季度,百度都有一个技术比赛,我们叫做开发马拉松:大家在有限的时间之内,设定有限的场景和环境,比拼谁的产品和算法做得最好。
今年 1 月从 CES 回来后,我们在内部做了一个技术比武。大家一起在这个平台比赛,看谁的算法能让它的收敛变得更加明显,谁的算法能让自动驾驶的训练速度变得更快。
最后一共 50 支队伍报名,我们进行了为期一个月的技术比武。当然,这种技术比武最重要的是交流和共享。我们让这些胜出的队伍和我们的团队工程师们充分进行交流,进而完善算法。
通过这样一个技术比武,我们发现,我们可以再引入一种具有时间记忆的新算法,来实现纵向控制或者更好的横向控制。
在这个网络结构里,我们可以从底层的图像特征本身进行自动提取,它仍然用卷积神经网络来自动处理。但在纵向控制上,我们引入了一个新的模型:它具有神经记忆功能,不仅仅是通过这张图片,而是根据过去十张,二十张,甚至一百张图片来预测出接下来该如何做。
这种技术最早也是用于语音识别的研究:LSTM (长短期记忆,long short term memory)。
只要是针对连续性行为来做预测,我们就会考虑这种深度记忆的模型,并引入到纵向控制中,这当中的新突破是:车的加速度、减速度变得更加流畅和舒服。
这是我们优化算法之后,在北京测试的一段视频(如上图)。
镜头刚开始,我们看到一个司机,实际上是一个驾校司机,他绕着我们既定的路线在行驶,当他驾驶了几次之后,我们把他的驾驶行为完整记录,并训练出一个深度神经学习的网络结构。然后我们再把这种网络结构经过剪层、剪枝、优化,放到汽车上。
*长城汽车、英伟达、百度三家一起联合开发的只基于一个摄像头和端到端深度学习的自动驾驶展示
在过去的两年,我和我的同事们拜访了几乎所有中国或者是国外主流的 OEM。直到去年,有 OEM 的朋友对我说,「你们说的技术很牛,我也知道你们现在做的还不错,但我不知道应该怎么来使用。」
一个朋友跟我这么讲,我会觉得你为什么会有这样的问题,但是当多个 OEM 的朋友和我说同样的问题时,我们就开始反思:我们的技术该如何应用到自动驾驶中?
汽车产业链非常长,我们进入这一领域之后,才知道 OEM 有 Tier1、Tier2。那么,我们的定位是什么?该如何与这个产业链融合?如何将我们的技术应用到量产的汽车上?
反思了这些之后,我们推出了一个新的概念:叫做 BCU(Baidu Computing Unit)。
在人工智能时代,所有算法、软件都需要硬件的搭载,只有将这些能力寄托到硬件上,我们的能力才得以释放。
原来我们更多在与 OEM 交流,在那之后,我们开始与汽车行业的 Tier1、Tier2 来交流这件事情。在与他们的交流中,我们也提出了算法对硬件的要求:需要多大计算能力、多少存储空间、多少功耗等等。
原来我们更多在与 OEM 交流。在那之后,我们开始与行业的 Tier1、Tier2 来交流这件事情。在与他们的交流中,我们也提出了算法对硬件的要求:需要多大计算能力、多少存储空间、多少功耗等等。
自定位是自动驾驶一个非常重要的基础,它要告诉汽车本身在哪。我们定位的方法是基于物理标志物、影像提取和高精地图来做匹配。
横向定位精度在 0.2 米以内,这样的定位精度就可以保证汽车能够在自己车道上行驶,我们现在能做到差不多 98% 或者 99% 的准确率。纵向的定位精度在 2 米,我们现在差不多是在 80% 到 90% 的准确率。对高速自动驾驶来讲,这种定位精度其实已经足够了。
我们把定位能力、感知能力、路线规划能力与 Tier1 交流后,开发了一个适合于自动驾驶量产的 BCU 硬件。
BCU 硬件分为三种:BCU-MLOC(高精定位)、BCU-MLOP(高精定位+环境感知)、BCU-MLOP2(高精定位+环境感知+决策规划)。
有了这种实实在在的硬件后,我们赋能汽车行业,让整个行业加速的想法才能够快速实现。
(今天)我介绍的所有事情,相比于在我们在 4 月上海车展公布的阿波罗计划来讲,其实都是凤毛麟角。
阿波罗计划是一套开放、完整,安全的生态系统和架构,它包含了四个层次:参考汽车层,参考硬件层,软件平台层、云服务层。
任何公司、个人,只要有能力,按照我们参考硬件设计,参考汽车设计,就可以开发出一辆与百度能力一样的自动驾驶汽车。
自动驾驶是一个完全新增的市场,我们希望为行业提供自己的核心能力,加快整个产业发展,让自动驾驶更快到来。
PS:关于顾维灏演讲的完整视频,请点击此链接观看。
雷锋网推荐阅读:
手掌大小、20W功耗,百度将量产国内第一款车载自动驾驶计算平台 | CES Asia 2017
雷峰网原创文章,未经授权禁止转载。详情见转载须知。