百度是国内智能驾驶研究和实践的排头兵,这几乎没有争议。
从 2013 年的北京深度学习研究院开始,百度在智能驾驶方面的投入不断加码。而半年来,陆奇的进入也让百度在可尽快商业化的 L3 和追求完整技术和体验的 L4 之间的选择逐渐明朗化。
刚刚结束的百度 AI 大会上,Apollo 平台的开放成为业界震动的大新闻。Apollo 为何开放?它开放了哪些能力?能为从业者们带来什么?
7 月 9 日,在中国计算机学会(CCF)主办、雷锋网与香港中文大学(深圳)承办的 CCF-GAIR 大会智能驾驶专场,百度自动驾驶事业部副总监孙勇义现场做了《Apollo:开放的自动驾驶之路 》主题演讲,对以上问题一一作了解释。以下为演讲全文,雷锋网做了不改变原意的调整:
我们是今年 4 月份对外公布的 Apollo 计划,然后在 7 月 5 号正式发布了 Apollo 第一版。所谓 Apollo 计划就是把百度过去积累的自动驾驶相关的代码和能力都开放出来,促进整个生态的繁荣。
我们对外提出了 Apollo 宣言,即“开放能力,共享资源,加速创新,持续共赢”。这四个词怎么解读?我简单来解释一下:
开放能力
开放自己的代码和云端服务能力。现在我们的代码已经开放出来,大家访问我们的网站就可以获得。
共享资源
我们会把跟自动驾驶相关的技术,例如云端的仿真,OTA 中心和数据平台,跟大家共享。
加速创新
Apollo 开放的目的是加速创新,促进自动驾驶行业的发展和整个生态圈的繁荣。
持续共赢
我们的最终目标是帮助生态合作伙伴,生态合作伙伴用我们的代码成功装一辆车,比我们自己做成功更让我们高兴。
在 Apollo 的宣传片中,我们提到了仿真平台、开放开源等,这些我稍后会逐一介绍。
这是 Apollo 的开放路线图,7 月 5 号我们已经完成了开放。开放内容分为两部分,一个是能力开放,一个是资源共享。
能力开放
我们 7 月份发布的是封闭场景自动驾驶功能,到 9 月份,会开放固定车道自动跟车驾驶功能。12月,我们会开放简单城市道路自动驾驶功能,在后面还会持续做能力开放,一直到 2020 年,会完整开放高速和普通城市道路的自动驾驶功能。
7月份我们对外开源的模块主要包括控制、定位、操作系统部分以及运营框架。9 月份将要开放的固定车道自动驾驶功能,会包括 planning 和障碍物的检测。到 12 月份,基本上所有的全套模块都会开放出来。
资源共享
7 月份我们对外发布了数据平台 1.0,大家可以从 Apollo 官网上申请我们的数据。在这个数据平台上,我们现在开放了 3D 障碍物标注数据和 2D 红绿灯标注数据。9 月份的能力开放里会有一个仿真平台,我们会基于它来开放自己的自动驾驶场景数据,到 12 月份,则会开放数据平台 2.0,它能够支持合作伙伴上传数据,并做出数据处理。
这是 Apollo1.0 的循迹自动驾驶开放模块,这个模块分四层,最下面一层是车辆平台。百度并不制造车,在硬件方面涉足也比较少,这个车辆平台指的是我们会有一个自动驾驶线控车标准,像什么样的车能够改造成自动驾驶车,比如转弯、控制精度等。
再上一层是硬件平台,百度基本上是用第三方的硬件。我们会有一个硬件推荐列表,包括计算硬件、定位硬件,以及 HMI 硬件。
再上面两层其实是百度开源和开放能力的部分。上面一层是软件平台,在 Apollo1.0 里面我们对外开放的是系统,实时运行框架,以及定位、控制和人机交互这几个部分;云端平台这次开放的是 DuerOS,它是一个语音控制系统。
Apollo1.0 主要包括四个方面:第一,高效易扩展框架;第二,立即可用硬件;第三,一键启动更新;第四,完备开发工具。
高效的扩展框架
我们有非常方便的代码来使用,复用,扩展,然后使用共享内存,保证消息实时传输。然后实现了去除单点。因为我们没有中心系统,去掉任何一个节点都不会对整个系统造成灾难性影响。并且,平台提供了完善的使用说明文档,可以帮助开发者快速上手。
立即可用硬件
这是 Apollo1.0 参考的车辆和硬件。宣传片里的两辆车是林肯 MKZ,我们在 Apollo1.0 里用的就是这辆混动车。计算节点用的是工控机,定位用的是 NovAtel 的组合惯导,同时,我们也对外发布了百度自己研发的 BCU,它能实现精度非常高的车辆定位。
一键启动更新
为了方便开发者快速开发和在车上使用,我们还提供了一个完整的镜像,能够在车上快速安装。同时,我们还提供了友好的人机交互界面,可以实现一键启动运行。在运行过程中,可以切换到自动驾驶模式,查看车辆行驶轨迹和行驶状态。
最后我们还提供了完备的开发工具以及离线开发工具,有兴趣的可以上网下载,自己试一下。
通过 Apollo,大概多长时间能组装好一辆车呢?我们测试过,一个开发者只需要三天时间就能完成一辆 Apollo1.0 车辆的组装。之前 Apollo 的生态合作伙伴从美国派了一位工程师过来,在我们团队的帮助下,三天就完成了整个车辆的组装。
今年 12 月份,我们会发布 Apollo2.0 简单城市路况自动驾驶功能。图中(见下图)紫色部分就是我们在 12 月份要对外开放的模块。
也基本上到 12 月份,我们的绝大多数模块都会开放。硬件平台会增加摄像头、毫米波雷达。并且,我们还会对外发布一个汽车安全驾驶相关的黑匣子,就跟飞机的黑匣子一样,记录当前是人驾驶还是车驾驶,当前车遇到什么情况,车有什么问题等等。
在软件平台,我们会发布感知模块(包括 3D 障碍物感知和 2D 红绿灯感知),车辆规划,以及 end-to-end 的学习框架,并在云端开放仿真服务和安全服务。
仿真能力
现在业界比较流行的说法是,自动驾驶车辆大概要积累 100 亿公里的测试数据,才能达到一个稳定可靠的状态。如果是 100 辆车在路上 7×24 小时不停地跑,大概需要几百年才能积累这么多的驾驶里程,因此光靠车在路上跑是很难实现自动驾驶要求的,需要有一个云端平台来支持。
另外,自动驾驶的能力会不断提升,按照互联网开发的思维,我们的版本迭代会非常快。未来我们每个新版本都会做云端更新,而每个新版本都需要有一个快速验证的能力,我们需要这样一个仿真平台,帮我们积累大量里程,并快速做版本的回归验证。在仿真平台上,我们积累了海量的自动驾驶场景数据,这有可能是最大的中国道路场景数据。
Apollo 平台开放之后,我们希望合作伙伴可以将实际道路中碰到的各种场景数据都上传到仿真平台上,和我们共建仿真测试集。这个仿真测试集越大,我们的自动驾驶车辆能够验证的自动驾驶场景就越多,通过的场景越多,车就越聪明。这是未来自动驾驶领域的最核心能力。
高精度定位
12 月份,我们还会发布一个高精度定位技术。现在 Apollo1.0 用的是 RTK+惯导组合定位,这种定位存在一些问题,就是它依赖 GPS 信号,在有高楼大厦遮挡的情况下,比如说在一个 6 层楼旁边的 5 米范围内,车的信号就会很差。因为它遮挡了天上一半的卫星信号,定位会产生一两米的偏差。在隧道或林荫路场景,也会对 GPS 信号造成遮挡。RTK 定位依赖 3G、4G 网络,在网络不稳定的情况下,定位也会发生较大的偏移。
自动驾驶车上有激光雷达,有摄像头,完全可以根据这些传感器来做辅助定位。
感知模块
我们会对外发布基于深度的 3D 感知和红绿灯识别。红绿灯识别主要依赖摄像头,通过摄像头深度学习,进行感知判断。
在之后的 Apollo,我们会通过开源+开放,加速整个行业的创新,推动技术发展。未来,在核心技术基础之上,我们会逐步开放自己的能力,共享整个数据,也希望合作伙伴能够给 Apollo 贡献数据,为整个行业创造用户价值和商业价值。
Via 雷锋网