Equivariant Spatio-Temporal Self-Supervision for LiDAR Object Detection¶
会议: ECCV 2024
arXiv: 2404.11737
代码: 无
领域: 自动驾驶
关键词: LiDAR 3D目标检测, 自监督学习, 等变性, 场景流, 预训练
一句话总结¶
E-SSL3D 提出一种时空联合等变自监督预训练框架,通过空间等变(对旋转用分类目标、对平移/缩放/翻转用对比目标)和时间等变(用 3D 场景流约束相邻帧特征变换一致性)联合训练 3D 特征编码器,在低数据场景下仅用 20% 标注数据就能达到接近 100% 数据从头训练的检测性能。
研究背景与动机¶
- 领域现状:LiDAR 3D 目标检测在自动驾驶中至关重要,但点云标注昂贵且困难。自监督学习(SSL)可利用大量未标注 LiDAR 数据学习通用表征。
- 关键问题——不变性 vs. 等变性:
- 主流 SSL 方法(如 BYOL、MoCo)鼓励特征对变换保持不变性(invariance)
- 但 3D 目标检测的回归输出天然是等变的——旋转输入,框也应旋转相同角度
- 训练不变性与检测等变性相矛盾:鼓励旋转不变会丢失朝向信息
- 现有 LiDAR SSL 局限:
- PointContrast 仅对刚体变换做对比学习
- STRL 用 BYOL 框架鼓励跨时间不变性,但不保留变换信息
- ALSO 用占据预测做预训练,是生成式方法且特定于网络架构
- 缺乏对真实世界物体运动和变形的建模
- 核心洞察:应同时利用空间几何变换和时间序列帧间的真实物体运动来学习等变表征,不同变换应使用不同的等变学习目标。
方法详解¶
整体框架¶
E-SSL3D 由三部分联合训练组成: 1. 空间等变分支:对刚体几何变换(旋转、平移、缩放、翻转)学习等变特征 2. 时间等变分支:利用相邻 LiDAR 帧和 3D 场景流学习时间维度等变特征 3. 联合优化:三个损失函数加权求和
网络结构包含:3D 特征编码器 \(f\)、投影器 \(m\)、预测器 \(q\)、变换分类器 \(s\),以及通过 EMA 更新的目标网络 \((f', m')\)。
关键设计¶
1. 空间等变——对比学习 + 变换分类
对每个输入点云随机采样两个刚体变换,创建两个增强视图。
(a) 点级对比损失 PointInfoNCE: $\(\mathcal{L}_{pnce} = -\sum_{(i,j) \in \mathcal{P}_+} \log \frac{\exp(\mathbf{x}_i \cdot \mathbf{x}_j / \tau)}{\sum_{(\cdot,k) \in \mathcal{P}_+} \exp(\mathbf{x}_i \cdot \mathbf{x}_k / \tau)}\)$ - 鼓励匹配点特征相似、非匹配点特征不同,采样 2048 个点
(b) 变换分类损失(Equivariance-by-Classification): - 将变换离散化(如旋转分为 10 个角度),用分类器 \(s\) 预测施加了哪个变换 - 通过交叉熵损失 \(\mathcal{L}_{ce}\) 训练网络保留变换信息 - 关键发现:旋转适合用分类目标(变换幅度大,10-fold 分类可区分),平移和缩放适合用对比目标(变换范围小,难以通过分类区分)
2. 时间等变——3D 场景流
- 利用连续 LiDAR 帧之间的真实物体运动作为自然时间增强
- 用预训练的 PV-RAFT 网络估计 3D 场景流 \(d_{t-1 \to t} \in \mathbb{R}^3\)
(a) BYOL 框架的在线-目标网络: - 在线网络处理当前帧 \(p_t\),目标网络处理前一帧 \(p_{t-1}\) - 目标网络通过 EMA 更新,避免表征坍塌:\(\xi \leftarrow \gamma\xi + (1-\gamma)\theta\)
(b) 特征空间中的场景流 warp: - 场景流是点级变换,但特征是稀疏体素表示 - 将前一帧的点通过场景流 warp 到当前帧位置,重新体素化获取 warp 后的体素坐标,从 \(h_{t-1}\) 中采样特征得到 \(h_{t-1}^{warp}\)
(c) 流等变损失: $\(\mathcal{L}_{flow} = \frac{1}{HW}\|\hat{z}_{t-1} - \hat{y}_t\|_2^2\)$ - 最小化 warp 后前一帧投影特征与当前帧预测特征的 L2 距离
3. 联合损失函数 $\(\mathcal{L} = \lambda_{pnce}\mathcal{L}_{pnce} + \lambda_{ce}\mathcal{L}_{ce} + \lambda_{flow}\mathcal{L}_{flow}\)$ 其中 \(\lambda_{pnce}=0.01\)、\(\lambda_{ce}=1\)、\(\lambda_{flow}=300\)。
损失函数 / 训练策略¶
- 预训练数据:KITTI-360 + SemanticKITTI(移除验证序列)
- 使用前视野(FFOV)场景减小预训练-微调分布差距
- 空间增强:旋转 \((-\pi/2, \pi/2)\)、平移 \((0m, 0.2m)\)、缩放 \((0.95, 1.05)\)、50% 概率翻转
- AdamW 优化器,循环学习率 \(10^{-4}\),80 epochs,batch size 56,8x A6000
- 初始 EMA 衰减 \(\gamma_{base}=0.999\)
- 下游微调:KITTI 数据集,AdamW,学习率 \(3 \times 10^{-3}\),80 epochs
实验关键数据¶
主实验¶
SECOND 检测器在 KITTI 上的 3D mAP(预训练 KITTI-360):
| 数据比例 | 无预训练 | PointContrast | STRL | ALSO | E-SSL3D |
|---|---|---|---|---|---|
| 5% | 54.99 | 55.40 | 52.94 | 59.69 | 58.60 |
| 20% | 61.86 | 61.72 | 61.74 | 66.39 | 65.28 |
| 100% | 66.69 | 65.74 | 67.78 | 69.18 | 69.81 |
VoxelRCNN 检测器在 KITTI 上的 3D mAP:
| 数据比例 | 无预训练 | PointContrast | STRL | ALSO | E-SSL3D |
|---|---|---|---|---|---|
| 5% | 65.54 | 64.96 | 63.87 | 67.00 | 66.52 |
| 20% | 68.78 | 68.97 | 69.59 | 70.95 | 71.63 |
| 100% | 71.77 | 70.72 | 70.71 | 72.06 | 72.41 |
20% 数据预训练后微调即可接近 100% 数据从头训练的性能。
消融实验¶
空间+时间等变联合效果(VoxelRCNN, 5% KITTI):
| 空间等变 | 时间等变 | Car(M) | Ped(M) | Cyc(M) | mAP |
|---|---|---|---|---|---|
| No | No | 78.85 | 49.13 | 58.62 | 64.50 |
| No | Yes | 77.80 | 49.73 | 61.74 | 65.82 |
| Yes | No | 77.34 | 50.34 | 61.71 | 66.01 |
| Yes | Yes | 78.93 | 48.55 | 64.40 | 66.52 |
等变学习方式对比:旋转用分类优于对比(变换幅度大),平移/缩放用对比优于分类(变换范围小)。
关键发现¶
- 等变优于不变:E-SSL3D 系统性地优于不变性方法 STRL
- 不同变换需要不同等变目标:旋转用分类、平移用对比的策略优于统一方法
- 时间等变是有效信号:3D 场景流提供了空间增强无法覆盖的真实物体运动信息
- 低数据场景收益最大:20% 数据场景提升最显著,100% 数据时预训练收益递减
- Car 类提升有限:该类在 KITTI 中样本充足且较"简单",预训练帮助不大
- 收敛快于 ALSO:E-SSL3D 在 10-20 epochs 即可收敛,ALSO 需要 75 epochs
亮点与洞察¶
- 首次将 3D 场景流引入等变自监督学习:利用真实世界物体运动作为时间增强
- 系统性研究不同变换的最优等变目标:揭示了变换幅度和等变学习策略的关系
- 通用预训练框架:同一预训练骨干可用于 SECOND 和 VoxelRCNN 等多种检测器
- 等变性 vs 不变性的核心矛盾:标准 SSL 鼓励不变性,但下游回归任务需要等变性
局限性 / 可改进方向¶
- Car 类(简单/样本多)预训练提升有限
- 不总是优于 ALSO(生成式方法),两者互补可能更好
- 100% 数据时预训练影响较小,主要价值在低数据场景
- 场景流估计依赖冻结的预训练模型,端到端学习可能更优
- 仅验证了稀疏卷积骨干,未扩展到 Transformer-based 检测器
相关工作与启发¶
- PointContrast:点级对比学习的先驱,E-SSL3D 扩展了其等变性
- BYOL:在线-目标网络框架的基础,用于时间等变分支
- ALSO:占据预测预训练,生成式方法的代表
- FlowE:图像领域的流等变方法,E-SSL3D 将其推广到 3D LiDAR
- 启发:SSL 目标应与下游任务的几何属性对齐
评分¶
| 维度 | 分数 |
|---|---|
| 新颖性 | ⭐⭐⭐⭐ |
| 技术深度 | ⭐⭐⭐⭐ |
| 实验充分度 | ⭐⭐⭐⭐ |
| 工程实用性 | ⭐⭐⭐ |
| 写作质量 | ⭐⭐⭐⭐ |
分类目标:对旋转变换,将连续旋转离散化为 10 个类别,通过额外分类头预测施加的旋转角度,用交叉熵损失 \(\mathcal{L}_{ce}\) 训练。关键发现:旋转用分类更有效,平移/缩放用对比更有效,原因是旋转范围大(\(-\pi/2\) 到 \(\pi/2\))、不同角度差异明显,而平移和缩放范围小、难以精细分类。
时间等变性:3D Scene Flow 等变¶
利用时序 LiDAR 帧对 \((p_{t-1}, p_t)\) 建模自然运动变换。3D scene flow 描述点云中每个点从 \(t-1\) 时刻到 \(t\) 时刻的位移向量 \(d_{t-1\to t} \in \mathbb{R}^3\)。
采用 BYOL 式 online-target 双分支结构: 1. 用预训练的 PV-RAFT 网络估计前后帧间的 3D scene flow 2. 将前一帧特征 \(h_{t-1}\) 通过 scene flow warp 到当前帧坐标系,得到 \(h_{t-1}^{warp}\) 3. 最小化 warp 后特征与当前帧真实特征间的 L2 距离
Target 网络参数通过 online 网络的 EMA 更新(\(\gamma_{base}=0.999\)),避免表征坍塌。
总损失函数¶
其中 \(\lambda_{pnce}=0.01\),\(\lambda_{ce}=1\),\(\lambda_{flow}=300\)。
特征 Warp 细节¶
3D 特征图为稀疏张量(voxel 特征 + 3D 坐标)。将 flow 施加到前一帧点云得到 warp 后的点云 \(p_t^{warp}\),对其进行标准体素化获得新坐标,从 \(h_{t-1}\) 中采样对应位置的 voxel 特征,构成 \(h_{t-1}^{warp}\)。
实验关键数据¶
预训练设置¶
- 数据集:KITTI-360(100k 场景)+ SemanticKITTI(48k 扫描)
- 骨干网络:SparseVoxel backbone(与 SECOND/VoxelRCNN 共享)
- 训练:8× A6000 GPU,batch size 56,80 epochs,但约 10-20 epochs 即收敛
SECOND 检测器(KITTI fine-tune)¶
| 数据比例 | 方法 | Car moderate | Cyclist moderate | mAP |
|---|---|---|---|---|
| 5% | 无预训练 | 73.01 | 45.44 | 54.99 |
| 5% | E-SSL3D | 74.96 | 54.13 | 58.60 |
| 20% | 无预训练 | 77.12 | 54.99 | 61.86 |
| 20% | E-SSL3D | 78.70 | 62.92 | 65.28 |
| 100% | 无预训练 | 81.03 | 63.54 | 66.69 |
| 100% | E-SSL3D | 81.64 | 69.54 | 69.81 |
VoxelRCNN 检测器(KITTI fine-tune)¶
| 数据比例 | 方法 | mAP |
|---|---|---|
| 5% | 无预训练 | 65.54 |
| 5% | E-SSL3D | 66.52 |
| 20% | 无预训练 | 68.78 |
| 20% | E-SSL3D | 71.63 |
| 100% | E-SSL3D | 72.41 |
核心结论:20% 标注数据 + E-SSL3D 预训练 ≈ 100% 数据从零训练的性能。
消融实验(VoxelRCNN, 5% 数据)¶
| 空间等变 | 时间等变 | mAP |
|---|---|---|
| ✗ | ✗ | 64.50 |
| ✗ | ✓ | 65.82 |
| ✓ | ✗ | 66.01 |
| ✓ | ✓ | 66.52 |
空间和时间等变性均有独立贡献,联合使用效果最优。
亮点¶
- 等变性 vs 不变性的深刻洞察:明确指出 3D 检测任务本身是等变的,因此预训练也应鼓励等变性而非不变性,这一观点比盲目套用 BYOL/MoCo 更有理论依据
- 首次将 3D scene flow 引入等变自监督学习:利用时序帧间的真实运动作为自监督信号,比人工增强更自然、信息更丰富
- 变换-损失匹配的实验发现:旋转适合分类损失、平移/缩放适合对比损失,这一实验结论对后续工作有实用参考价值
- 数据效率优异:20% 数据即可达到全量训练水平,对标注成本高的自动驾驶场景意义重大
局限性 / 可改进方向¶
- Car 类别提升有限:Car 在 KITTI 中样本充足且相对容易检测,预训练收益不明显
- 未始终超越 ALSO:与基于占用预测的生成式方法 ALSO 互有胜负,未形成压倒性优势
- Scene flow 估计依赖外部模型:使用冻结的 PV-RAFT 估计 flow,其精度上限制约了时间等变性的效果
- 全量数据下收益递减:100% 数据时预训练提升幅度有限,主要价值在低数据场景
- 仅限稀疏卷积骨干:未扩展到 transformer-based 检测器(如 SST),通用性受限
与相关工作的对比¶
| 方法 | 类型 | 核心策略 | 优劣势 |
|---|---|---|---|
| PointContrast | 判别式 | 点级对比(等变刚性变换) | 简洁但缺乏时间信息 |
| STRL | 判别式 | 时序不变性(BYOL 式) | 鼓励不变性,与检测任务矛盾 |
| ALSO | 生成式 | 占用预测 | 性能强但训练更多层、收敛慢 |
| E-SSL3D | 判别式 | 空间等变 + 时间 flow 等变 | 理论驱动、收敛快、仅训练 3D 骨干 |
E-SSL3D 仅预训练 3D backbone,而 ALSO 还训练了 2D 卷积层,因此 E-SSL3D 在公平性上略有劣势但仍具竞争力。
启发与关联¶
- 等变性思想的推广:这一思路可扩展到其他等变任务(语义分割、实例分割),以及其他模态(radar、多模态融合)
- 与 MAE 类方法互补:E-SSL3D 是判别式方法,可与 GD-MAE 等生成式方法组合,构建更强的预训练策略
- Scene flow 的潜力:flow 等变性本质上是利用时序一致性,可进一步扩展为多帧聚合或基于 flow 的数据增强
评分¶
- 新颖性: ⭐⭐⭐⭐ — 3D scene flow 等变性是新颖贡献,变换-损失匹配分析有价值
- 实验充分度: ⭐⭐⭐⭐ — 多检测器、多数据比例、充分消融,但仅在 KITTI 评估
- 写作质量: ⭐⭐⭐⭐ — 结构清晰、数学定义严谨,动机论述到位
- 价值: ⭐⭐⭐⭐ — 对低数据自动驾驶场景有实际意义,等变性思路有启发性