跳转至

CstNet: Constraint-Aware Feature Learning for Parametric Point Cloud

会议: ICCV 2025
arXiv: 2411.07747
代码: https://cstnetwork.github.io/
领域: 三维视觉 / 点云分析
关键词: CAD 点云, 约束表示, 参数化形状, 点云分类, 旋转鲁棒性

一句话总结

提出首个面向参数化点云的约束感知特征学习方法 CstNet,将 CAD 约束编码为点级别的 MAD-Adj-PT 三元组表示,通过两阶段网络(约束获取 + 约束特征学习)在自建的 Param20K 数据集上实现分类精度 +3.49%、旋转鲁棒性 +26.17% 的 SOTA 提升。

研究背景与动机

参数化点云采样自 CAD 模型,广泛应用于工业制造场景。现有 CAD 专用深度学习方法存在三个核心问题:

仅关注几何特征,忽略约束:大多数方法(如 ParSeNet、HPNet)关注 primitive 的规则性(平面、圆柱等),但忽略 primitive 之间的约束关系(同轴、平行、距离等)。这导致它们无法区分外观相似但功能不同的 CAD 零件——例如偏心轮和飞轮看起来相似,但约束完全不同(偏心 vs 同轴)

依赖专用标签:许多方法需要 primitive 类型、参数、法向量等额外标注,但实际点云通常只有坐标信息

约束学习挑战:约束描述的是 primitive 对之间的关系,如何将其编码为深度学习可用的表示是未解难题

方法详解

整体框架

CstNet 包含两个阶段: - Stage 1(约束获取):从 BRep 数据(CstBRep)或纯点云(CstPnt)中提取/预测 MAD-Adj-PT 约束表示 - Stage 2(约束特征学习):利用注意力机制融合几何特征和约束特征,完成下游分类任务

关键设计

  1. MAD-Adj-PT 约束表示(深度学习友好的约束编码):

    • 将传统 CAD 约束转换为三个点级别分量:
      • MAD(Main Axis Direction):点所附着 primitive 的主轴方向(平面→法向量,圆柱/圆锥→旋转轴)
      • Adj(Adjacency):点是否靠近边缘(用 one-hot 编码),指示 primitive 间的连接关系
      • PT(Primitive Type):点所附着 primitive 的类型(plane/cylinder/cone,one-hot 编码)
    • 每个点的完整表示为 \((x, y, z, MAD, Adj, PT)\)
    • 设计动机:将 primitive 对间关系转化为 primitive 与公共参考之间的关系,大幅降低数据量;MAD+Adj 组合可推导出平行、垂直、距离等大多数常见约束
  2. CstPnt 模块(从纯点云预测约束):

    • 模拟人工约束提取的四步流程:搜索邻域点→识别同一 primitive 的点→拟合形状→计算 MAD/Adj/PT
    • 提出 SurfaceKNN:沿形状表面搜索邻域(非传统球形 KNN),更适合 CAD 形状的特性
    • 使用 Q-K-V 注意力机制为邻域点分配不同权重:\(\mathbf{f}'_i = \sum_{f_j \in \mathcal{N}_i} \rho(\text{MLP}(\text{Q}(\mathbf{f}_i) - \text{K}(\mathbf{f}_j))) \odot \text{V}(\mathbf{f}_i)\)
    • 仅使用局部特征,因此在 ABC 数据集预训练后可泛化到未见过的数据集
    • 设计动机:解除对 BRep 数据的依赖;CAD 形状的 primitive 种类有限(平面+圆柱+圆锥覆盖 ~94%),局部模式可跨数据集迁移
  3. Stage 2 约束特征学习网络:

    • Triple MLP:将 xyz 分别与 MAD、Adj、PT 拼接,生成 Axis Feature、Adjacency Feature、Primitive Feature
    • C-MLP:将 xyz 与完整 MAD-Adj-PT 拼接,生成初始 Constraint Feature
    • Quartic SSA:四路并行处理四种特征,每路独立做 FPS + SurfaceKNN + 点级别注意力
    • Fea Attention:特征级别注意力,自适应调整不同特征的权重——靠近边缘的点更关注 Adjacency Feature,其他点可能更关注 Primitive Feature
    • 设计动机:不同约束分量对不同区域的点重要性不同,需要自适应加权

损失函数 / 训练策略

  • 使用 Negative Log Likelihood Loss
  • Adam 优化器,初始 lr=0.0001,StepLR(step=20, gamma=0.7),weight decay=0.0001
  • 训练 200 epoch,batch size=16
  • Stage 1 在 ABC 数据集 25 个 trunk(25 万 BRep 文件)上预训练,权重冻结后直接用于 Stage 2

实验关键数据

主实验

Param20K 分类结果:

方法 Acc(%) Acc*(%) F1 mAP(%)
PointNet 81.30 83.21 82.06 85.18
PointNet++ 83.70 86.37 85.30 87.94
DGCNN 85.40 87.28 86.43 89.17
PTMamba 86.45 87.28 86.63 91.34
CstNet 89.94 91.06 90.34 92.72

旋转鲁棒性:CstNet 在训练集不变、测试集沿 +Z 旋转的设定下,精度下降最小(比 SOTA 高 26.17%)。

约束预测精度(ABC → Param20K 泛化):

方法 MAD(MSE)↓ Adj(%)↑ PT(%)↑
ParSeNet 0.2247 81.42 59.75
HPNet 0.2570 78.60 57.66
CstNet 0.1390 87.95 86.52

消融实验

各约束分量贡献(SurfaceKNN):

MAD Adj PT Acc(%) mAP(%)
89.94 92.72
86.32 90.59
88.14 91.35
88.68 91.22
83.99 86.15

Stage 2 骨干对比(使用预测约束):

骨干 Acc(%) mAP(%)
PointNet 83.83 87.27
PointNet++ 85.52 90.79
DGCNN 86.81 91.35
CstNet Stage 2 89.94 92.72

关键发现

  • 三种约束分量中 MAD 贡献最大(去除后精度降 3.62%)
  • SurfaceKNN 在大多数情况下优于 KNN,主要增强了 Primitive Feature 的有效性
  • CstPnt 的旋转鲁棒性极强(虚线不受旋转影响),因为 ABC 训练集包含了多种朝向的局部特征
  • 使用预测约束虽然不如真实约束标签,但仍显著优于无约束基线(89.94% vs 83.99%)
  • 棱柱与长方体的验证实验直观说明:当角度接近 90° 时几何方法无法区分,但约束感知方法在 50°-87° 范围内始终保持高精度

亮点与洞察

  • 首创约束感知的 CAD 点云分析,填补了该领域空白
  • MAD-Adj-PT 表示设计精巧:将复杂的 primitive 对间关系简化为点级属性,最先大幅降低了计算复杂度
  • 注重实用性:CstPnt 仅需纯点云输入且可跨数据集泛化,不依赖 BRep 数据
  • 自建 Param20K 数据集填补了参数化 CAD 分类评测的空白
  • 旋转鲁棒性提升 26.17% 是非常亮眼的结果

局限与展望

  • 仅考虑 plane/cylinder/cone 三种 primitive,自由曲面的约束表示需要进一步研究
  • Param20K 数据集规模有限(75 类 ~20K 实例),工业场景复杂度可能更高
  • SurfaceKNN 的计算开销分析缺失
  • 未探索分割、装配等其他 CAD 下游任务
  • CstPnt 在极小 patch 或噪声点云上的鲁棒性未验证

相关工作与启发

  • ParSeNet 和 HPNet 是 CAD 点云分析的代表方法,但仅关注 primitive 拟合
  • BRepNet 等 BRep 方法从拓扑数据入手,但需要特殊数据格式
  • 本文的核心启发:功能决定约束,约束决定形状——外观相似但功能不同的零件,应从约束视角区分
  • MAD-Adj-PT 框架可扩展到 CAD 检索、装配预测等场景

评分

  • 新颖性: ⭐⭐⭐⭐⭐ — 首次将约束引入点云深度学习,表示设计原创
  • 实验充分度: ⭐⭐⭐⭐ — 多任务评测+消融全面;数据集和方法数量可扩大
  • 写作质量: ⭐⭐⭐⭐ — 动机清晰,验证实验逐步推进
  • 价值: ⭐⭐⭐⭐ — 工业应用前景好,开创了新方向

相关论文