Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费磁盘空间。通过链接注册并联系客服,可以获得20元代金券(相当于6-7H的免费GPU资源)。欢迎大家体验一下~
0. 简介
本文介绍了基于跨模态信号的自监督鸟瞰图运动预测。以自监督的方式学习密集鸟瞰图(BEV)运动流是机器人和自动驾驶的一项新兴研究。目前的自监督方法主要依赖于点云之间的点对应关系,这可能会引入假的运动流和不一致的问题,阻碍了模型学习准确且现实的运动的能力。在本文中,我们引入一种新型的跨模态自监督训练框架,该框架通过利用多模态数据来获得监督信号,有效地解决了这些问题。《Self-Supervised Bird’s Eye View Motion Prediction with Cross-Modality Signals》一文设计了三种创新的监督信号来保留场景运动的固有性质,包括masked倒角距离损失、分段刚性损失和时间一致性损失。相关代码可以在Github中找到。
1. 主要贡献
本文的主要贡献如下:
- 本文提出了一种新型的用于BEV运动预测的跨模态自监督训练框架,其使用多模态数据来获得监督信号;
- 本文提出了三种新型的监督信号来保留场景运动的固有性质,包括masked倒角距离损失、分段刚性损失和时间一致性损失;
- 本文方法实现了最先进的性能。综合实验证明了本文所设计的框架的有效性。
2. 方法
本节介绍了一种自监督训练框架,用于鸟瞰图(BEV)运动预测,其中从多模态输入(包括点云序列和相机视频)生成了三种新颖的监督信号。
3. 问题表述
运动预测任务的目标是直接从历史点云序列预测移动网格在3D BEV地图中的运动(Li et al. 2023; Wang et al. 2022)。预测模型以当前帧0及与当前帧同步的T帧过去的点云作为输入。点云序列表示为 P t = { p t i ∈ R 3 } i = 1 N t P_t = \{p_{t_i} \in \mathbb{R}^3\}_{i=1}^{N_t} Pt={pti∈R3}i=1Nt, t = 0 , − 1 , ⋯ , − T t = 0, -1, \cdots, -T t=0,−1,⋯,−T,其中 N t N_t Nt 表示 P t P_t Pt 中的点数。在训练过程中利用了多视角相机视频。 P t P_t Pt的相应多视图图像为 { I t k ∈ R H × W × 3 } k = 1 N c \{I^k_t \in \mathbb{R}^{H×W×3}\}_{k=1}^{N_c} {Itk∈RH×W×3}k=1Nc,其中 N c N_c Nc 是相机数量。
未来运动以BEV图的形式表示。假设模型预测 T ′ T' T′ 帧未来运动场 M t ∈ R X × Y × 2 M_t \in \mathbb{R}^{X×Y×2} Mt∈RX×Y×2, t = 1 , ⋯ , T ′ t = 1, \cdots, T' t=1,⋯,T′ 表示第 t t t帧的运动场,其中 X × Y X×Y X×Y 是根据当前时间戳的车辆自我坐标的BEV图形状。考虑到BEV图中的每个网格代表现实场景中相当小的区域,同一像素网格内的点具有相同的运动流。为了生成点级别的3D运动流,每个点可以根据其3D坐标分配其在BEV图中对应位置的运动,垂直运动设置为零。点的运动表示为 F t = { f t i ∈ R 3 } i = 1 N 0 F_t = \{f_{t_i} \in \mathbb{R}^3\}_{i=1}^{N_0} Ft={fti∈R3}i=1N0, t = 1 , ⋯ , T ′ t = 1, \cdots, T' t=1,⋯,T′。
除了从时间1到 T ′ T' T′ 预测未来运动外,模型还可以从当前帧推断过去帧的运动情况。因此,在以下部分中, T = { t 1 , ⋯ , t n } T = \{t_1, \cdots, t_n\} T={t1,⋯,tn}用于表示模型预测的整个时间帧集合,包括1到 T ′ T' T′ 和可能的向后预测(例如,-1)。
4. 概述
图 2 概述了我们的训练框架。由于预测模型不是我们的重点,因此我们直接采用了 MotionNet(Wu, Chen, 和 Metaxas 2020)。这项工作的关键是利用多模态输入提供三种监督信号,这些信号能够保留场景运动的固有属性。包括:1) 从序列视频生成的伪静态/动态掩码损失,2) 分段刚性损失,以及 3) 时间运动一致性损失。以下是详细描述。伪静态/动态掩码损失
我们采用 Chamfer 距离作为学习结构一致性的基础。Chamfer 距离用作衡量两组点之间相似性的度量。在自监督训练(Wu et al. 2019; Kittenplon, Eldar, 和 Raviv 2021)或与点云相关的优化方法(Li, Kaesemodel Pontes, 和 Lucey 2021; Pontes, Hays, 和 Lucey 2020)中,Chamfer 距离损失是一种广泛使用的技术,有助于维持两个点云的结构一致性。
图 2:我们跨模态自监督学习框架的概述。这是我们跨模态自监督学习框架的总览。为了自监督训练,我们引入了三种创新的自监督损失,这些损失与现实世界的运动模式相一致。推理过程仅将点云序列作为输入,并预测每个BEV单元格(灰色区域)的运动流。
对于任何帧 t t t,通过从帧 0 到帧 t 的预测点级流 F t F_t Ft,可以计算预测的点云为 P t ′ = { p i ′ ∈ R 3 ∣ p i ′ = p i 0 + f i t } i = 1 N 0 P'_t = \{p'_i \in \mathbb{R}^3 | p'_i = p^0_{i} + f^t_{i}\}_{i=1}^{N_0} Pt′={pi′∈R3∣pi′=pi0+fit}i=1N0。给定帧 t 的点云 P t P_t Pt,自监督 Chamfer 距离损失可以定义为:
尽管点云数据往往稀疏且充满噪声点。即使对于静止物体,随着传感器的移动,点云表示也可能会有显著变化(Khurana等,2023)。这带来了巨大的挑战,并在依赖Chamfer距离损失进行学习时引入了噪声。为了更好地理解动态3D场景的运动,专注于移动目标而忽略背景和静止物体至关重要。然而,由于点云的稀疏性和噪声性,很难在开放场景中区分点云的静态部分和动态部分。相比之下,图像空间中的光流要容易得多且更容易获得。视频数据丰富,具有优越的时间和纹理信息,相关技术已经非常成熟(Sun等,2018; Teed和Deng,2020)。先前的工作(Luo, Yang, 和 Yuille,2021; Ding等,2023)已经利用图像光流的价值来辅助学习点云场景流。在我们的方法中,我们提出从图像数据的光流结果中提取伪静态/动态掩码,以帮助学习结构一致性。
给定点云时间帧 t ∈ T t \in T t∈T,我们可以从摄像机视频中获取相邻图像对 ( I k t , I k t + δ t ) (I_k^t, I_k^{t+\delta t}) (Ikt,Ikt+δt), k = 1 , ⋯ , N c k = 1, \cdots, N_c k=1,⋯,Nc。为了简洁,我们在后续内容中省略了摄像机索引的上标 k k k和帧索引的下标 t t t,并使用 I I I和 I ′ I' I′来表示 I k t I_k^t Ikt和 I k t + δ t I_k^{t+\delta t} Ikt+δt。从 I I I和 I ′ I' I′生成的光流表示为 F 2 D ∈ R H × W × 2 F^{2D} \in \mathbb{R}^{H \times W \times 2} F2D∈RH×W×2。
光流 F 2 D F^{2D} F2D 还不能直接用来确定每个像素的运动状态。除了场景中动态目标生成的光流外,自我车辆的移动也在相机视图中产生流动。跟随(Luo, Yang, 和 Yuille,2021),我们将光流分为两部分, F 2 D = F e g o 2 D + F m o t 2 D F^{2D} = F^{2D}_{ego} + F^{2D}_{mot} F2D=Fego2D+Fmot2D,其中 F e g o 2 D F^{2D}_{ego} Fego2D 对应于由车辆运动引起的光流,而 F m o t 2 D F^{2D}_{mot} Fmot2D 对应于由动态物体引起的光流。
F e g o 2 D F^{2D}_{ego} Fego2D 的数值可以通过传感器的位置计算得出。设 p i ∈ P p_i \in P pi∈P 代表图像I中的一个点, T P → I T_{P \rightarrow I} TP→I 代表从激光雷达点云 P P P到图像 I I I的转换矩阵。
对于点 p i p_i pi,其对应的 F e g o 2 D F^{2D}_{ego} Fego2D 值可以通过结合传感器的位置和车辆的运动信息来计算。
理想情况下,对于静止目标或背景的计算光流 F m o t 2 D F^{2D}_{mot} Fmot2D 应接近于0。因此,通过为 F m o t 2 D F^{2D}_{mot} Fmot2D 设置一个小阈值,可以区分出静态点。然而,在处理远离摄像头的远处移动物体时,它们对应的光流值可能很小,错误地被分类为静态。为了缓解这种效果,我们采用投影的3D场景流来补充静态评估。将 F m o t 2 D ( u i , v i ) F^{2D}_{mot}(u_i, v_i) Fmot2D(ui,vi) 表示为 f i 2 D f^{2D}_i fi2D。在垂直运动为零的约束下,我们可以将2D光流 f i 2 D f^{2D}_i fi2D 投影到起源于 p i p_i pi 的3D场景流上。这个操作由投影 T o p t f → s f T_{optf \rightarrow sf} Toptf→sf 表示(更多信息见补充材料)。
伪静态/动态状态 s i s_i si 的点 p i p_i pi 估计可以通过以下方法实现:
对于每个时间帧的点云 P t P_t Pt,生成一个伪静态/动态掩码 S t ∈ R N t S_t \in \mathbb{R}^{N_t} St∈RNt。利用 S t S_t St, P t P_t Pt 可以被分成两个部分:一个伪动态点云 P ~ t \tilde{P}_t P~t 和一个伪静态点云 P ˉ t \bar{P}_t Pˉt。然后,Chamfer 距离损失计算在伪动态点云上执行,而不是在整个点云上。掩码化的 Chamfer 损失可以定义为:
其中 L c d ( ⋅ ) L_{cd}(·) Lcd(⋅) 是 Chamfer 损失
这种方法促使静态点的运动趋向于零。
5. 分段刚性损失
在考虑点云上的流估计时,局部刚性是一个重要的物理先验,经常被利用(Dong et al. 2022; Gojcic et al. 2021; Li et al. 2022b; Shen et al. 2023)。与之前的自监督方法不同,这些方法通过在单帧点云上聚类来维持刚性(Li et al. 2022b; Shen et al. 2023),我们引入了一种基于光流图像聚类的简单而有效的点云分段刚性方法。与单帧点云相比,光流图像展现出几个期望的属性。动态物体的运动一致性在光流图像中更加明显,更容易识别和提取。与点云的稀疏和噪声相比,光流图像中移动物体的像素是相邻的,具有高度的均匀性和平滑性。此外,物体与背景之间的边界更加突出。
对于光流图像 F 2 D F^{2D} F2D,我们应用一个简单的图像聚类方法(Achanta et al. 2012)来获得过度分割标签(图3(b))。过度分割将整个图像划分为许多小片段。由于动态物体的光流一致性,可以轻松确保单个小片段中几乎所有像素都属于同一个物体。