我们正在向新域名迁移,3秒后自动跳转
We are migrating to new domain, will redirect in 3 seconds
jackwish.net -----> zhenhuaw.me
自动驾驶乱弹
前段时间自动驾驶技术公司 Drive.ai 被苹果收购的消息传出,一时间自动驾驶伪命题的言论铺天盖地。深度学习的火爆和电动车的爆发引起的自动驾驶技术研究热潮下,人们的观念往往两极化:一是觉得全自动驾驶明年就能上路了,另一方面则会觉得自动驾驶遥不可及。而大量的自动驾驶创业公司的新闻一般只有两种,一是融资估值多少,而是买了多少辆车做路测。
我并不是相关行业的从业者,本文谈一下个人的一些粗浅看法,各个小节间基本上没有前后逻辑依赖。最后,我对汽车行业了解不多,因此很多举例都是用特斯拉来说明,希望不至引起反感。本文想说明的是人们对于自动驾驶这一主题的一些观念,而非评价汽车品牌或生产商。
行业标准
自动驾驶的话题总是绕不开美国国家公路交通安全管理局(NHTSA)提出的自动驾驶五等级分类系统:
- 等级0:即无自动。驾驶随时掌握著车辆的所有机械、物理功能,仅配备警报装置等等无关主动驾驶的功能也算在内。
- 等级1:驾驶者操作车辆,但个别的装置有时能发挥作用,如电子稳定程式(ESP)或防锁死刹车系统(ABS)可以帮助行车安全。
- 等级2:驾驶者主要控制车辆,但系统阶调地自动化,使之明显减轻操作负担,例如主动式巡航定速(ACC)结合自动跟车和车道偏离警示,而自动紧急煞停系统(AEB)透过盲点侦测和汽车防撞系统的部分技术结合。
- 等级3:驾驶者需随时准备控制车辆,自动驾驶辅助控制期间,如在跟车时虽然可以暂时免于操作,但当汽车侦测到需要驾驶者的情形时,会立即回归让驾驶者接管其后续控制,驾驶必须接手因应系统无力处理的状况。
- 等级4:驾驶者可在条件允许下让车辆完整自驾,启动自动驾驶后,一般不必介入控制,此车可以按照设定之道路通则(如高速公路中,平顺的车流与标准化的路标、明显的提示线),自己执行包含转弯、换车道与加速等工作,除了严苛气候或道路模糊不清、意外,或是自动驾驶的路段已经结束等等,系统并提供驾驶者“足够宽裕之转换时间”,驾驶应监看车辆运作,但可包括有旁观下的无人停车功能。(有方向盘自动车)
- 等级5:驾驶者不必在车内,任何时刻都不会控制到车辆。此类车辆能自行启动驾驶装置,全程也不须开在设计好的路况,就可以执行所有与安全有关之重要功能,包括没有人在车上时的情形,完全不需受驾驶意志所控,可以自行决策。(无需方向盘自动车)
这五个等级通常被冠名为 L0-L5 。一般认为 L4 及以上才能被称作全自动驾驶,而对特斯拉的批评也一般是其有将 L2 级别的自动驾驶宣传成 L4 的倾向。
安全性
对自动驾驶的主流批评是其不安全,例如特斯拉的若干起事故。这种看法是不对的。首先任何新技术在应用时都无法保证没有任何负面作用。而实际上,自动驾驶技术并不需要完全不发生错误,只要比人类的安全性高即可。那么如何判断呢?统计。
不妨看一下人类是如何学习驾驶的。首先要申请驾照,如我们所知,拿到驾照而开不好车的人简直太多了。驾照只是证明知道如何操作汽车,和基本的交通规则。对于复杂的情况则完全依赖人的主观决策,没有任何培训。自动驾驶则不一样。由于其特性,它必须解决极端情况下的安全性问题。而用计算机方法解决的优势是,它只需解决一次,后续没有再训练的问题。
那么为什么自动驾驶会更安全呢?当出现危急事件时,无论是人还是计算机,都需要感知到危急事件,然后才能规避危机事件。感知又可分为两部分:
- 信息的采集。在信息采集方面,计算机拥有无比的优势,例如多安装摄像头那么视觉感受视野就远高于人类,也不会出现诸如 A 柱这样的盲区。毫米波雷达这类技术还可以突破视障限制,感知周围车辆的状态。
- 对信息的判断。直觉上我们会认为该任务计算机可能不如人类。这里不妨分析一下。对车而言,判断有没有危险即判断会不会撞到其他车。最最基本的物理可以告诉我们,只要知道两个物体的相对速度,就可以知道在接下来的若干时间内两者会不会相遇。我相信没有人会任务在判断速度这件事情上计算机不如人类。
那么我们知道,在感知危急事件这一层面,如果抛弃技术限制(假设这些问题会在十年内被解决),那么计算机一定会做得比人好。那么规避呢?规避也可简单分做两部分:
- 判断该如何规避。规避动作无非是速度控制加运动方向控制。人的规避一般是训练得到的踩刹车和本能反应转方向盘,不得不说,这两者基本上没什么效果,能成功规避危险就是奇迹。计算机因为拥有更多的信息,特别是附近车辆的速度信息,显然能够做出更明智的决策,甚至不损失乘车体验。
- 执行规避操作。这一项对于电动车来说根本不值一提,因为计算机可以计算出精准的规避方向和速度,而电机系统可以完整地执行。
由上面的讨论可知,如果不考虑技术因素,自动驾驶在碰到危急情况时可以做出比人类更优的应对。
而实际上远不止于此。调查显示,车祸发生的主要原因都是人为的不规范驾驶,包括开车接打电话、疲劳驾驶、酒驾、超速等等。无需论证,计算机根本不会因为这些问题导致自动驾驶无法执行,只要设计过程中完全遵循交通规则,即使规避功能没有做到极致,事故率也会远远低于人类驾驶员——因为它排除了行车中最大的不确定性因素。
应用场景
每当谈及自动驾驶,质疑的声音中总有一支显得无可辩驳——城市交通过于复杂,计算机很难处理。这是对的,目前城市交通中,汽车不光要处理和其他汽车的关系,更复杂的是要处理和行人以及非机动车的关系。这种情况是如此的复杂和突发,使得熟悉计算机技术的人认为这几乎是一个无法解决的问题。
是的,城市道路确实是一个难题,但这并不代表自动驾驶无法部署。我们从「行业标准」中可以看到,L0 到 L5 六个等级的难度是依次增大的。目前,只要是不至于太差的车,基本都配备了 ESP 或 ABS ,即有 L1 级自动驾驶。当然,L2 以上级别几乎没有配备,很多汽车生产企业声称要直接实现 L4 级别的自动驾驶。而特斯拉选取的路线是从特定场景到宽泛场景,依次启用各个级别的功能。
封闭高速公路其实是部署自动驾驶的好场景。这有两点,一是封闭高速公路隔离了非机动车和行人这两大不确定性因素,甚至汽车的行使方向都是一致的。这就早就了一个对计算机非常友好的运行环境——足够确定。当输入足够确定时,计算机可以得到很好的结果。二是封闭高速公路通常为长距离旅行服务,行车时间长达几小时。而人类在长时间行车中容易疲劳,更容易因为外部刺激不够而放松注意力。计算机则不会出现这样的问题。
这里出现了一个问题,自动驾驶标准并没有适合封闭高速公路的分级。L2 自动化等级太低,只是类似于 L1 的危险处置系统。L3 有一定自动化,但其中「驾驶者需随时准备控制车辆」使得这一等级的自动驾驶毫无意义——如果驾驶员要随时控制车辆,那为什么他还要让计算机开车呢?毕竟当驾驶员重新接管车辆时,他对车辆的情况并没有非常直接的感受,很难做出准确的判断。L3 定义存在问题也导致了大多数从事相关技术研究的企业都跳过了该等级,而诸如 Uber 的相关测试被报告驾驶员没有真正准备随时接管汽车。
L3 的设立中伦理性问题大于技术性问题。对于封闭高速公路这样的体系,如果自动驾驶在面临险境时避让不及,造成伤亡,那么技术供应商会招致巨大的批评,乃至导致自动驾驶技术的搁浅。而有了 L3 ,技术供应商就可以声称要求驾驶员随时准备接管汽车,如果出了问题,再发现驾驶员在开小差,那么驾驶员就是背锅侠。因此 L3 实际上又是为驾驶技术公司提供的防火墙。
当封闭高速公路的问题解决后,相信危急情况处理已经得到解决,那么可以拓展到非封闭但也非城市道路。这种道路的特点是只有极少的行人或非机动车,要解决的问题介于封闭高速公路和城市道路之间。而这也是卡车的常规情况,因此很多技术公司致力于为卡车提供相关技术。其原因大体类似与封闭高速公路:卡车路线固定,而行使时间较长。这个级别的自动驾驶应该接近 L4 等级。
当封闭高速公路的自动驾驶开始推广时,城市交通系统应该意识到自动驾驶的趋势,并着手相关基础设施的建设。例如制定汽车间的行使信息交换标准、城市红绿灯交通控制系统的信息同步标准、城市交通系统与汽车直接的互相协调控制等。这些需要时间,而当非城市道路这样的场景问题解决后,城市交通系统应该已经准备完毕,可以开始对接自动驾驶汽车了。此时,很多目前存在的因为行人和非机动车而存在的障碍应该已经得到解决,全 L4 级别的自动驾驶技术部署。
那么,L5 也即将到来,人类的交通方式将会再次发生变革。
技术路线
个人仅仅是从事机器学习系统研发工作,对自动驾驶涉及的方方面面不甚了解。不过因为本文也仅仅是瞎说八道,并不是什么严谨的论证,因此可以随便地谈一谈简单的看法。探讨技术路线,首先需要知道自动驾驶都设计哪些环节。如本文前几章节的讨论,整个过程包含感知、决策、执行三个大的过程。我们挨个来看。
感知主要是获取局部路况信息,次要是获取全局路况信息。局部信息包括车道配置、交通标识识别、交通信号识别等道路信息,以及周边车辆行使的速度和工作的信息。
对于车道配置,目前很多新车型都配备了相关技术,能够识别道路。虽然该信息目前处于噱头状态,对人类驾驶员没什么用,但对自动驾驶还是一个基础问题——因为计算机识别车道信息没有人类那么直接。交通标识信息识别要分两类,一类是标准图形,这种比较容易,图像识别就可以解决。另一类是临时性的文字说明,这需要自然语言处理技术。不过这两类信息中的大多数都可以从交管部门获得,除非是特别进击发生的事情。交通信号识别比较麻烦,因为信号灯和其对应的车道信息缺乏明确的绑定。通过计算机视觉处理后,虽然信号灯本身的信息可以感知,但如何与具体的车道关联,形成车道的信息则比较关键,目前似乎没听说太多工作。另一方面,信号设施如此重要,但却有些脆弱,供电系统损坏、配置错误等等都可能导致对驾驶的误导,此时计算机很难像人类一样从其他输入获得信息。总和来看,对于车道信息,基本还是依赖计算机视觉,辅以自然语言处理。这些技术很大程度上可以通过目前汽车配备的 AR 导航和地图相关技术完成初期的数据和技术积累。
对于车辆识别,主要是获取车辆的形式状态。人类驾驶的车辆形式状态依靠车灯信息和驾驶员经验性的目测。自动驾驶当然能通过视觉获得信息,但这些信息还不够精确,不能帮助做出一些精确的决策——例如多车的空隙是否适合超车,与前车距离是否足够紧急情况刹车等等。精确的决策依赖精确的信息感知。而这部分精确距离和运动感知则需要毫米波雷达。毫米波雷达有两个巨大的优势,一是突破视障,大型车不再会遮挡小型车的信息;而是精确性,距离、速度等信息都将是有效可靠的。毫米波雷达也是目前诸多自动驾驶研发机构在信息感知方面对视觉的重要补充,而相关技术的前期积累主要是军用转民用。进一步地,也可在雷达这样的主动探测信息外,配置被动信息机制——车辆向外广播自身的动作,例如是否要刹车、加速等。这个广播可以在局部的临时网络中发送匿名消息,这就需要相关的协议标准等支持。
在车道和车辆的局部信息之外,还有路况全局信息。这部分信息主要是涉及拥堵等,目前的地图导航设置都包含相关功能。如果我们看得更远一些,全局信息还可以包含城市的车流调度信息,预判各个道路在不同条件下的路况人流情况,帮助车辆选择更优的路径。这依赖于城市信息化的基础设施改进。
有了足够精准的输入信息,才能做出有效的决策。决策主要是即时的行使决策,这依赖于足够细化的规则设置,机器学习在其中能起到的作用尚未可知。不过我们已经在「安全性」一节中谈过不少,这里不再谈论微观尺度的决策。宏观尺度的信息主要是对路程的判断,此时已不仅仅是作为车辆将人从一个位置装载到另一位置,甚至会牵涉到与之相关的生活的安排。例如,行驶可以安排在夜里,以较低的速度形成类似铁路卧铺的体验。又或者夜里车辆较少,可以更快更准确地到达目的地,从而更为有效的利用时间。
最后谈执行。这个话题和汽车行业牵涉比较重,有点不知从何谈起。不过总的理解是,现行的行业格局将被打破,计算机深度应用和电动系统带来的精确性控制,行业的整体技术壁垒都是不同的。现在的红海或许会变成蓝海。
一个可以明确的结论是,自动驾驶必将到来,不过还早。