前段时间,我司主编老白去美国体验了特斯拉FSD,作为传说中的终极智驾BOSS,各位可以先看一下它的实力。
视频加载中...
在我们体验不久之后,特斯拉正式推送了他们的V12版本,在国外的测评视频中,FSD能在斑马线前等待行人,也能丝滑完成无保护左转,或者在被突然出现的车辆被迫刹停后,能快速跟进。
作为最早上车OCC功能的品牌,特斯拉这方面的技术可以说是当前一流。
OCC并不是一个新鲜的词汇,只是在极越提出来之前,很少有车企把它当做重点宣传的对象。
极越花大力气宣传自家的纯视觉+OCC,除了本身品牌就是瞄准特斯拉来对标之外,还是在智驾内卷的时代,需要拿出点新东西,再卷一步。
OCC,恰好就成为了这个马前卒。
行业新宠
OCC的全名叫作Occupancy占用网络,其风头不亚于当年的激光雷达,几乎做智能驾驶功能的主流车企都会用“已有成果”或“OCC上车预告”的形式提及这项技术,目前将这项技术上车的企业包括特斯拉、华为、极越、智己等等。
和作为硬件的激光雷达不同的是,这是一种软件技术,它通过大量的算法训练,拥有对传感器抓取信息的处理能力,不仅可以构建出实时三维场景,还会与系统其他算法“对线”核实,并对数据进行标注。
这是极越展示OCC上车的效果,视频中,车辆宛如行驶在乐高世界,移动的车辆本身、道路其他参与者以及静止的路灯、绿化带等物体都以各种颜色的方块状图像显示出来。
有人可能觉得:这样的建模很普通啊,也就仿真游戏千分之一的水平吧。然而区别在于,游戏里的建模都是设定好的物体和场景,而该视频则是随机的、即时的真实场景。
换一句话说,连我们本人在开车时,都无法做到在脑海里呈现如此完整的场景,尤其是盲区里的后方来车。
我们注意到的、注意不到的,这台车都能注意到,其中出力的Occupancy占用网络技术,到底是怎么做到的?
摊开来看,OCC会将空间划分为很多个立体小方格,每个小方格被称为“体素”。当摄像头捕捉的图像连续不断的输入给OCC,OCC就会观察图像对应的空间,每个体素的状态是被占用还是自由。
(绿框标注处即为“自由”状态)
来个类比,一张围棋棋盘,被放了棋子的格子就是“占用”状态,未放棋子的格子就是“自由”状态。
再举个模拟现实场景的例子,在一个巨大的广场上,只有前方停着一台小轿车,那么经过OCC的分析,当前的感知空间里仅有前方轿车所在区域显示“占用”,其他区域都是“自由”状态。
(黑白格为“自由”状态)
看到这里,OCC为什么叫“占用”网络大家应该也很清楚了,去区分哪里是需要避开的“被占用”空间,哪里是可供我们使用的“自由”空间就是它的主要任务。
下一步就是生成“语义”标签。
一方面输给OCC的图像信息本身就带有识别功能,另一方面新增的高度信息让目标物呈现更全面,可以跟数据库的物体对应上,标注对应的类别。
可能又有人要问了,那如果某个障碍物就是认不出来,没办法定义呢?
这就是OCC的高明之处。如果碰到未知目标物,语义标签可以直接定义为“未知”,但将其所在空间定义为“占用”状态的流程不变,车辆自然就知道该区域无法通行。
就像人类开车也会碰到一些不认识的障碍物,但没认出来没关系,咱们知道无法通行,直接做出避让动作即可。
此前正是据此原理,华为做出GOD算法,实现了避障能力极强的AEB功能。
传统的AEB是提前为车辆设定白名单,只有识别到白名单内的障碍物才会触发刹停。而用“空间占据即不可通行”的思路去做避障,则不再受制于白名单的限制。
那么OCC一旦上车,车就能和人一样灵活懂变通了?
不是灵丹妙药
只能说这项技术加持,智能驾驶会更灵活,但难点还有很多。
从OCC的技术落地方面来说,虽然原理上可以在任何地段使用,但最终效果如何,还得看研发体量的投入和工程师的水平。
比如在训练算法时,样本类别和测试场景的数量、训练序列和验证序列的“做题量”都影响着最终成果。
(英伟达赢得2023自动驾驶开发大赛 3D Occupancy 预测挑战赛冠军的方案)
包括在OCC的运行过程中,动态目标物和静态目标物的分割同样有难度。
比如建筑物不会移动,汽车会移动,那么就要分开处理,防止静止物体出现运动状态,不然出现“汽车上传送带”的状态那可是闹笑话。
而针对动态目标物的追踪也同样有难度,想象一下,如果视频里,“积木”般移动的大卡车在某几帧突然散开再聚集成原样,你还觉得靠谱吗?
如果只去考虑单个体素而无法跟踪并推理障碍物轨迹,那实际应用仍然困难。所以移动目标物的体素会被汇总,划为一个整体。
或许你会问:如果感知能力够强,OCC也做的很成熟,智能车是不是就无敌了?
这个问题,其实从我们体验的特斯拉FSD上或许能找到答案。
一路上特斯拉FSD表现都不错,然而到了一个施工路段出现了问题。
当时原路线该右转,然而桩桶摆出的新车道线只支持直行,系统很明显识别出了障碍物,踌躇之下最终停车罢工。
我们推断是由于路线规划上需要右转,OCC识别只能直行,这是算法上对交通规则的逻辑和可行空间上产生了冲突。
在算法里,车辆对桩桶具备规则认知,遇到用桩桶形成的车道线,是不是凌驾在普通车道线规则之上。
当原定路线被打乱,是宕机还是主动寻找“可行路线”目标?
简单来说,碰到有问题的地方是“静止”还是“移动”?
这些都不是OCC能解决的问题。
写在最后
其实联系实际来说,当驾驶员会开车但是经验不足,且没有过多被输入碰到特殊场景的交通规则凌驾法则,碰到原先路线被打乱且对周边环境陌生的情况下,肯定也是无从下手的。
区别在于,人类有种“试试呗 走错了 那我就转几圈看看呗”的情感思维,车辆则可能出现对行驶任务碰到故障就一团乱麻无法处理的状态。
所以如果不能完全实现对特殊规则的变通,即使像OCC这种高水平模拟人类思维的技术上车,机驾也永远无法代替人驾。