“一个致命的事故一定是由多个小的错误组成的。”
7月1日一早,发表博客叙述了NHTSA(美国国家公路交通安全管理局)正在着手调查第一起自动驾驶致死的车祸(点击可看)。该车祸是今年5月7日美国弗罗里达洲一位名叫Joshua Brown的40岁大哥开着一辆以自动驾驶模式行驶的Model S在高速公路上行驶,全速撞到一辆正在垂直横穿高速的白色拖挂卡车(如图)。
驾驶员以及Autopilot(Tesla的自动驾驶系统)都未对该卡车进行有效的反应(转向或减速),以至于Model S直接撞上了拖挂卡车的侧面并且从卡车下面钻了过去,直接变成了Tesla Roadster。
这确实是一件大事,因为NHTSA可以决定某种车型是否进行召回。Tesla也非常紧张,在博客中提及了非常多的细节,包括蓝天背景加上白色卡车容易被识别为云彩,并且拖挂卡车侧面从Tesla Autopilot的视角看是悬浮在地面上的,这种非常少见的情况导致了Autoplot系统的漏检。并且车辆碰撞位置为Tesla的挡风玻璃使得Tesla的碰撞安全系统无法发挥作用,这导致了驾驶员的死亡。
本文将从专业的角度叙述该车祸的大致原因,以及后续避免此类车祸的方式方法。
为什么会漏检?
首先我们需要了解TeslaAutopilot系统中所使用的传感器:
挡风玻璃中间的MobileyeEyeQ3视觉系统
前保险杠下方的毫米波雷达
车辆四周的12个超声波传感器
很不幸,我们认为在这起致命的车祸中,所有的传感器都漏检了。
对于Mobileye EyeQ3视觉系统,一个漂浮于地面的白色物体被漏检有以下几个原因:
Tesla Autopilot选用的摄像头为长焦镜头。当白色拖挂卡车进入视觉区域内的时候,摄像头只能看到悬浮在地面上的卡车中部,而无法看见整个车辆。这使得Mobileye的障碍物识别系统无法识别出障碍物是一辆卡车,而更可能是飘在天上的云。
漂浮物体检测。笔者曾和Mobileye的工程师沟通过,EyeQ3系统有许多特殊情况(Corner Case),漂浮物体是其中比较难以解决问题,包括道路救援车以及双层的车辆运输卡车,Mobileye很难很好理解漂浮在空中的物体。
大面积白色障碍物检测。当年,Mobileye以单目摄像头进行障碍物检测,技惊四座。这中间的单目障碍物检测算法非常重要,但对于大面积白色物体的障碍物检测时,无论是学术界的最新算法,还是Mobileye都不能很好得解决该问题:由于大面积白色物体很难从图像中提取特征点,使得基于点的相机姿态求解没有足够的数据输入,导致大面积白色障碍物的漏检率非常高。
对于毫米波雷达系统,原因主要是其安装位置过低。一般的毫米波雷达垂直视角在±5°以内,导致当Tesla靠近拖挂卡车侧面时,雷达波束从下侧穿过了卡车,导致漏检。
对于超声波雷达,其测量距离过短(2米左右),在高速行驶中基本无法探测纵向障碍物。
最后,最重要也是最致命的漏检,是驾驶座上的驾驶员。Tesla Autopilot系统是一个公用测试版的系统,要求驾驶员时刻注意车辆状态以避免出现事故。但据卡车驾驶员Frank Baressi原话是,(出车祸时)Tesla的驾驶员正在玩哈利波特游戏。于是最后一道防线被击溃,Model S车毁人亡。
如何避免漏检?
从上文看,是不是当面对垂直行驶的白色拖挂卡车,所有自动驾驶汽车都只能坐以待毙了?当然不是。只是从技术上分析,我们认为以Tesla当前的Autopilot系统,漏检无法避免。
什么样的自动驾驶系统可以避免漏检?如何改进Tesla Autopilot系统?从根本上,我们认为Tesla Autopilot系统缺少了面对特殊情况的冗余性。自动驾驶技术如今可以解决大部分的问题,如Mobileye认为他们的视觉系统识别率可以达到90%以上(具体数字无法透露)。但这一切都是基于Mobileye的测试数据得出的结论。当遇到如本次事故中的情况,显然它并不在测试数据中,这种特殊情况在平时测试时无法穷举,也就是说有许多特殊情况在产品开发时无法考虑周全。再比如毫米波雷达,有很多数据表明,毫米波雷达无法测量到卡车的底盘,引起多起自动跟车事故。总的来说,这起事故表明,Mobileye视觉系统加上毫米波雷达不足以解决事故中的情况。
我们必须承认,没有完美的自动驾驶系统,所以我们需要更多不完美的系统。
下一代的自动驾驶系统一定会使用更多的传感器来避免类似事故的发生。增加的传感器一定能覆盖本事故的情况,并在类似的情况中不会发生漏检。
成为自动驾驶老司机的关键
当汽车以120km/h的速度在高速上行驶时,至少需要拥有200米的预判(6s的反应时间)。该预判需要知道前方障碍物的信息,主要包括障碍物的距离与速度。其中对距离的测量是重中之重:如本次事故就缺少了对障碍物距离的有效测量,导致系统无法进行有效的操作。当前自动驾驶研究中有多种测量前方障碍物距离的方案,主要的方案如下:
单目相机光流法:Mobileye基于图像的深度计算主要使用这种算法,在本次事故中证明无效。
双目相机视差法:双目相机如同人类的眼睛,但当前主要的双目相机方案的基线(双母摄像头光轴的距离)在10cm~12cm之间,当障碍物距离超过20米时,深度分辨率急剧下降。在100米之外基本无法得到障碍物的距离。
激光雷达(LiDAR)测距法:LiDAR是最近各类自动驾驶新闻中出镜率非常高的测距传感器,使用光学测距法,测量车辆四周的障碍物距离情况。测量距离可以达到200米,精度约±3cm。但价格较高,且在雨雪天会受到较大的干扰。
既然Autopilot的基于相机+毫米波雷达的方案无法避免此类事故,下一代自动驾驶技术所需的传感器自然已经有了答案:我们看到激光雷达(LiDAR)在自动驾驶系统中发挥着越来越重要的作用——从DARPA挑战赛走出的无人驾驶汽车,到最新一代奥迪的自动驾驶汽车。随着价格的降低与技术的成熟,激光雷达将会走入人们的行车生活,带来更安全的自动驾驶体验。