自动驾驶,现在在风口上,一旦实现改变是巨大的。汽车直接从交通工具变成了房屋的一部分延伸,货运更是可以节约大量人力成本。但是现在自动驾驶还处于初级阶段,全球只有奔驰在个多道路上能达到l3,并且会为了其自动驾驶系统的故障负法律责任,其余任何一家企业,自动驾驶单纯不作为的话,发生事故是不用负法律责任的。可以看到,当前自动驾驶还是处于很初级的阶段。但是,这并不妨碍对自动驾驶的路线进行探究,俗话说,方向错了,再努力也是白费,方向都作用不言而喻。
特斯拉作为电动汽车领域的明星,其自动驾驶技术一直坚持往纯视觉方面靠拢,其一直拒绝配备激光雷达这种距离传感器。早期车辆还配有毫米波雷达作为补充,最近连毫米波雷达都取消了,纯靠着视觉和算法,完成相应的任务。特斯拉一直对外宣称的理由是所谓第一性原理,即,目前的道路和各种交通设施都是为了人视觉驾驶而设计的,既然人可以光靠视觉完成驾驶,那么机器通过摄像头,采集图像后进行处理,也能完成驾驶,摄像头的图像已经不比肉眼差了,差的只是算法。
分析:乍一看第一性原理还是有道理的,实际上,第一性原理本身漏洞不少。而且还要考虑可实现性。
首先,第一性原理本身就有问题。第一性原理是建立在人能靠纯视觉完成驾驶的基础上,但是,人类完成驾驶汽车的时候,本身并不是只依靠视觉。最典型的就是汽车上的喇叭。如果人类只依靠视觉,要喇叭干嘛。汽车喇叭是重要的汽车之间传递信号的方式。按照科目三标准来说,车辆启动,进入道路前,还要按两下喇叭呢,这写入交通规则里面的东西,怎么就被忽略了。更何况,触觉也是有用的。比如,有个叫路感的东西,别小看这个东西,有厂商明明做了数传方向盘,隔断了前轮到方向盘的动力传递,还要额外加上电机,模拟路感。还有,现在不少城市内,渣土车都得强制装补盲雷达,就是为了转弯时的安全,本身就是一种距离传感器设备。包括大家耳熟能详的倒车雷达,也广泛应用在非自动驾驶汽车上,可以说,非视觉也是正常驾驶非自动驾驶车辆的重要组成部分,所谓人只依靠视觉就能完成驾驶是站不住脚的。
其次,特斯拉的视觉算法并不优秀。大约两三年前,特斯拉曾经经历过一段很痛苦的日子,被称为产能灾难。特斯拉为了所谓的纯自动化生产线,完全采用机器人生产车辆,而机器人在生产过程中错误百出,导致产能更本上不来。特斯拉怎么走出这段日子的,一来靠着临时的帐篷工厂,招募人工完成组装,另一方面,中国工厂的建成直接释放的产能。特斯拉遇到的自动生产错误包括了电池排布错误。特斯拉的电池由大量圆柱电芯组成,在纯自动化生产过程中,有大量电芯遗漏的事件发生。其实,工业场景上,复杂度和可靠性要求都比汽车低的多。工业生产线没那么多场景,按照万分之一错误率也是能接受的,就算出问题,也只是经济损失。而自动驾驶不一样,自动驾驶的场景复杂多变,还得考虑到各种小概率事件,比如违反交通规则等,其可靠性要求更高,万分之一错误率意味着每个大城市每天都会有交通事故是因为自动驾驶产生,这是不可接受的,而且后果也特别严重,一旦出事,车毁人亡。就简单很多的工业场景,只要特斯拉开发出了高可靠性的视觉伺服算法,实际上是可以解决电芯错误的问题的。摄像头经过标定后,由于场景相对固定,就算采用传统视觉方法,都能获得不错的效果,更何况当时基于人工神经网络的深度学习算法已经相对成熟,比如适合工业用的yolo目标检测算法,或者更高精度的rcnn目标检测算法,都完全能满足伺服需求,而部署这种算法的成本并不高。一台1万左右的电脑 加上上千的摄像头就能有不错的效果,相对几十万起步的工业机械臂来说,成本忽略不计。特斯拉解决不了的唯一理由就是他本身视觉算法方面不算炉火纯青。简单版的工业场景都无法满足,还想着上路?
最后,回答一下基于纯视觉的自动驾驶本身是什么状态。我们承认,依靠纯视觉的自动驾驶是存在理论上的可能性的,但是需求的算力等太过夸张,因此在可预见的将来,不具有显示的可能性。第一,人肉眼观测路况实际上是通过脖子眼球等做了扫视动作,观测面远比双眼视界大,将摄像头绑电机上,快速转来转去显然不现实,因此普遍的方案是多摄像头。为了配合不同场景下的,包括不同距离以及多目成像,摄像头数量在目前基础上还需要提升。第二,当前目标检测算法,还不涉及到运动控制,光是检测环境的算法,可以达到实时性要求的,分辨率都很低,大约是512x512级别。如果想要完成自动驾驶,需要看远方,还需要反应迅速,因此分辨率和帧率都不能太低。因此光待处理的数据量就要翻上百倍。而且,至少目前,自动驾驶光识别里应用还差很远。由于设计生命,其可靠性要求非常高,上文已经提到了,万分之一的错误率都是不可取的 还要考虑到违反交通规则等小概率事件。到时候可能模型的99.99%的大小都是不常见的,但是又不能删去的。值得注意的是,这几个因素是需要相乘的。因此最后得出的结论是,计算设备至少比现在提升10的4次方到10的6次方,再配合合适的算法,才能完成纯视觉自动驾驶。第三,基于激光雷达的多模态融合感知自动驾驶技术,需求就低不少。由于有直接感知距离的传感器存在,因此,可以用单目摄像头,代替双目视差成像。摄像头数量上不用增加。针对较远处小目标检测上,由于激光雷达这类传感器存在,分辨率也不用提高到纯视觉方案。而且,不同原理的传感器,同时发生一样错误的可能性比同一种传感器要低很多。大家考试的时候验算题目,用不同方法验算可靠性比同一种方法再做一遍要高的多。工业上的保护设备也有原则是要用不同原理的。因此,模型的大小可以大大降低。举个例子,纯视觉方案需要保证人奇装异服的情况下都能避让停车,必须要保证能识别奇装异服的是人,而装有激光雷达的,可以通过轮廓识别出前方有人,就算没有识别出前方有人,基于激光雷达的自动驾驶车辆在特别接近的时候,可以启动避障程序,我不知道前面是什么,但是前面有东西就要刹车,而基于纯视觉的,可能根本识别不出前方有东西,而把他当做背景来处理了。因此各种极端情况下,基于激光雷达的考虑的不用那么多。综合考虑下,搭在激光雷达的自动驾驶车辆,大约需要提升10的2到10的3次方算力,就能满足自动驾驶需求。
值得注意的是,当今摩尔定律放缓已成定局,有空可以再写一篇关于摩尔定律的文章,这边就不展开了,只需要记住,芯片不可能再像几十年前那样突飞猛进了。在这种情况下,要想完成10的4到10的6次方倍算力提升是几乎不可能的。因此,特斯拉的自动驾驶技术是属于路走歪了的。
精彩评论