迈向实时且自适应的激光雷达场景补全 Towards Real-Time and Adaptable LiDAR Scene Completion
学习式自适应初始化替代固定噪声,LiDAR场景补全仅0.1秒,快2.3倍
前置知识
Chamfer Distance(倒角距离)
衡量两个点集差异的标准度量:对预测点云每个点找真实点云中的最近邻距离取平均,再反向做一次后求和,即 $\mathcal{L}_{CD}=\frac{1}{|P|}\sum_{p\in P}\min_{q\in P_{gt}}\|p-q\|_2^2+\frac{1}{|P_{gt}|}\sum_{q\in P_{gt}}\min_{p\in P}\|q-p\|_2^2$。第一项惩罚覆盖缺失,第二项惩罚多余离群点,是点云补全领域通用的训练损失与评价指标。
本文的训练目标、消融实验和所有主结果(CD 0.206/0.138 等)都建立在该指标上,理解其双向含义才能读懂实验结论。
BEV(鸟瞰图)表示
把 3D 点云或体素特征沿高度轴投影成 2D 网格的表示方式,保留平面位置 $(x,y)$ 信息,是自动驾驶 3D 检测、分割与占据预测的主流中间表示。本文通过把通道与深度维合并后用 2D 卷积压缩,将 $(C \times D, H, W)$ 变成 $(C_{out}, H, W)$ 的 BEV 特征图。
本文的稠密 BEV 头、多尺度特征投影和可变形注意力全部在 BEV 特征图上进行,是理解整个架构的钥匙。
多尺度可变形注意力
源自 Deformable DETR 的高效注意力机制:每个查询不再关注特征图全部位置,而只在每个尺度特征图的少量(本文 $K=4$)可学习采样点处聚合特征,把复杂度从全注意力的 $O(N \cdot K_{ctx})$ 大幅降低,且天然支持多尺度特征图共同充当键值。
本文用它连接数十万点查询与多尺度 BEV 特征,是实现 0.1 秒推理速度的关键组件。
FPS 与 k-NN
最远点采样(FPS)迭代选取彼此距离最远的点实现下采样;k 近邻(k-NN)为每个点寻找最近邻以聚合局部特征。两者是 PointNet++ 系点云网络的基本算子,但需逐点计算距离,代价随点数快速增长,对点密度变化也敏感。
LiNeXt 等基线依赖这两个算子导致推理慢且需手调噪声尺度;本文用体素/BEV 特征提取替代它们,是核心卖点之一。
初始化-精修范式
场景补全的主流框架:先用某种方式构造一个完整尺寸的粗略初始点集(初始化),再由网络把它精修到真实表面。扩散模型用高斯噪声做初始化并多步迭代去噪,LiNeXt 用固定方差噪声扰动输入并单次前向精修——区别只在初始化方式与精修步数。
本文全部创新围绕'把初始化本身变成可学习的数据驱动组件'展开,理解该范式才能领会其独特切入点。
研究动机
LiDAR 扫描天然稀疏且不完整:远处物体点密度骤降,遮挡区域完全缺失,而下游感知系统需要完整一致的场景表示。现有补全方法都遵循'先初始化、再精修'范式,瓶颈恰恰在初始化环节。生成式扩散方法(LiDiff、ScoreLiDAR、LiDPM)从与场景无关的随机高斯噪声出发,推理时需要数百次网络评估迭代去噪:LiDiff 单帧耗时 30.1 秒、ScoreLiDAR 也要 7.1 秒,远超自动驾驶 10 Hz(0.1 秒/帧)的实时要求,即使配合蒸馏或流匹配加速仍需多步评估。非生成式的 LiNeXt 把输入点复制后加固定方差高斯噪声,单次前向即可(0.23 秒),但存在两个硬伤:固定噪声尺度是数据集特定先验,换一种传感器配置(点密度、覆盖模式不同)就要手工重新调参;且每个点只在原始位置的小邻域内扰动,点始终贴着观测表面,无法跨越大的空洞和遮挡区域,导致欠补全。此外 LiNeXt 继承了 FPS 与 k-NN 等点邻域算子,计算量随室外场景数十万点快速增长,即便有定制 CUDA 实现仍拖慢速度。
本文的目标是本文的目标是构建一个又快又准、无需手工调参的 LiDAR 场景补全器:在 SemanticKITTI 与 KITTI-360 上取得与最优方法持平甚至更优的几何精度(CD、JSD 3D、JSD BEV 三项指标),同时把整帧补全时间压缩到 0.1 秒,匹配典型车载 LiDAR 传感器 10 Hz 的采集频率;初始化阶段不再依赖固定且需按数据集手工校准的噪声尺度,而是由网络根据局部几何数据驱动地自适应决定每个点的位移量;架构上避开 FPS、k-NN 这类计算量随点数增长的点邻域算子,使模型天然支持不同输入分辨率,并且只用标准库算子(无需定制 CUDA 内核)就能部署,方便工程落地。
与已有工作不同的是,作者的独特切入点是把'初始化'本身变成一个可学习的组件。此前所有工作都把初始化视为固定预处理:扩散模型用信息量为零的高斯噪声,LiNeXt 用固定方差噪声扰动输入,精修网络被迫独自承担从粗到细的全部工作。本文反其道而行:用一个自适应初始化模块为每个输入点预测空间可变的位移——稀疏或遮挡区附近的点移动更远去填充缺失几何,稠密区的点只微调——让初始点集本身携带对目标场景结构的推断,相当于把扩散模型多步迭代才能完成的场景先验注入压缩到单次前向的位移回归里。另一个差异化角度是把场景补全与自动驾驶感知中成熟的 BEV 可变形注意力技术打通:用多尺度体素与 BEV 特征取代点邻域算子,且查询就是数十万个输出点本身,先由初始化模块赋予覆盖未知区域的位置,再由注意力聚合上下文。
核心方法
直觉上 RapidLiDAR 分两步走:先'猜'一个覆盖全局的粗场景,再'对齐'到真实表面。技术上,给定不完整点云 $X \in \mathbb{R}^{M \times 3}$($M=18000$),先以 $\eta=0.3$ 米体素化为 $[1,20,333,333]$ 网格,经 4 级 3D 卷积(每级下采样 2 倍、通道 $[32,64,128,256]$)得到多尺度体素特征 $F_1,\dots,F_n$;末级特征经 BEV 头(2D 卷积投影到 512 通道、自注意力、残差精修)输出稠密 BEV 图 $B_{dense}$。第一阶段,自适应初始化:每点复制 10 倍、加 $\sigma_{init}=0.1$ 米噪声得 $\tilde{P}$($N=180000$),逐点从各网格插值特征拼成 992 维向量,MLP 预测位移 $\Delta$,得 $P_{init}=\tilde{P}+\Delta\cdot S_{max}$($S_{max}=50$ 米)。第二阶段,多尺度重建:把各体素特征也投影为 BEV 图 $B_1,\dots,B_n$,以逐点特征为查询做多尺度可变形交叉注意力(2 阶段、8 头、每头 4 采样点),MLP 预测残差 $\Delta_{Pref}$,最终 $P=P_{init}+\Delta_{Pref}$。全程端到端,用双向 Chamfer 距离训练。
核心创新是'学习式自适应初始化':$P_{init}=\tilde{P}+\Delta\cdot S_{max}$,位移 $\Delta \in \mathbb{R}^{N \times 3}$ 由逐点特征经 MLP 从多尺度体素与 BEV 特征中回归得到,且尺度随局部几何变化——靠近稀疏或遮挡区的点学到大位移去跨越空洞,稠密区点位移很小。与已有方法的本质区别在于:LiDiff/LiDPM 等扩散模型的初始化是与场景无关的高斯噪声,必须靠多步迭代去噪逐步注入场景先验;LiNeXt 的初始化是固定方差 $\sigma$ 的高斯扰动,属于数据集特定的手工先验,既不能泛化到新传感器配置,又把点限制在观测表面小邻域内。本文把'初始点应该在哪'交给网络从上下文特征中推断,一次前向就得到既覆盖全局又有几何依据的初始化,精修模块只需做局部对齐。消融显示去掉该模块 CD 从 0.206 升到 0.218、JSD BEV 从 0.332 升到 0.345,证明其独立贡献;$S_{max}$ 在 50/70/100 米之间性能几乎不变,说明系统对尺度超参鲁棒。
方法步骤详情
流程四步。第一步,多尺度特征提取:输入 18000 点的部分扫描,以 $\eta=0.3$ 米体素化成 $[1,20,333,333]$ 网格,4 级 3D 卷积逐级下采样得 $F_1$–$F_4$;末级特征合并通道与深度维,2D 卷积投影为 512 通道,空间位置展平为 token 做 4 头自注意力,再经带跳连的两个卷积精修,输出稠密 $B_{dense}$。第二步,自适应初始化:每点复制 10 倍并加 $\sigma_{init}=0.1$ 米噪声得 $\tilde{P}$;逐点在体素网格做三线性、在 BEV 网格做双线性插值,拼接成 $d=32+64+128+256+512=992$ 维特征,投影到 512 宽后 MLP 回归 $\Delta$,按 $P_{init}=\tilde{P}+\Delta\cdot S_{max}$ 得粗场景。第三步,多尺度重建:同样插值得逐点查询;$F_1$–$F_4$ 各投影为 512 通道 BEV 图,与 $B_{dense}$ 共 5 层作键值,经 2 阶段可变形交叉注意力(8 头、每头 4 采样点)得 $F_{ref}$,MLP 预测残差 $\Delta_{Pref}$,输出 $P=P_{init}+\Delta_{Pref}$。第四步,训练:端到端最小化 Chamfer 距离,Adam、学习率 $1\times10^{-4}$ 余弦退火、batch size 4,单卡训 30 epoch;精修网络复用冻结特征,每点预测 $\kappa=6$ 个残差实现 6 倍上采样,单独训 5 epoch。
技术新颖性
技术新颖性有三处。其一,初始化从'固定随机'变为'条件生成':LiNeXt 的噪声尺度 $\sigma$ 需按数据集手调,本文的位移是以多尺度体素+BEV 特征为条件的连续回归,天然跨传感器配置泛化,且 $S_{max}$ 从 50 改到 100 米 CD 仅从 0.2594 变到 0.2589,几乎不敏感,佐证了'无需手工调噪'的主张。其二,查询设计上的差异:BEV 可变形注意力在检测/分割中作用于少量可学习的物体或网格查询,在固定位置预测标签;而本文的查询是数十万个输出点本身,其 3D 位置必须先被初始化以覆盖未观测区域,再由聚合上下文精修——这解决了补全任务特有的'查询从哪来'问题。其三,工程层面用体素/BEV 特征提取替代 FPS 与 k-NN,复杂度不再随点数爆炸,整个实现只用标准库算子(无定制 CUDA 内核):LiNeXt 即便有 CUDA 加速仍需 0.23 秒,本文以 11.8M 参数做到 0.10 秒,同时 CD 更低(0.206 对 0.214)。
实验结果
在 SemanticKITTI(序列 00–10 训练、08 验证;输入 18000 点、输出 180000 点)上本文全场最优:CD 0.206、JSD 3D 0.475、JSD BEV 0.332,超越 LiNeXt 的 0.214/0.494/0.336,远好于 ScoreLiDAR(0.406)与 LiDiff(0.434)。在 KITTI-360 序列 00 上零样本评估(不微调),CD 0.211、JSD 3D 0.492、JSD BEV 0.338,领先 LiNeXt 的 0.217/0.508/0.355。附加精修网络后,本文 CD 0.138/0.140,优于 LiNeXt† 的 0.149/0.149。效率上(表 2):单帧 0.10 秒,比 LiNeXt 的 0.23 秒快 2.3 倍,匹配车载 10 Hz 采集率;参数量 11.8M。消融(表 3):去自适应初始化模块 CD 升至 0.218,去多尺度重建模块升至 0.215。$S_{max}$ 从 50 到 100 米 CD 仅 0.2594→0.2589,对尺度超参鲁棒(表 4)。体素分辨率(表 5):$\eta$ 从 0.5 到 0.2 米 CD 0.214→0.208 但耗时 0.07→0.14 秒,0.3 米为最佳折中。定性上(图 4),本文在大遮挡区覆盖更完整且更贴近真值。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| SemanticKITTI 场景补全 | Chamfer Distance ↓ | 0.206 | LiNeXt 0.214(次优);扩散系 ScoreLiDAR 0.406、LiDiff 0.434 | CD 降低约 3.7%,且 JSD 3D 0.475 对 0.494、JSD BEV 0.332 对 0.336,三项指标全部最优 |
| KITTI-360 零样本跨数据集补全(不微调) | Chamfer Distance ↓ | 0.211 | LiNeXt 0.217 | CD 降低约 2.8%,JSD 3D 0.492 对 0.508、JSD BEV 0.338 对 0.355 同步领先 |
| SemanticKITTI 补全+精修网络 | Chamfer Distance ↓ | 0.138 | LiNeXt† 0.149 | CD 降低约 7.4%,说明自适应初始化带来的优势可传递到精修阶段 |
| 单帧推理速度 | 秒/帧 ↓ | 0.10 s(11.8M 参数) | LiNeXt 0.23 s(1.99M);ScoreLiDAR 7.1 s;LiDiff 30.1 s | 较最快前方法提速 2.3 倍,达到车载 LiDAR 10 Hz 实时线;仅用标准库算子,无定制 CUDA 内核 |
局限与改进
作者承认的局限:跨传感器配置的泛化尚未系统验证,零样本测试只在 KITTI-360 序列 00 上进行,而该数据集与 SemanticKITTI 同属 KITTI 平台、传感器相似,泛化证据有限;作者明确把对波束几何域移的鲁棒性列为未来工作。我自己的观察:其一,所有体素特征在注意力前都被投影成 2D BEV 图,高度信息被压缩进通道维,对多层立体结构(高架、树冠、建筑立面细节)的建模可能受损;其二,训练时把输入固定降采样到 18000 点、输出固定 180000 点,评估协议本身是固定分辨率的,与'天然支持不同输入分辨率'的说法之间存在张力,论文未测试可变点数输入下的表现;其三,Chamfer 距离偏向覆盖度而非语义正确性,遮挡区'填得满'不等于'填得对',论文缺少语义级或法向一致性评估;其四,输出点数 $N$、扩展比 10、$S_{max}=50$ 米仍是预设常数,位移由单一标量统一界定而非逐点上界;其五,效率对比均在 RTX 6000 Ada 上进行,未报告车载边缘芯片上的实际延迟。
独立分析的弱点
独立分析的弱点与改进方向:(1) BEV 投影丢失高度结构——3D 体素特征压成 2D 图后 $z$ 方向细节混入通道,对桥洞、植被分层等立体几何的补全可能失真;可改用稀疏 3D 可变形注意力,或 pillar + 显式高度编码的混合方案。(2) 位移回归无不确定性度量——单点确定性预测在遮挡区可能给出自信却错误的表面;可为初始化头增加多假设预测,或仅对低置信区域做少量步的轻量扩散精修。(3) '复制+噪声'的扩展策略仍带 LiNeXt 痕迹:$\tilde{P}$ 的分布由输入点密度决定,近处过密、远处不足;可改用可学习的种子点查询,或先用 BEV 占据预测播种初始点。(4) 训练目标只有 Chamfer 距离,缺乏表面法向与语义一致性约束,容易产生'几何合理但语义错乱'的补全;建议联合法向一致性损失或占据/语义监督训练。(5) 单帧方法忽略时序——连续扫描间高度冗余,把前一帧补全结果经自车运动补偿后作为时序先验,有望进一步提速或在同等耗时下提升遮挡区质量。
未来方向
作者提出的方向:将方法推广到不同传感器配置,系统评估对波束几何域移的鲁棒性,使换线数、换机械/固态雷达时无需重训或只需少量微调。基于本文成果可延伸的方向:(1) 语义感知补全——在逐点特征上并联语义头,使补全结果可直接服务占据栅格、BEV 分割等下游任务,也缓解 CD 指标只看几何的偏差;(2) 时序流式补全——把历史帧补全结果或运动补偿后的累积特征作为额外上下文,进一步提升大遮挡区质量;(3) 边缘部署研究——0.10 秒是 RTX 6000 Ada 的结果,可探索 INT8 量化、稀疏卷积在 Orin 等车载芯片上的实时性,验证 10 Hz 主张在量产硬件上成立;(4) 将自适应初始化思想迁移到室内场景补全、深度补全或多视图重建,检验其跨模态通用性;(5) 输出逐点置信度/不确定性,为下游规划提供风险信号,弥补确定性回归的不足。
复现评估
复现友好度较高。代码已开源(https://github.com/AzharSindhi/RapidLiDAR),数据集 SemanticKITTI 与 KITTI-360 均公开且评估协议标准(序列 00–10 训练、08 验证;输入 18000 点、输出 180000 点)。算力门槛低:单卡 NVIDIA RTX 6000 Ada、batch size 4、主模型 30 epoch 收敛、精修网络再训 5 epoch,模型约 11.8M 参数,无需多机训练。工程上只用标准库算子(无自定义 CUDA 内核),环境适配成本低。论文超参披露完整:$\eta=0.3$ 米、$\sigma_{init}=0.1$ 米、$S_{max}=50$ 米、逐点特征 992 维、5 层 BEV 键值、2 阶段 8 头 4 采样点注意力、学习率 $1\times10^{-4}$ 余弦退火。风险点:未给出训练总时长与随机种子;表 4 的消融在降采样验证集上评估(CD 约 0.259),与主表 0.206 口径不同,复现对比时需注意。总体属于中等偏易的复现难度。
论文图表
并排对比三种初始化策略及其最终结果:LiDiff 的高斯噪声初始化不含任何场景信息;LiNeXt 的固定噪声使初始点贴着观测表面、覆盖不了高亮框内的大空洞;本文的自适应位移让初始点集就已经铺满缺失区域,且这种覆盖性在精修后依然保留。
一张图讲清论文动机:初始化质量决定补全上限,直观展示本文与生成式、固定噪声两类基线的本质差异,是理解全文的入口。