Skip to content

paper sam6d #545

@junxnone

Description

@junxnone

SAM-6D

  • SAM(Segment Anything Model)
  • 6D 物体姿态估计

传统的「6D 姿态识别模型」有个很大短板:必须提前用大量标注数据专门训练某一类物体,换个新物件就彻底失灵。

子网络 是否需训练 核心思路
ISM 否(直接用 SAM + DINOv2 ViT-L 特征) SAM 生成 proposals,DINOv2 算 patch/class 嵌入,融合 ssem+sappe+rvis·sgeo
PEM 是(用 ShapeNet+GSO 的 200 万张合成图训练) 把姿态估计建模为 partial-to-partial 点匹配,通过两阶段点匹配建立稠密 3D-3D 对应

论文的三大创新点都集中在 PEM:

  • (a) 两阶段点匹配:粗对应给粗位姿 → 注入位置编码 → 精对应给最终位姿。
  • (b) Background Token:用一个可学习 token 吸收"无对应"的点,替代成本高的 Optimal Transport(Sinkhorn 迭代)。
  • (c) Sparse-to-Dense Point Transformer (SDPT):稀疏点上跑昂贵的 Geometric Transformer,用 Linear Attention 把信息扩散回稠密点。

PEM

PEM 是 SAM-6D 的姿态估计子网络,输入为 ISM(实例分割模型)输出的物体区域、RGB 裁剪图、对应 3D 点集 + 目标物体模板点集;输出物体6D姿态(3维旋转R + 3维平移t)
特征提取(Feature Extraction)粗点匹配(Coarse Point Matching)细点匹配(Fine Point Matching)

Image
  • $P_m$:场景中分割出的物体3D点集(观测点集)
  • $P_o$:目标物体模板3D点集(参考点集)
  • $F_m、F_o$:分别对应两组点的特征
  • 符号说明:上标 $c$ = 稀疏(粗匹配)、上标 $f$ = 稠密(细匹配)

模块1:Feature Extraction 特征提取(前置模块)

1. 作用

融合图像语义特征3D几何信息,为后续点匹配提供高维特征表达,避免纯几何特征表现力不足的问题。

2. 执行流程

  1. 图像预处理
    对ISM输出的物体掩码区域做裁剪、固定尺寸缩放、背景屏蔽,得到物体局部图 $I_m$
  2. ViT 特征编码
    使用视觉Transformer(ViT-Base)提取图像块特征,经过拼接、全连接、重塑、双线性插值,得到逐像素特征图
  3. 特征-3D点绑定
    结合深度图得到观测物体3D点集 $P_m$,让每个3D点匹配对应像素特征,最终得到逐点特征 $F_m$
  4. 模板点集处理
    对目标物体多视角渲染模板重复上述流程,聚合多视角像素特征,得到模板点集 $P_o$ 与逐点特征 $F_o$
  5. 归一化
    所有3D点统一归一到单位球,消除物体尺度差异。

通用核心组件:Background Token 背景令牌(全模块复用)

1. 设计动机

真实场景存在遮挡、分割不准、传感器噪声,两组点集无法完全匹配,传统最优传输算法计算量大、速度慢。背景令牌专门处理无对应关系的无效点

2. 工作原理

  1. $F_m、F_o$ 各自拼接可学习的背景特征向量 $f_m^{bg}、f_o^{bg}$
  2. 计算特征注意力矩阵 $\mathcal{A}$,再通过行+列双重Softmax生成软分配矩阵 $\bar{\mathcal{A}}$
  3. 匹配规则:
    • 点匹配到背景令牌 → 判定为无效点,舍弃;
    • 点匹配到对方有效点 → 建立3D匹配对;
  4. 最终根据有效匹配对 + 匹配概率,用加权SVD求解姿态。

3. 实验优势

  • 精度:与传统最优传输基本持平;
  • 速度:单图推理从 4.31s 降至 1.36s,大幅降低计算开销。

模块2:Coarse Point Matching 粗点匹配(第一阶段匹配)

1. 功能目标

使用稀疏点集快速得到初始粗略姿态 $R_{init}、t_{init}$,为细匹配提供空间先验,缩小姿态解空间。

2. 完整执行步骤

  1. 稀疏点采样
    $P_m、P_o$ 中各采样 196 个点:$P_m^c、P_o^c$,同时提取对应稀疏特征 $F_m^c、F_o^c$
  2. 拼接背景令牌
    稀疏特征拼接背景令牌,完成无效点预留。
  3. 几何Transformer 特征增强
    堆叠 $T^c=3$ 层几何Transformer,包含两类注意力:
    • 几何自注意力:学习单个点集内部空间结构;
    • 交叉注意力:初步建立两组点集之间的关联。
  4. 生成软分配矩阵
    基于增强后的特征,按背景令牌规则计算匹配矩阵 $\bar{\mathcal{A}}^c$,得到点匹配概率。
  5. 姿态假设生成与筛选
    • 依据匹配概率随机抽取大量三点组合,生成数千个候选姿态(姿态假设);
    • 按点空间距离对姿态打分,筛选出最优结果作为初始姿态 $R_{init}、t_{init}$

3. 模块价值

消融实验证明:移除粗匹配后,模型精度从 84.5 暴跌至 40.2,证明粗匹配是细匹配的必要前置。

模块3:Fine Point Matching 细点匹配(第二阶段匹配)

1. 功能目标

基于粗匹配得到的初始姿态,使用稠密点集做高精度匹配,输出最终6D姿态 $R、t$,是精度核心模块。

2. 前置准备

  1. 稠密点采样
    从原始点集采样 2048 个稠密点:$P_m^f、P_o^f$,对应稠密特征 $F_m^f、F_o^f$
  2. 位置编码注入(关键先验)
    • 用粗匹配输出的 $R_{init}、t_{init}$ 变换观测点集 $P_m^f$
    • 通过多尺度集合抽象层学习两组点的位置编码 $F_m^p、F_o^p$
    • 将位置编码叠加到稠密特征中,把初始姿态的空间信息融入特征。
  3. 拼接背景令牌
    稠密特征同样拼接背景令牌,统一无效点处理逻辑。

3. 核心创新:Sparse-to-Dense Point Transformer (SDPT 稀疏-稠密点Transformer)

设计痛点

  • 纯几何Transformer:稠密点计算量爆炸,无法落地;
  • 纯线性Transformer:特征维度做注意力,空间建模能力弱、精度低。
SDPT 双阶段设计(兼顾精度+速度)
  1. 稀疏交互阶段
    从稠密特征中采样稀疏子集,使用几何Transformer做精细空间交互,保留细节特征。
  2. 稠密扩散阶段
    通过线性交叉注意力,将稀疏子集的增强特征回传到全部稠密点,控制计算量。
  3. 堆叠 $T^f=3$ 层 SDPT,反复优化稠密特征与匹配关系。
实验对比(YCB-V数据集)
模型 点数 AR精度
几何Transformer 196(稀疏) 81.7
线性Transformer 2048(稠密) 78.4
SDPT(本文) 196→2048 84.5

4. 最终姿态求解

  1. 经SDPT增强后,计算稠密点的软分配矩阵 $\bar{\mathcal{A}}^f$
  2. 遍历所有前景点,匹配对应目标点,得到稠密匹配对+匹配权重
  3. 以匹配概率为权重,执行加权SVD,输出最终旋转 $R$、平移 $t$

PEM 全流程时序总结(最简数据流)

  1. 输入:物体RGB裁剪图 + 深度生成3D点集 + 目标模板
  2. 特征提取:图像语义 + 3D几何融合,生成逐点特征
  3. 粗匹配(稀疏196点):几何Transformer + 背景令牌 → 得到初始姿态
  4. 细匹配(稠密2048点):注入位置编码 + SDPT + 背景令牌 → 稠密匹配
  5. 加权SVD:计算并输出最终6D姿态

关键参数汇总(论文固定配置)

| 模块 | 参数 | 数值 |
| ---- | ---- |
| 粗匹配采样点数 | $N_m^c、N_o^c$ | 196 |
| 细匹配采样点数 | $N_m^f、N_o^f$ | 2048 |
| 几何Transformer层数 | $T^c$ | 3 |
| SDPT层数 | $T^f$ | 3 |
| 特征通道数 | C | 256 |
| 点距离阈值(匹配判定) | $\delta_{dis}$ | 0.15 |

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions