作者 | 派派星 编辑 | CVHub
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【3D感知】技术交流群
Title: VoxFormer: Sparse Voxel Transformer for Camera-based 3D Semantic Scene Completion
Paper: https://arxiv.org/pdf/2302.12251.pdf
Code: https://github.com/nvlabs/voxformer
从视觉图像估计场景中完整的几何结构和语义信息对于认知和理解至关重要。为了在人工智能系统中实现这种能力,论文提出了VoxFromer,一个基于Transformer的语义场景补全(SSC,Semantic Scene Completion)框架,可以仅从二维图像中预测空间中的体素占据和类别信息。VoxFromer的框架采用两阶段设计,首先从深度估计得到一组稀疏的可见和占据的体素查询,然后进从稀疏体素生成密集的三维体素。
这种设计的一个关键思想是,二维图像上的视觉特征仅对应于可见的场景结构而不是被遮挡或空的空间,因此,从可见结构的特征化和预测开始更加可靠。一旦获得稀疏查询集,VoxFromer采用一个带掩膜的自编码器设计,通过自注意力将信息传播到所有的体素中。在SemanticKITTI数据集上的实验结果表明,VoxFormer在几何和语义方面的相对改进分别达到20.0%和18.1%,并且在训练期间将GPU内存减少了约45%,降至不到16GB。
仅从视觉图像进行完整的3D场景理解是自动驾驶汽车感知中的一个重要问题,它直接影响规划和地图构建等下游任务。然而受限于传感器有限的视野和场景物体的遮挡,获得真实世界的准确和完整的3D信息是⼀项具有挑战性的任务。
为了应对这些挑战,语义场景补全(Semantic Scene Completion, SSC)被提出来,其从有限的观察中联合推断完整的场景几何和语义。SSC解决方案必须同时解决两个子任务:可见区域的场景重建和遮挡区域的场景推断。
现有的基于视觉方案的SSC,如MonoScence,使用密集特征投影将2D图像输入提升为3D。然而,这样的投影不可避免地会将可见区域的2D特征分配给空的或被遮挡的体素。例如,被汽车遮挡的空体素仍将获得汽车的视觉特征。结果,生成的3D特征包含许多歧义,无法用于后续的几何补全和语义分割,导致性能不尽如人意。
与MonoScene不同,VoxFormer考虑3D到2D交叉注意力来表示稀疏查询。所提出的设计受到两个见解的启发:
遮挡区域场景推断:以重建的可见区域作为起点,可以更好地完成不可见区域的三维信息
稀疏三维空间表示:由于三维空间大量的体素通常是不被占用的,使用稀疏表示而不是密集表示肯定更有效和可伸缩
VoxFormer的主要贡献如下:
一种新颖的两阶段框架,将图像提升到一个完整的3D体素化语义场景
一种基于2D卷积的新型查询提议(query proposal)网络,可以从图像深度生成可靠的查询
一种新的Transformer类似于掩蔽自编码器(MAE),产生完整的3D场景表示
VoxFormer在SemanticKITTI 的SCC任务上取得SOTA
VoxFormer框架分为两阶段,第一阶段为类不可知(class-agnostic)的查询提议,第二阶段为类特定(class-specific)的语义分割。具体来说:
阶段一包含一个轻量级的基于2D CNN的查询提议网络,使用图像深度来重建场景的几何形状,从可学习体素查询中得到一个稀疏的体素。
阶段二是一个新的稀疏到密集的类似于MAE的架构,如上图所示,它首先通过与图像的Cross-Attention增强体素的特征,然后将未提出的体素与一个可学习的掩码标记相关联,并将整个体素集进行自注意处理,以完成逐体素语义分割的场景表示。
论文利用现有的单目深度估计网络得到每个像素点的深度,然后将预测的深度图反向投影到点云中:
上述的深度估计质量较差,论文使用一个lightweight的UNet风格网络来预测较低空间分辨率下的体素占用图,以帮助矫正图像深度。首先将点云转换为一个体素网格图,输入 得到低分辨率的。因为较低的分辨率对深度错误更鲁棒
经过深度校正后,得到基于深度图转点云输出的二进制的query proposals :
在阶段1之后,可以通过query proposals 来关注图像特征,以学习3D场景中丰富的视觉特征。为了提高效率,论文提出deformable attention:参考点与局部感兴趣区域相互作用,即只在参考点的邻域采样点来计算注意力结果。每个3D的query q将由以下一般方程进行更新:
其中表示query点投影到2D图像上对应的2D参考点,表示2D图像输入特征,为点索引。表示值生成的可学习的权重,的注意力权重。δ是邻域采样点相对于参考点在2D图像上的预测偏移量,而δ是通过双线性插值提取的特征。
对于3D空间中每个proposed query,通过投影矩阵得到在的输入的连续帧中的位置,对连续帧这些位置的特征进行加权和,作为可变形交叉注意力的输出:
在经过几层可变形的交叉注意之后,proposed query将被更新为。结合更新后的proposed query和mask tokens得到初始体素,然后使用可变形自注意力得到精细化的体素:
在获得细化的体素特征后,将其上采样并投影到输出空间,得到最终的输出,M+1表示M个语义类和一个空类
在大型自动驾驶场景中,VoxFormer可以更好地捕捉场景的布局。同时,在树干、杆等小物体方面表现出满意的性能。
如上表所示:
VoxFormer-S在几何补全方面大大优于MonoScene(36.80->44.02,19.62%)。如此大的改进源于阶段1,它具有明确的深度估计和校正,减少了查询过程中的大量空白。
具有时域信息VoxFrorer-T进一步提高了的VoxFrorer-S的SSC性能
VoxFormer在自动驾驶安全关键的短程领域比其他基于相机的方法有了显著的改进
VoxFormer在小物体上的更具优势
VoxFormer在模型大小和GPU显存上都优于MonoScene
如上表所示,目标距离越近,VoxFrorer-T和最先进的基于激光雷达的方法之间的性能差距越来越小。
上表可以看出,基于双目的方法效果由于单目方法,因为前者利用了外极性几何结构,但后者依赖于模式识别。
上表可以看出:
密集查询(在第二阶段中使用所有体素查询)消耗了大量内存且比占用查询效果更差
随机查询效果不稳定,与占用查询有较大差距
上表可以看出,时序连续帧输入可以提高性能
上表可以看出,对于阶段1,深度估计和校正都很重要,因为一组合理的体素查询可以为完整的场景表示学习奠定良好的基础。对于第二阶段,自注意和交叉注意可以通过启用voxel-to-voxel和voxel-to-image的交互来帮助提高性能。
在本文中,作者提出了VoxFormer,一个强大的单目三维语义场景补全(SSC)框架,由一个基于深度估计的类不可知查询提议和一个类特定的稀疏到密集的MAE风格的语义分割组成。VoxFormer优于最先进的基于相机的方法,甚至与基于激光雷达的方法相当。作者希望VoxFormer能激发基于摄像机的SSC及其在自动驾驶感知中的应用。
国内首个自动驾驶学习社区
近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称