本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面
纯视觉端到端自动驾驶不仅比激光雷达与视觉融合的方法更具成本效益,而且比传统方法更可靠。为了实现经济且鲁棒的纯视觉自动驾驶系统,这里提出了RenderWorld,一个仅基于视觉的端到端自动驾驶框架,它使用自监督的高斯-based Img2Occ模块生成3D占用标签,然后通过AM-VAE对标签进行编码,并利用世界模型进行预测和规划。RenderWorld采用高斯溅射(Gaussian Splatting)来表示3D场景,并渲染2D图像,与基于NeRF的方法相比,这大大提高了分割精度并降低了GPU内存消耗。通过将AM-VAE应用于分别编码空气和非空气部分,RenderWorld实现了更细粒度的场景元素表示,从而在基于自回归世界模型的4D占用预测和运动规划方面达到了最先进的性能。
行业背景介绍
随着自动驾驶技术的广泛应用,研究人员逐渐将重点放在了更好的感知和预测方法上,这些方法与系统的决策能力和鲁棒性密切相关。目前大多数框架都是将感知、预测和规划分开进行的。最常用的感知方法是使用视觉和激光雷达融合进行3D目标检测,这使得模型能够更好地预测未来场景并进行运动规划。然而,由于大多数3D目标检测方法无法获得环境中的细粒度信息,它们在后续模型中的规划中表现出非鲁棒性,这影响了系统的安全性。当前的感知方法主要依赖于激光雷达和camera,但激光雷达的高成本和多模态融合的计算需求对自动驾驶系统的实时性能和鲁棒性提出了挑战。
这里介绍了RenderWorld,这是一个用于预测和运动规划的自动驾驶框架,它基于高斯-based Img2Occ模块生成的3D占用标签进行训练。RenderWorld提出了一个自监督的gaussian splatting Img2Occ模块,该模块通过训练2D多视图深度图和语义图像来生成世界模型所需的3D占用标签。为了使世界模型更好地理解由3D占用表示的场景,在向量量化变分自编码器(VQ-VAE)的基础上提出了空气掩码变分自编码器(AM-VAE)。这通过增强场景表示的粒度来提高了我们世界模型的推理能力。
为了验证RenderWorld的有效性和可靠性,分别在NuScenes数据集上对3D占用生成和运动规划进行了评估。综上所述,主要贡献如下:
1)提出了RenderWorld,这是一个纯2D自动驾驶框架,它使用tokens 的2D图像来训练基于高斯的占用预测模块(Img2Occ),以生成世界模型所需的3D标签。2)为了提高空间表示能力,引入了AM-VAE,它通过分别编码空气体素和非空气体素来改进世界模型中的预测和规划,同时减少内存消耗。
相关工作介绍
3D占用率正在成为激光雷达感知的一种可行替代方案。大多数先前的工作都利用3D占用率真实值进行监督,但这在标注上是一个挑战。随着神经辐射场(NeRF)的广泛采用,一些方法试图使用2D深度和语义标签进行训练。然而,使用连续的隐式神经场来预测占用概率和语义信息往往会导致高昂的内存成本。最近,GaussianFormer利用稀疏高斯点作为减少GPU消耗的手段来描述3D场景,而GaussianOcc则利用一个6D姿态网络来消除对真实姿态的依赖,但两者都存在整体分割精度大幅下降的问题。在提出的工作中,采用了一种基于锚点的高斯初始化方法来对体素特征进行高斯化,并使用更密集的高斯点来表示3D场景,从而在避免NeRF基方法中光线采样导致的过度内存消耗的同时,实现了更高的分割精度。
世界模型常用于未来帧预测并辅助机器人做出决策。随着端到端自动驾驶的逐渐发展,世界模型也被应用于预测未来场景和制定决策。与传统自动驾驶方法不同,世界模型方法集成了感知、预测和决策制定。许多当前的方法将相机-激光雷达数据进行融合,并将其输入到世界模型中,用于预测和制定运动规划。其中,OccWorld提出利用3D占用率作为世界模型的输入。然而,OccWorld在利用纯2D输入方面效率较低,且在编码过程中由于信息丢失而难以准确预测未来场景。因此,我们设计了一个Img2Occ模块,将2D标签转换为3D占用标签,以增强世界建模能力。
RenderWorld方法介绍
本节中将描述RenderWorld的总体实现。首先,提出了一个Img2Occ模块,用于占用率预测和3D占用标签的生成。随后,介绍了一个基于空气mask变分自编码器(AM-VAE)的模块,以优化占用率表示并增强数据压缩效率。最后,详细阐述了如何集成世界模型以准确预测4D场景演变。
1)使用多帧2D标签进行3D占用率预测
直接优化Σ可能会导致不可行的矩阵,因为它必须是正半定的。为了确保Σ的有效性,我们将其分解为缩放矩阵S和旋转矩阵R,以表征3D高斯椭球体的几何形状:
然后,通过计算相机空间协方差矩阵Σ',将3D高斯体投影到2D以进行渲染:
其中J是投影变换的仿射近似的雅可比矩阵,W是视图变换。然后,可以通过对排序后的高斯体应用alpha混合来计算每个像素的语义/深度:
为了计算真实深度与渲染深度之间的差异,利用皮尔逊相关系数,它可以测量两个2D深度图之间的分布差异,遵循以下函数:
2)空气mask变分自编码器(AM-VAE)
传统的变分自编码器(VAEs)无法对非空气体素的独特特征进行编码,这阻碍了模型以细粒度级别表示场景元素。为了解决这个问题,这里引入了空气掩码变分自编码器(AM-VAE),这是一种新颖的VAE,它涉及训练两个独立的向量量化变分自编码器(VQVAE),以分别编码和解码空气和非空气占用体素。假设o代表输入占用表示,而和分别代表空气和非空气体素。
首先利用一个3D卷积神经网络对占用数据进行编码,输出是一个连续的潜在空间表示,记为f。编码器qϕ(s|o)将输入f映射到潜在空间s。然后使用两个潜在变量和来分别表示空气和非空气体素:
每个编码后的潜在变量或使用可学习的码本或来获得离散tokens ,然后在输入到解码器之前,用与该tokens 最相似的codebook替换它。这个过程可以表示为:
然后,解码器pθ(o|s)从量化的潜在变量和中重建输入占用:
为了促进占用表示中空气和非空气元素的分离,用M表示非空气类别的集合。然后,在修改后的占用中,空气和非空气的指示函数可以定义如下:
修改后的空气占用和非空气占用由以下等式给出:
然后,为训练AM-VAE构建了损失函数,它包含重建损失和commitment损失LReg:
AM-VAE在统一的编码器-解码器设置中,为空气和非空气体素分别使用了不同的码本。这种方法有效地捕获了每种体素类型的独特特征,从而提高了重建准确性和泛化潜力。
3)世界模型
通过在自动驾驶中应用世界模型,将3D场景编码为高级tokens ,我们的框架可以有效地捕获环境的复杂性,从而实现对未来场景和车辆决策的准确自回归预测。
受OccWorld的启发,使用3D占用率来表示场景,并采用自监督的分词器来推导高级场景tokens T,并通过聚合车辆tokens z0来编码车辆的空间位置。世界模型w是根据当前时间戳T和历史帧数t来定义的,然后使用以下公式建立预测:
同时,采用了一种时间生成式Transformer架构来有效预测未来场景。它首先通过空间聚合和下采样处理场景tokens ,然后生成一个分层的tokens 集合{T0, · · · , TK}。为了在不同空间尺度上预测未来,采用多个子世界模型w = {w0, · · · , wK}来实现,并且每个子模型wi使用以下公式对每个位置j的tokens 应用时间注意力:
在预测模块中,首先利用自监督的分词器e将3D场景转换为高级场景tokens T,并使用车辆tokens z0来编码车辆的空间位置。在预测了未来的场景tokens后,应用一个场景解码器d来解码预测的3D占用率,并学习一个车辆解码器,用于生成相对于当前帧的车辆位移。预测模块通过生成未来车辆位移和场景变化的连续预测,为自动驾驶系统的轨迹优化提供决策支持,确保安全和自适应的路径规划。
这里实现了一个两阶段训练策略来有效地训练预测模块。在第一阶段,使用3D占用率损失来训练场景分词器e和解码器d:
然后,使用学习到的场景分词器e来获取所有帧的场景tokens z,对于车辆tokens ,同时学习车辆解码器,并在预测的位移和真实位移p上应用L2损失。第二阶段的总体损失可以表示为: