AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

自动驾驶从 0 到 1 之路

  • 2019-07-15
  • 本文字数:4128 字

    阅读完需:约 14 分钟

自动驾驶从0到1之路

About Pony.ai



从 0 说起



汽车是 1886 年诞生的,卡尔本茨先生建造的人类历史上的第一辆汽车,到现在只有短短 130 多年的历史。人类首次尝试无人驾驶的时间为 1925 年,当然这不是为了展示人工智能,而是用来展示无线电技术,它是用后面一辆车的无线电来控制前面一辆车的行为。之后的很多年,技术还是达不到让车辆自主行驶的水平。往往很多新事物的产生,都发端于科幻。比如,小说海底两万里中的潜水艇,成书的时候还没有潜水艇,但是在短短的一段时间之后潜水艇就出现了,所以科幻和科学是有密切关系的。自动驾驶也一样,在现实中还没有出现自动驾驶车辆的时候,科幻先描绘了自动驾驶的未来:


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    这个是 1982 年的美剧《霹雳游侠》,90 年代引入中国,当时也是比较火热的一部剧,里面就有描绘自动驾驶的片段,如上。



    很快过了 20 年以后,在科研上,就出现了这样的汽车,最著名的就是 DARPA Challenge,DARPA 是美国国防部下属的研究机构,现在所使用的 GPS 系统,就是这家机构在 70 年代资助的。DARPA 在 2004 年第一次举办了无人车挑战赛,在一个沙漠路段,让自动驾驶汽车完成行驶,当时没有车辆完成挑战。但是到了 2005 年,有 5 个团队达成了目标,到 2007 年,开始挑战模拟的城市道路,并且需要在限定时间内完成。这个挑战赛的难度越来越大,并且开始有科研机构参与进来,其中最著名的就是斯坦福大学和卡耐基梅隆大学的研究团队,现在很多自动驾驶领域的领导者,都是当时研究团队里的研究生和教授。他们也贡献了自动驾驶领域最有参考价值的文献,如:


    • “Towards 3D Object Recognition via Classification of Arbitrary Object Tracks”

    • “Tracking-based semi-supervised learning”

    • “Towards fully autonomous driving: Systems and algorithms”



    所以在科研之后,工业界就开始关注这件事情,在最近的十几年还有很多事情让无人驾驶成为可能:


    • 车辆技术:汽车的电子化和电动化。因为自动驾驶很多程序是需要电控系统的,如果是传统的液压或者机械控制方式,在反应速度和控制难度都会大很多。

    • 算力 &芯片:算力的提升和芯片技术的进步,最优代表性的就是 CPU。

    • 传感器:比如激光雷达,让自动驾驶能够达到更好的感知效果。

    • 大数据:互联网带来的大数据技术。


    所有的这些再结合机器学习算法的进步,让自动驾驶成为可能,并让工业界进入这一领域。



    第一个是 Google,在 2009 年进入这一领域,并且收购了上述两个最优秀的大学科研团队。因此 Google 的无人车领先于世界,直到今天。


    其他的公司也陆续进入了这一领域:



    主要分为三类公司:高科技公司、汽车的一级供应商和主机厂。通过早期的文献,这些公司打造了自己的原型车。



    当原型车出来之后,是否就是实现了从 0 到 1?不是的,原因可以参考上面的例子:现实非常骨感,即使我们根据前面的论文做出了原型车,在路上会遇到这样的情况,如逆行的电动车,这在挑战赛里是没有的。



    还有这个场景,可以看到晚上会有一辆三轮车,并且上面会有非常庞大的物体,这对人工智能会是一个很大的挑战:如何判断这到底是个什么物体。



    还有红绿灯,我们会发现每个城市,甚至不同的区域,红绿灯都有不同的模式,有各种的形状,以及逆光等等,都需要算法来解决,还有个更可怕的情况,如最右边的红绿灯,大家可以看到是个绿灯,但是真实的情况这个红绿灯坏了是不亮的,但是反绿。如果自动驾驶汽车要安全行驶就必须要解决这些问题,这些都是前面那些论文里不曾提及的。



    工业界打造自动驾驶汽车,一定会商业化,并且创造市场价值,这不是做一个研究,所以最终的目标一定是:扩大车辆的数量,覆盖的范围,行驶的里程,运营的时段。所以这就带来了很多工程上的挑战。这里只是列举了其中一些:稳定性、可靠性、可扩展性、自动化、复杂场景处理、Corner case、大规模地图生成、地图增量快速更新、大数据存储和计算、BI、HMI、Control Center,所有的这些都需要我们去面对。



    打个比方,就是从第一辆的奔驰车->5、60 年代的奔驰车->到现在的奔驰车。我们需要一次次的迭代。类比一下汽车换代,也许我们做出的第一辆原型车就是左边这辆车,但是我们最终的目标,是达到最右边或者中间的状态,虽然都是自动驾驶汽车,但是有非常大的不同。比汽车换代更难的是,我们的系统在升级换代时,是需要保持同步的测试的。



    方法是我们会有一个非常快的迭代和流程,一个工程师如果要开发一个功能,或者修复一个 bug,会先在代码上做更新,然后在模拟仿真的环境下测试,测试的环境或者场景来自我们从各个地方采集的数据,如果都完成了之后,我们会进行场地测试或者路测,来验证是否达到预期,中间任何步骤如果不符合预期,会重新回到第一步骤,然后再次验证。实际这个流程是非常快的,一般当天就会有结果。如果测试结果 OK,每周都会同步到我们所有的测试车辆上。并且每个工程师都可以独立、并行的来做这件事情,这就保证了一个非常快的迭代节奏。


    这是软件的迭代节奏,硬件上虽然不如软件这么快,但是我们也在保持一个非常快的节奏。



    在技术上,我们也做了很多的创新,比如车载操作系统,我们放弃了 ROS,打造了自己的 PonyBrain 操作系统,目的是让系统更好的适应自动驾驶的场景。ROS 是一个分布式系统,并且它的时序是无法保证的,跟自动驾驶集中式的处理是相悖的,所以用我们自己打造的系统会有更高的效率,从我们实测来看,在同样的场景,我们系统的性能要高一个数量级。保证了车辆会有更大的空间去做算法的开发,并且能够保证安全性。如果实时性比较差的话,车辆在高速行驶中的安全性就得不到保证,因为 0.1 秒的差距就有产生很大距离的误差。



    在数据上,我们也面临非常大的挑战,首先它跟互联网数据一样都很大,单辆车就会产生 PB 级的数据,远远多于一个互联网用户产生的数据,并且来源和互联网数据也不同,它的数据来自于客户端、大量的传感器数据以及模块运行日志。所以我们会自己打造一套数据系统,当然我们会利用之前已经有的技术,以及互联网的经验积累。



    仿真系统,这个对我们也是非常重要,如果要保证算法的快速迭代,没有仿真的验证就会很慢,原因是很多的验证不可能去做实测,左边显示的是我们路测时候的场景,所有我们在路测过中认为是很重要的场景或者 case,都会收集到仿真系统中,所有代码的改动,都会触发重新测试这些 case,它可以保证我们的系统是进化的,而不是解决了一个问题,又冒出另外一个问题。仿真系统还有另外一个功能就是可以创造一些场景,因为某些场景在现实中是很难收集得到的。



    高精地图也是一个绕不开的话题,与传统导航地图相比,我们的数据量非常大,并且要求厘米级的精度,而导航地图到米就足够了。最后就是更新的频率,导航地图可能一个月更新一次,对于自动驾驶,我们最早是天级别的,后来发现不够,又采用增量和全量更新的方式做到了小时级别,后来发现小时级还是不够,因为经常会有人把路封住,比如修路,这时单纯靠感知的能力不是特别理想,如果我们的第一辆车感知到这个场景,我们就会下发到其他所有车辆,告诉他们这个地方是不通的,所以我们可以达到分钟级别的响应。



    传感器的融合,最核心的传感器有毫米波雷达,摄像头,激光雷达等,这几个传感器都有各自的优点,目前还无法互相取代。那么如何去使用这些传感器,达到安全驾驶,我们的思路是把传感器的数据融合起来,这里展示的是,把激光雷达的数据和摄像头的数据进行了融合。激光雷达的一个特性是有非常准确的距离数据,摄像头的优点是分辨率非常高,并且有色彩和纹理,如果能把更多类的传感器数据融合在一起,那么后面无论是传统方法还是深度学习方法,都能取得一个更好的效果,从源头上解决感知效果的问题。当然这里有很多很难的技术,比如传感器的标定,我们需要把所有的传感器结果投影到一起,它们之间的 3D 关系,是一个很难的问题。还有就是时间的同步,每种传感器触发的时间都是不一致的,如果误差在零点零几秒,我们就无法做到图中的情况,做不到时间上的同步。



    这是我们通过一系列创新和迭代达到的效果,这是加州车辆管理局(DMV)公布的,各家在加州获得牌照进行测试的一些自动驾驶公司的数据(不包括中国路测的数据),最重要的两个数据是里程和 MPI ( 平均多少公里以后需要人工接管,这个数据越高越好,表示车辆智能化程度越高 ) 。


    这是 Pony.ai 部分路测片段,包含了晚高峰、动态寻路和雨夜等场景:


    00:00 / 00:00
      1.0x
      • 3.0x
      • 2.5x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.75x
      • 0.5x
      网页全屏
      全屏
      00:00


      Pony.ai 部分路测片段



      Pony.ai 在做的一个未来自动驾驶的可能落地模式:自动驾驶出租车(Robotaxi)。这里的技术挑战是什么呢?在很多公司的展示中,我们看到的是从 A 点到 B 点的展示,它只有一条固定路线,甚至是固定车道,并且容易过度拟合。而区域内出租车是多点动态寻路,面临的场景是该地区内的任何路线或车道,复杂性呈指数级增长。


      2018 年 12 月,我们发布了 PonyPilot 项目的同名内测版小程序。通过小程序,试乘者在覆盖区域内可以自由选择想去的目的地。目前除了内部员工外,该小程序的权限为邀请制,未来考虑开放为可自由下载。


      00:00 / 00:00
        1.0x
        • 3.0x
        • 2.5x
        • 2.0x
        • 1.5x
        • 1.25x
        • 1.0x
        • 0.75x
        • 0.5x
        网页全屏
        全屏
        00:00


        PonyPilot 体验



        PonyPilot 内测版小程序


        离 1 还有多远



        我们自己认为自动驾驶会有这样的几个阶段:最早的就是原型车或者普通的展示,然后有些公司会往前走,做一个优秀的展示,第三个阶段就是我们现在在努力实现的,打造的无人驾驶车队的运营,只有通过这个阶段来验证系统的可靠性,去不断的收集数据,不断的算法迭代,才有可能达到商业化,它无法从一个优秀的展示,直接跨越到商业化产品,所以中间的阶段是目前头部公司一直在努力达到的一个阶段,这个阶段做好之后就会尝试在某个区域进行商业化的运营,这时自动驾驶就会真正进入到人们的生活,到最后才是自动驾驶进入城市或者千家万户。最终的目标还非常遥远(10 年计),但是自动驾驶的商业化没有那么远。



        最终自动驾驶会成为一个现实,我们的智慧交通、智慧城市也会真正的实现,也许到那时在道路上开一辆非自动驾驶的汽车是非法的,比如现在在马路上骑马就是非法的。我们期待着这一天的实现,谢谢大家。


        作者介绍


        李衡宇,Pony.ai 北京研发中心负责人,四川大学电子信息学硕士,前百度广告搜索部和自动驾驶事业部资深工程师,曾获“百度最高奖(百万美元大奖)”,目前在 Pony.ai 负责自动驾驶整体技术研发。


        本文来自 DataFun 社区


        原文链接


        https://mp.weixin.qq.com/s/_0wlfAE_Ccf3WOl-DUA1XA


        2019-07-15 17:183043

        评论 1 条评论

        发布
        用户头像
        最好的实施方案是与交通部的系统进行对接,比如 红绿灯控制系统对接,各种系统对接后进行实施。
        2019-07-25 16:44
        回复
        没有更多了
        发现更多内容

        AngularJS进阶(四十)创建模块、服务

        No Silver Bullet

        服务 模块 AngularJS 12月月更

        AngularJS进阶(四十一)AngularJS中使用Chart.js制折线图与饼图实例

        No Silver Bullet

        AngularJS 12月月更 Chart.js 折线图与饼图

        终于被我发现了这个推特视频下载的方法!超级简单!支持苹果安卓双系统!

        frank

        推特视频下载

        java自学好还是培训好?

        小谷哥

        cdr2023断网离线激活下载教程

        茶色酒

        cdr2023

        浪潮 KaiwuDB 陈磊:布局数字能源,创新助力 “双碳”

        KaiwuDB

        AngularJS进阶(三十九)基于项目实战解析ng启动加载过程

        No Silver Bullet

        项目实战 AngularJS 12月月更 启动加载

        什么样的web前端培训靠谱?

        小谷哥

        大数据培训出来就业前景如何

        小谷哥

        大数据培训工作就业前景怎么样

        小谷哥

        架构实战模块1作业

        Geek_e3a35c

        哪篇论文宣布了 HTAP 数据库的诞生?解读《A Common Database Approach for OLTP and OLAP Using an In-Memory Column DataBase》

        StoneDB

        MySQL HTAP 数据库· StoneDB 12 月 PK 榜

        上海靠谱的前端培训机构有没有推荐

        小谷哥

        来聊一聊 ElasticSearch 最新版的 Java 客户端

        江南一点雨

        Java elasticsearch springboot ES

        一文带你快速上手云日志服务

        华为云PaaS服务小智

        云计算 运维 日志管理

        AlibabaP8,耗时182天肝出来1015页分布式全栈手册

        程序知音

        Java 分布式 后端 java架构

        云原生 AI 的资源调度和 AI 工作流引擎设计分享

        Baidu AICLOUD

        AI工程化 异构计算 云原生AI 百度百舸

        骨灰级精品,京东百万架构师亲码的MySQL内部笔记太硬核了

        小小怪下士

        Java MySQL 程序员

        PreSTU:一个专门为场景文本理解而设计的简单预训练模型

        华为云开发者联盟

        人工智能 华为云 OCR 12 月 PK 榜

        震惊,WSL2居然可以挂载USB

        吴脑的键客

        WSL2 usb

        几种数据库jar包获取方式

        华为云开发者联盟

        数据库 华为云 12 月 PK 榜 jar包

        华为云12·12直播EI专场即将开始,满足电商行业全场景搜索需求

        科技怪授

        华为云

        聚焦技术,锐意创新,GaussDB给世界一个更优选择

        华为云开发者联盟

        数据库 后端 华为云 12 月 PK 榜

        Sovit3D引擎快速构建智慧变电站三维可视化系统

        2D3D前端可视化开发

        物联网 智慧变电站 智能变电站 数字孪生变电站 变电站可视化

        面了40+岁的大叔,没有录用,并不是因为年龄

        产品运营心经

        工作经历 面试‘ 职场发展 大龄求职

        【计算讲谈社】第十五讲|云端即时渲染:下一代互联网的算力基座?

        大咖说

        数字人 云游戏

        喜报 | Bonree ONE 2.0荣获信通院“2022IT新治理年度明星产品”

        博睿数据

        可观测性 博睿数据 荣誉 ONE平台

        直播继续!华为云Solution as Code一键高效上云,解决方案开箱即用

        科技怪授

        华为云

        关于K8s集群环境工作组隔离配置多集群切换的一些笔记

        山河已无恙

        k8s管理 K8s 多集群管理 12月月更

        系统的混乱并非业务本身之复杂,我们并不擅长处理『简单』

        阿里技术

        软件工程 复杂度

        如何合并Excel文档

        Geek_249eec

        C# Excel VB.NET

        自动驾驶从0到1之路_文化 & 方法_DataFunTalk_InfoQ精选文章