跳转至

FastCAD: Real-Time CAD Retrieval and Alignment from Scans and Videos

会议: ECCV 2024
arXiv: 2403.15161
代码: 无公开代码
领域: 3D视觉
关键词: CAD模型检索, 3D对齐, 嵌入蒸馏, 实时3D重建, 对比学习

一句话总结

提出FastCAD,通过对比学习嵌入空间蒸馏和直接参数预测,实现50ms内完成场景中所有物体的CAD模型检索与对齐,比现有方法快50倍且精度更优。

研究背景与动机

领域现状: 将3D环境表示为对齐的CAD模型对AR和机器人等下游任务至关重要,相比噪声点云/网格,CAD表示具有无孔洞、干净几何、物体级标注等优势。

现有痛点: 当前SOTA方法计算量大——需要逐个编码检测到的物体,再在第二阶段优化CAD对齐,运行时间从2.6秒到20分钟不等。

核心矛盾: 高精度CAD检索与对齐需要大量计算,无法满足实时应用(AR/机器人)的需求。

本文目标: 在保持甚至提升精度的前提下,将CAD检索与对齐的速度提升到实时水平。

切入角度: 单阶段直接预测——同时输出对齐参数和形状嵌入,避免两步串行带来的延迟;通过嵌入蒸馏避免推理时使用编码器。

核心 idea: 在对比学习框架下学习高质量CAD嵌入空间,将其蒸馏到单阶段检测网络中,实现实时CAD检索与对齐。

方法详解

整体框架

FastCAD输入一个点云(来自RGB-D扫描或在线3D重建输出),通过稀疏3D卷积编码为特征体积,然后对每个采样位置 \((\\hat{x}, \\hat{y}, \\hat{z})\) 预测:分类概率 \(\hat{\boldsymbol{p}}\)、有向包围盒参数 \(\hat{\boldsymbol{b}}\)、正面朝向分类 \(\hat{\boldsymbol{f}}\) 和形状嵌入向量 \(\hat{\boldsymbol{w}}\)。推理时用 \(\hat{\boldsymbol{w}}\) 检索最近邻CAD模型,用 \(\hat{\boldsymbol{b}}\)\(\hat{\boldsymbol{f}}\) 进行对齐。

关键设计

  1. 嵌入蒸馏 (Embedding Distillation):

    • 功能: 将对比学习得到的高质量形状嵌入蒸馏到检测网络中,避免推理时需要单独的编码器。
    • 核心思路: 先用对比学习框架训练一个独立的编码器网络,构建统一的scan-CAD嵌入空间。然后在训练FastCAD时,用GT CAD模型的嵌入向量作为监督信号:\(\mathcal{L}_{\text{emb}}(\hat{\boldsymbol{w}}_i, \boldsymbol{w}_i)\) 为MSE损失。
    • 设计动机: 两步检索(先检测bbox再编码)存在分布偏移问题——编码器训练时用GT bbox裁剪,推理时用预测bbox裁剪,导致性能大幅下降(shape accuracy从83.1%降到51.0%)。直接蒸馏让网络能更好地利用周围环境和邻近物体的信息。
  2. 对比学习嵌入空间 (Contrastive Embedding Space):

    • 功能: 学习一个统一的嵌入空间,使噪声扫描物体和干净CAD模型的嵌入向量可比较。
    • 核心思路: 使用三元组损失:\(\mathcal{L}_{\text{Contrastive}} = \max(0, d^2(\mathbf{A}, \mathbf{P}) + m - d^2(\mathbf{A}, \mathbf{N}))\),其中A为锚点(scan物体),P为正样本(对应CAD),N为负样本(同类不同CAD)。
    • 两个辅助任务:
      • 前景/背景分割:用二元交叉熵监督,迫使编码器学会区分目标物体与背景噪声。
      • Chamfer距离预测:训练一个浅层MLP从正/负CAD嵌入预测它们之间的Chamfer距离 \(\mathcal{L}_{\text{Chamfer}} = \|d_\theta(\text{cat}(\mathbf{P}, \mathbf{N})) - d_{\text{Chamfer}}(X_{\text{pos}}, X_{\text{neg}})\|_1\),帮助网络学习包含形状相似度信息的嵌入。
    • 设计动机: 仅用对比损失不够——负样本有时与正样本非常相似,辅助任务让嵌入包含更细粒度的形状信息。消融实验显示两个辅助任务将shape accuracy从81.1%提升到83.1%。
  3. 正面朝向预测 (Front-Facing Side Prediction):

    • 功能: 预测CAD模型在包围盒内的朝向(四个面中哪个是正面)。
    • 核心思路: 对每个有向包围盒预测 \(\hat{\boldsymbol{f}} \in \mathbb{R}^4\) 的分类概率,使用交叉熵损失 \(\mathcal{L}_{\text{ff}}\)。对称物体修改目标标签,例如2-fold对称改为 \((\frac{1}{2}, 0, \frac{1}{2}, 0)\),4-fold对称改为 \((\frac{1}{4}, \frac{1}{4}, \frac{1}{4}, \frac{1}{4})\)
    • 设计动机: 相比在嵌入中编码朝向(需要为每个CAD存4个嵌入),独立预测正面朝向不仅精度更高(61.7% vs 56.2%),还将需存储/搜索的嵌入数量减少4倍。利用对称标注进一步提升1.6%。

损失函数 / 训练策略

总损失: $\(\mathcal{L}_{\text{tot}} = \frac{1}{N_{\text{mat}}} \sum_{i=1}^{N_{\text{det}}} \mathcal{L}_{\text{cls}}(\hat{\boldsymbol{p}}_i, \boldsymbol{p}_i) + \mathbb{1}_i \left( \mathcal{L}_{\text{bb}}(\hat{\boldsymbol{b}}_i, \boldsymbol{b}_i) + \mathcal{L}_{\text{ff}}(\hat{\boldsymbol{f}}_i, \boldsymbol{f}_i) + \mathcal{L}_{\text{emb}}(\hat{\boldsymbol{w}}_i, \boldsymbol{w}_i) \right)\)$

  • 分类损失 \(\mathcal{L}_{\text{cls}}\): focal loss
  • 包围盒损失 \(\mathcal{L}_{\text{bb}}\): DIoU loss
  • 正面朝向 \(\mathcal{L}_{\text{ff}}\): 交叉熵
  • 形状嵌入 \(\mathcal{L}_{\text{emb}}\): MSE loss

训练细节:使用AdamW优化器,学习率1e-3,训练225个epoch。编码器用Perceiver架构,256维嵌入,训练750个epoch。视频设置需在重建输出上单独训练FastCAD版本。

实验关键数据

主实验:Scan2CAD对齐精度

方法 输入 Class Acc Instance Acc 推理时间
Scan2CAD RGB-D 35.6% 31.7% 740s
SceneCAD RGB-D 52.3% 61.2% 2.6s
FastCAD (Scan) RGB-D 52.8% 61.7% 50ms
RayTran Video 36.2% 43.0% -
FastCAD (Video) Video 39.3% 48.2% 100ms

消融实验

配置 Align Acc Recon Acc Shape Acc 说明
两步检索(pred bbox) 61.7% 15.6% 51.0% 分布偏移严重
两步检索(GT bbox) 61.7% 30.6% 78.1% 即使GT bbox也不如蒸馏
嵌入蒸馏(最终) 61.7% 41.7% 83.1% 蒸馏显著优于两步
仅对比学习 62.3% 38.3% 81.1% 基线
+Chamfer+分割 61.7% 41.7% 83.1% 辅助任务提升3.4%/2.0%
PointNet++编码器 61.5% 29.6% 74.0% 弱编码器
Perceiver编码器 62.3% 38.3% 81.1% 强编码器显著更优

关键发现

  • FastCAD在scan输入下提速50倍(50ms vs 2.6s),精度略优(61.7% vs 61.2%)
  • 视频输入下精度从43.0%大幅提升到48.2%,速度从~3200ms降到100ms(10 FPS实时)
  • 重建精度从22.9%提升到29.6%(使用相同检索设置与Vid2CAD对比)
  • 嵌入空间质量好:即使检索第10近邻CAD模型,shape accuracy仍然很高
  • 颜色信息贡献很小,主要信息包含在几何结构中

亮点与洞察

  • 嵌入蒸馏是一个优雅的设计——避免了推理时双网络的开销,同时解决了两步方法的分布偏移问题
  • 对称性感知的正面朝向预测是一个被忽视但高效的技巧,利用物体对称标注减少歧义
  • 辅助任务(分割+Chamfer距离预测)的设计直觉很好——让嵌入空间不仅区分正负样本,还编码形状间的细粒度距离
  • 与在线3D重建方法(如DG Recon)的即插即用结合展示了模块化设计的优势
  • 新提出的Scan2CAD重建精度和形状精度指标填补了评估空白

局限与展望

  • "display"类表现差(仅24.1%),原因是ShapeNet中该类CAD模型朝向不一致(149个中28个朝向相反)
  • 视频设置下缺乏时序一致性机制,后续帧的CAD预测可能不连续
  • 依赖CAD模型库——如果库中没有相似模型则无法检索
  • 仅在ScanNet/Scan2CAD上验证,场景规模和多样性有限
  • 未探索开放词汇或零样本场景下的泛化能力

相关工作与启发

  • vs SceneCAD: SceneCAD使用场景图和支撑关系后处理,精度接近但慢50倍。FastCAD通过端到端单阶段设计实现更优速度-精度权衡。
  • vs ScanNotate: ScanNotate穷举渲染所有CAD进行匹配,shape accuracy与FastCAD相似(83.5% vs 83.1%),但慢四个数量级。
  • vs RayTran: RayTran在3D体积特征上直接预测,计算极其密集无法在线运行。FastCAD通过选择显式点云作为中间表示实现即插即用。
  • vs Vid2CAD: Vid2CAD的逐帧检测+跟踪流程脆弱易错,FastCAD通过先重建再检测的策略更鲁棒。

评分

  • 新颖性: ⭐⭐⭐⭐ 嵌入蒸馏+辅助任务+对称性朝向预测的组合设计巧妙,但各个组件并非全新
  • 实验充分度: ⭐⭐⭐⭐⭐ 提出新指标、扫描/视频双设置、详尽消融、在线增量评估,非常完整
  • 写作质量: ⭐⭐⭐⭐ 条理清晰,图表丰富,动机和设计决策解释充分
  • 价值: ⭐⭐⭐⭐ 50倍加速且精度更优,实时CAD重建有重要应用价值,新评估指标也有长期价值

相关论文