这种场景主要有三类,一是摄像头没见过的障碍物,比如被风吹倒的广告牌、临时掉落的树干、未标注的施工区域碎石等。二是形状不规则的动态目标,比如快速移动的碎片(如被风吹起的塑料袋)、正在变形的挂车。三是复杂环境中被遮挡的目标,如绿化带中隐藏的矮桩、雨雾中翻倒的摩托车等。

与从2D图像中提取像素(pixel)再转化为3D不同,占用网络OCC将世界划分为多个大小一致的立方体,每个立方体也被称为体素(voxel),然后识别每个体素是空闲还是被占用。
OCC以摄像头产生的视频流作为输入,直接在向量空间产生统一的体积占用,预测车辆周围的体素被占用的概率。这样一来,BEV空间真正的从2D感知走向了3D感知。

由此可见,OCC不以认识分类为目标而是以空间是否被占用为检测目标,这样做大幅提升了系统的泛化能力。此外,占用网络还通过光流法识别目标的动态信息。
光流法的核心思路假设构成物体的像素亮度恒定且时间连续,通过对比连续两帧图像中的像素位置变化估计出物体或场景的运动。
以下图特斯拉的展示为例,汽车前方有一辆两节的公交车,它的前半部分刚刚启动而后半部分还停在原地,占用网络可以清晰的感知到这个细节,图中可以看到右前方的蓝色体素表示公交车前半部分在动,而它后面的红色体素则表示后半部分处于静止状态。

将占用网络与原有的BEV+Transformer合体造就了感知模块的终极形态,在一张巨大的神经网络中,通过多个摄像头输入的画面直接端到端输出3D空间中每个体素的占用情况(Occupancy)、运动轨迹(Flow)和语义识别结果(Semantics)。这些结果甚至可以通过输入任意坐标值(x、y、z)在三维空间内查询,也可以直接用于规划和决策模块的输入使用。
根据特斯拉的解释,它是通过在BEV+Transformer层后面增加去卷积(Deconvolution)层从较低维度的特征中恢复更高分辨率的空间信息,进而解码出占用网络。由Transformer输出的带有时序和空间特征(Spatiotemporal Features)的信息直接被输入到卷积层,如此一来整个网络实现了端到端无损输入输出。

至此,BEV+Transformer+OCC结构实现了对感知模块这个自动驾驶中最复杂、棘手部分的一统天下。在这个过程中,特斯拉从2D+CNN和人为规定的模式走向基于数据的端到端神经网络,极大地推动了自动驾驶技术进步。

特斯拉自身的感知硬件也从多传感器融合走向了纯视觉,FSD也从最初的1.0迭代至V11版本。可以说,特斯拉的这么多创新很大程度上来源于其坚持纯视觉的低成本路线“逼”出来的。

2. 决策:走向端到端
感知仅仅是自动驾驶的第一步,如何根据接收到的信息做出判断和反应在实际中更为复杂,因为感知层面更多的是描绘汽车看到的世界,重构一个汽车视角的虚拟世界,而到了决策层面汽车需要真正理解世界中不同元素交互的规则和逻辑,因为它的选择会对真实世界产生影响。
早期的工程师也是基于这一思路着手设计决策模块的,简而言之就是通过写下许多if-else的逻辑规则代码,然后让自动驾驶系统遵守,比如看见红灯要停车、遇到行人要礼让、出高速要提前并线等等。
在这里我们还要区分一下决策规划的三个层次:全局路径规划层、行为决策层和局部轨迹规划层。全局路径规划是规划模块的主要职责,也属于导航的领域,就是从A点到B点的整体路线规划,由于处理的是静态信息而相对简单。
行为决策是根据感知到的环境信息做出反应行为,比如知道什么时候减速。局部轨迹规划则是基于全局路径和行为决策找到最优行驶轨迹。自动驾驶系统使用工程师写下的规则来做出行为决策并找到最优行驶轨迹。很早就开始布局自动驾驶的谷歌旗下Waymo就整合了超10万条交通规则。

这种模式也被称为规则驱动的决策系统,具有诸多优势。首先是高解释性和透明度,这是由于规则是人工明确定义的,因此决策过程可逐条追溯。同时,这种方法也不需要大量的数据和算力对系统进行训练。
不过随着规则越写越多,维护系统和修正错误的成本也就越来越高,天花板明显。此外,真实世界非常复杂,规则难以穷尽,而且不同规则之间还可能产生冲突。最后,规则依赖人为编写,具有主观性。
转机依旧来自特斯拉,2022年特斯拉在感知层大杀四方的同时也展示了引入蒙特卡洛树搜索后的决策算法。彼时特斯拉对决策的思路是让汽车考虑自己和其他车辆、行人等物体的运动轨迹,对所有可能的行驶方案进行评估,快速选出最优行驶方案。
还没有评论,快来抢沙发!