就在今天一大早,Uber 无人车撞人致死的事故有了最新的进展。警方公布了来自肇事车辆的行车记录视频,其中包括事故发生时,车辆正前方和车内驾驶员的状态。
通过这个视频,我们可以大概复盘一下事故发生时的一些情景:
- 行人在横穿马路时恰恰处在路灯没有照亮的黑暗盲区。当 XC90 的车灯照到推自行车的行人时,碰撞已经近在咫尺,单靠人眼及时做出反应会有很大难度。
- 碰撞发生时,行人已经横穿过了马路的一大半。也就是说当行人刚刚开始做出要横穿马路的举动时,车辆距离行人应该还有一段距离。根据当时 38 MPH 的车速和行人的移动速度估算,在她刚开始横穿马路时,车辆距离她应该还有 65-85 米左右的距离。
- XC90 内的驾驶员在事故发生前,视线并没有一直关注前方路面,而是一直在看其视线的右下角。当他在碰撞发生前最后一秒抬眼看到行人时,碰撞已经发生,为时已晚。
可以肯定的是,驾驶员在事故发生前是没有接管驾驶权的,也应该没有人工采取紧急制动措施。那么事情的关键就在于为何 Uber 的自动驾驶系统没能够及时识别到行人?
首先,来看一下这辆车的传感器布局。这个改装过的 XC90 插电混动测试车在车顶一共搭载了 7 个摄像头形成 360 度环视(其中包括 3 个前置摄像头)以及 1 个 Velodyne 64 线激光雷达,此外,在车身四周还有 360 度覆盖的毫米波雷达。
通过事故视频记录反映出来的情况,由于当时行人处在灯光盲区,因此单靠前置摄像头所捕捉到的画面是有可能出现没有及时识别行人的情况的。
朋友圈内有人将警方公布的视频记录上传进了 COCO 和 Kitti 视觉算法平台进行了再识别,其结果也是在碰撞发生前的最后时间才对行人进行了标注。
这里需要注意的是,警方公布的应该是车内行车记录仪所拍摄的影像,而并不是前置摄像头所拍到的原画。真实的前置摄像头应该会有更高的分辨率。
通过我们向行业内的众多技术从业者求证的结果来看,在当时的情况中,不带红外识别的摄像头以及现在市面量产的毫米波雷达都很难能够及时识别到行人。但是车顶的 64 线激光雷达在正常情况下应该是能够识别到的。因此这个激光雷达也成了大家讨论的核心。
事故车上所搭载的激光雷达应该是来自 Velodyne 的 HDL-64E。根据 Velodyne 的官网介绍,它可以提供 120m 的探测距离、360 度环视、以及 26.8 度(向上 2 度,向下 24.8 度)垂直的探测视野。
知道了这些数据,我们就能够大概分析一下自动驾驶系统没能够及时制动的原因:
- 激光雷达没能够探测到行人
这种原因又分两种可能性,第一种是激光雷达出现了故障,在事故发生前没能成功探测周围的环境。按照 Velodyne 产品的市场占有率和安全级别,这种情况的可能性较小,且即使发生了这种情况,系统也应该会检测到激光雷达的故障,提前预警让驾驶员接管。
另一种可能性是激光雷达工作正常,但是行人在过马路时恰巧出现在了激光雷达的探测盲区。
根据目前可以知道的数据,我们简略的画了一张当时激光雷达的探测视野图,按照激光雷达在车顶的大概安装位置估算,其完整覆盖路面的最佳探测视野距车头的水平距离为 2 米左右。
按照我们开始的复盘中提到的,行人在开始横穿马路时距离车辆应该在 65-85 米左右,基本可以肯定是在激光雷达的有效探测范围之内,应该不会出现激光雷达工作正常,但是没有探测到行人横穿马路的情况。
- 激光雷达探测到了行人但是算法没有做出准确的决策
相较于硬件,软件算法才是更加有可能出现问题的环节。目前无人车的决策都是建立在多种传感器融合的分析基础之上——激光雷达所探测的 3d 画面需要和摄像头拍摄的画面以及毫米波雷达的结过融合在一起,然后再据此做出决策。
在这个过程中就有可能出现激光雷达探测到了行人,而摄像头及毫米波雷达没有探测到的情况,那么此时算法在做融合时会做出怎样的判断?
由于以激光雷达为核心的决策方式所产生的驾驶风格过于保守且产生数据量庞大,因此目前业内很多公司的自动驾驶算法都倾向于以摄像头为核心传感器对前方路况进行融合和决策。这就有可能导致在事故发生时算法「忽略」掉了激光雷达的探测结果。甚至说 Uber 的算法有可能并没有将激光雷达用于行人识别。
当 2016 年底 Uber 的 XC90 无人车刚刚上路时,他们的技术人员告诉美国记者说:这辆车所搭载的传感器是超过人类感知能力的(Superhuman preception power)。但当记者提问如果系统或者传感器出现故障,uber 如何保证安全时,Uber 技术人员给出的答复是:车上的驾驶员会在出现问题时进行接管。
现在再看这个答复时,难免会让人感到唏嘘:一套装备超过人类感知能力的自动驾驶系统要依靠一个人类驾驶员提供最终的冗余…… 有人甚至猜测,事故车内的司机一直在向右下看的正是车内显示的传感器融合之后传回的画面,如果真的如此,那么可以肯定的是激光雷达的探测结果在融合时被「忽视」了。
实际上,这次事故所出现的场景恰恰是很多用户希望自动驾驶系统能够帮助他们解决的情况:人类肉眼无法及时洞察,但是机器传感器却能看到的紧急路况。因此悲剧发生后,很多人都会对自动驾驶的应用产生质疑。
人们对于自动驾驶有着很高的期待,舆论也对其前景做了很多宣传,但是当它真正开始走进我们的生活时,我们就会发现要做的还有很多很多:社会需要一个对自动驾驶车辆相关事故的定责标准,企业需要对冗余和安全投入更多的重视,公众需要对自动驾驶技术的基础原理有更多的了解……
在自动驾驶面前,我们已不再是吃瓜群众。恰恰相反,我们在与它一起前进。真心希望,在前进的道路上,不要总是有这种悲剧发生。
原创声明: 本文为 GeekCar 原创作品,欢迎转载。转载时请在文章开头注明作者和「来源自 GeekCar」,并附上原文链接,不得修改原文内容,谢谢合作!
欢迎关注 GeekCar 微信公众号: GeekCar 极客汽车 (微信号:GeekCar)& 极市 (微信号:geeket)。