核心方法
数据集中包含大量未标注的 LiDAR 点云序列 $\mathbf{X}{-T:T}$,同时记录了每一帧的传感器位置 $\mathbf{o}{-T:T}$。我们将时间 $-T$ 到 $0$ 的部分记为历史观测,$1$ 到 $T$ 的部分记为未来目标。
传统的点云预测方法通常直接将历史点云作为输入,回归未来的点云坐标: $$\hat{\mathbf{X}}{1:T} = g(\mathbf{X}{-T:0})$$
而本文提出将未来 LiDAR 点云重参数化为一条射线:该射线从传感器位置 $\mathbf{o}_t$ 出发,沿方向 $\mathbf{d}$,经过距离 $\lambda$ 后到达终点 $\mathbf{x}$: $$\mathbf{x} = \mathbf{o}_t + \lambda \mathbf{d}, \quad \mathbf{x} \in \mathbf{X}_t$$
具体来说,我们在未来时间 $t$ 选取一条通过原点和方向 $(\mathbf{o}t, \mathbf{d})$ 进行参数化的射线。然后在给定过去点云和传感器位置的情况下,预测射线经过的距离 $\hat{\lambda}$: $$\hat{\lambda} = f(\mathbf{o}t, \mathbf{d}; \mathbf{X}{-T:0}, \mathbf{o}{-T:0})$$
这个逻辑与 NeRF 非常相似:NeRF 预测沿射线的颜色,而本文则预测沿射线的距离(深度)。
Spacetime (4D) 占用定义
我们将时空占用定义为特定时间点的 3D 位置占用状态。使用 $\mathbf{z}$ 来表示真实的时空占用,由于视线可见性的限制,可能无法直接进行观测。给定一个有界时空 4D 体积 $\mathcal{V}$,该体积被离散为时空体素 $\mathbf{v}$。
我们可以用 $z[\mathbf{v}] \in {0, 1}, \mathbf{v}=(x, y, z, t), \mathbf{v}\in\mathcal{V}$ 来表示时空体素网格中体素 $\mathbf{v}$ 的占用状态,该状态可以是占用 (1) 或者空闲 (0)。
我们通过学习一个占用预测网络 $h$(由参数 $\mathbf{w}$ 定义),根据历史点云和传感器位置来预测离散化的四维时空占用: $$\hat{\mathbf{z}} = h(\mathbf{X}{-T:0}, \mathbf{o}{-T:0}; \mathbf{w})$$ 其中 $\hat{z}[\mathbf{v}] \in \mathbb{R}_{[0, 1]}$ 表示预测的占用概率。
基于占用的深度渲染
给定射线查询 $\mathbf{x}=\mathbf{o}+\lambda\mathbf{d}$,目标是预测 $\hat{\lambda}$ 与真实 $\lambda$ 尽可能接近。我们首先通过体素遍历计算其与占用网格的交集(见图 4)。假定射线和列表体素 ${\mathbf{v}_1... \mathbf{v}_n}$ 相交。
假设射线只能停在体素的边界或者无限远处,从而对射线空间进行离散化。我们将体素 $\mathbf{v}i$ 解释为从体素 $\mathbf{v}{i-1}$ 发出的射线在体素 $\mathbf{v}i$ 停止的条件概率,可以写为: $$p_i = \prod{j=1}^{i-1} (1 - \hat{z}[\mathbf{v}_j]) \hat{z}[\mathbf{v}_i]$$ 其中 $p_i$ 表示射线停在体素 $\mathbf{v}_i$ 的概率。
现在可以通过计算期望中的停止点来渲染距离: $$\hat{\lambda} = f(\mathbf{o}, \mathbf{d}) = \sum_{i=1}^{n} p_i \hat{\lambda}_i$$ 其中 $\hat{\lambda}_i$ 表示体素 $\mathbf{v}_i$ 的停止距离。
![图 4:射线与体素网格相交示意]
从上式可看出,如果不考虑射线停在体素网格外面的情况,该停止距离未定义(将在无限远处停止)。在训练时,我们在真实的网格外部设置一个虚拟的停止点: $$\hat{\lambda} = f(\mathbf{o}, \mathbf{d}) = \sum_{i=1}^{n} p_i \hat{\lambda}i + \prod{i=1}^{n} (1 - p_i) \hat{\lambda}{n+1}$$ 其中 $\hat{\lambda}{n+1} = \lambda$。
损失函数
我们采用 L1 Loss 来训练占用预测网络: $$L(\mathbf{w}) = \sum_{(\mathbf{o}, \lambda, \mathbf{d}) \in (\mathcal{X}{1:T}, \mathbf{o}{1:T})} \left| \lambda - f(\mathbf{o}, \mathbf{d}; \mathbf{X}{-T:0}, \mathbf{o}{-T:0}, \mathbf{w}) \right|$$


