近日,世界三大顶级视觉会议之一的ICCV 2023论文接收结果出炉,鉴智机器人2篇论文成功入选!
本文为入选论文《OccFormer: Dual-path Transformer for Vision-based 3D Semantic Occupancy Prediction》的详细介绍。OccFormer实现了对复杂三维场景特征的长距离、动态、高效编码,在SemanticKITTI数据集的语义场景补全和nuScenes数据集的点云语义分割任务上都取得了SOTA性能,可显著提升自动驾驶系统对复杂场景的感知、理解和决策能力。
论文链接:https://arxiv.org/abs/2304.05316
项目链接:https://github.com/zhangyp15/OccFormer
1.整体概述
近来,随着特斯拉AI Day的介绍和学术界的相关进展,occupancy预测任务正在成为新一轮的研究热点之一。具体来讲,occupancy指三维网格下的语义占用任务,其输出形式与SemanticKITTI数据集早期提出的semantic scene completion任务完全相同。相较于现有的二维BEV(Bird-Eye-View)特征表示,occupancy能够进一步提供细粒度的三维结构信息,同时具有泛化到广义障碍物的能力,在自动驾驶应用领域具有较大的潜力。考虑到纯视觉系统在语义感知上的能力,本文主要关注基于环视图像的三维occupancy预测任务。
在occupancy预测方向,大多数现有工作会首先从传感器输入构建三维场景特征,然后基于三维卷积进行特征编码和解码过程,最终预测三维语义占用结果,代表工作如 MonoScene。然而三维卷积仍然存在一些局限性:(1)三维卷积的感受野相对固定,然而不同类别的语义可能遵循差异较大的空间分布。(2)现有的视觉三维特征建立方案,如LSS、BEVDet,其产生的三维特征是稀疏、不连续的,并不利于平移不变的三维卷积。(3)三维卷积核需要消耗大量的网络参数。因此,本文的出发点是建立一种长距离建模、动态感受野并且更为高效的三维场景特征处理方案。
具体地,我们使用了transformer方案来构建用于三维语义占用预测的编码器-解码器网络。对于编码器部分,我们提出了dual-path transformer encoder,通过引入局部和全局两条路径,将三维特征提取分解为以二维注意力机制为主的一系列处理,从而降低整体复杂度。对于解码器部分,我们首先实验了基于query和transformer的occupancy预测方案,并通过两个简单改进显著提升了解码器性能,包括保留池化和类别引导采样。
实验结果方面,OccFormer在SemanticKITTI数据集的语义场景补全和nuScenes数据集的点云语义分割两个任务上都取得了SOTA性能。定性来讲,OccFormer产生的occupancy预测对于不同类别的结构化预测更合理,语义占用更加逼真。
2.方法介绍
(1)整体框架
OccFormer的总体流程如图1所示。以单目图像或环视图像作为输入,首先由图像编码器提取多尺度特征,然后基于深度预测和体素池化得到三维场景特征。随后,该三维特征首先经过dual-path transformer encoder进行三维视角下的特征提取,得到多尺度体素特征。最终transformer occupancy decoder融合多尺度特征,预测不同类别的binary mask并结合得到最终的occupancy预测。在这里我们主要介绍所提出的dual-path transformer encoder和transformer occupancy decoder。
(2)Dual-path Transformer Encoder
如图1所示,dual-path transformer encoder以dual-path transformer block为主要结构进行搭建,在两个block之间我们插入了一个三维卷积层以增强编码器的局部先验性且实现特征的下采样。
由于驾驶场景中沿着水平方向的信息变化最剧烈,而高度方向上信息密度相对较低,因此三维特征编码的重点应该放在水平方向上。但由于occupancy需要三维的细粒度信息,将三维特征完全压平进行处理是不可取的。出于以上考虑,我们设计了dual-path transformer block,其结构如图2所示。具体地,输入的三维特征会经过局部和全局两条路径、沿着水平方向进行语义特征提取,两条路径的输出会通过自适应融合得到输出的三维场景特征。
一方面,局部路径主要针对提取细粒度的语义结构。由于水平方向包含最多的变化,我们相信通过一个共享编码器并行处理所有BEV切片能够保留大部分语义信息。具体而言,我们将高度维度合并到批处理维度,并使用窗口化自注意力作为局部特征提取器,它可以利用较小的计算量动态地关注远距离区域;另一方面,全局路径旨在高效捕获场景级语义布局。为此,全局路径首先通过沿高度维度进行平均池化来获取BEV特征,并采用相同的窗口化自注意力实现特征提取,为了进一步增大全局感受野,我们还使用了ASPP结构来捕获全局上下文。
尽管dual-path设计仅在水平方向上实施二维的特征提取,但它们的组合有效地聚合了用于语义推理的关键信息,包括局部语义结构和全局语义布局。
(3)Transformer Occupancy Decoder
受启发于Mask2Former在图像分割领域的进展,我们将其结构拓展至三维语义占用预测的应用场景下,这部分主要包括三维multi-scale deformable attention的实现。然而我们发现简单的拓展并不能很好地处理occupancy任务的稀疏性,为此我们提出了保持池化和类别引导采样两个改进措施,显著提升了模型在稀疏设置下的性能表现。
Mask2Former采用了基于掩码的注意力机制,这使得每个query仅与其类别对应的前景区域进行信息交互,从而极大地提升了收敛速度和性能表现。然而,我们发现这一过程中会涉及到三维语义预测结果的下采样,而一般的三线性插值在稀疏三维网格下会导致微小结构直接消失,严重影响了注意力机制的准确性。于是,我们采用最大池化代替了原本的三线性插值以保持三维网格中的微小结构,我们将这一改进记为保留池化。
另一方面,Mask2Former在训练过程中会均匀地采样一部分点以计算匹配成本和损失函数,这一措施能够有效地降低训练显存。然而三维语义占用任务的特点在于:一方面三维空间搜索范围成倍上升,另一方面occupancy的前景区域非常稀疏、只占到整个三维空间的一小部分。因此,简单的均匀采样难以关注到三维场景中被占用的前景区域,这导致算法收敛速度和性能大大下降。基于以上分析,我们提出了类别引导采样这一改进措施,根据每个体素的标注类别自适应地分配其采样权重,这使得网络能够更加关注到前景区域、尤其是长尾类别的优化上。图3给出了类别引导采样与均匀采样两种设置下、不同类别的采样频率,可以看到我们的改进措施显著提升了行人、自行车等类别的采样频率。
3.实验结果
(1)与现有SOTA方法的对比
与TPVFormer保持一致,我们主要在SemanticKITTI的语义场景补全和nuScenes的点云语义分割任务上对OccFormer进行了评测,OccFormer在两个评测上都取得了比较明显的性能提升。
(2)三维编码器的对比实验
如表3所示:一方面,dual-path transformer encoder中的局部和全局两条分支对于语义场景补全任务都有明显的性能提升;另一方面,所提出编码器在计算复杂度-性能的trade-off上略优于通用的三维卷积或三维swin transformer,证明了该模块的有效性。
(3)三维解码器的对比实验
如表4所示,在三维解码器中采用multi-scale deformable attention能够实现更加动态的多尺度特征融合,性能优于一般的特征金字塔方法。
如表5所示,在对预测occupancy mask进行下采样的过程中,采用所提出的保留池化会明显优于一般的三线性采样;而在采样监督的过程中,类别引导采样会显著优于默认的均匀采样。二者结合相对于 baseline 提升将近 2% mIoU,证明了简单拓展 mask2former 并不能取得理想的性能,而本文所提出的两个优化是必不可少的。
(4)三维语义占用预测可视化
最后,我们在SemanticKITTI和nuScenes数据集上对OccFormer和对比方法的occupancy预测结果做了可视化对比。相对于MonoScene,OccFormer预测的occupancy在结构上更加规整,对于道路、植被等需要大范围感受野的语义类别效果提升非常显著。相对于TPVFormer,尽管在训练时都只采用了稀疏的点云语义分割标签,OccFormer产生的occupancy更加稠密、结构更加完整、语义准确性也更好。

