跳转至

P3-SAM: Native 3D Part Segmentation

会议: ECCV2026
论文: ECCV 原文
领域: 3D 视觉
关键词: 原生 3D 监督、部件分割、点提示、多尺度掩码、自动分割

一句话总结

P3-SAM 利用约 3.7 million 个原生 3D 资产的部件监督,训练单点提示的两阶段多掩码网络,再用质量预测与去重实现自动分割,在 PartObj-Tiny 不利用连通性的设置下达到 59.88 的平均 IoU,高于 PartField 的 53.93。

研究背景与动机

将一个完整三维物体拆成部件,是局部编辑、资产复用、动画与部件生成的基础。 传统部件分割通常先规定物体类别和部件标签,再训练网络逐点分类,因此很难直接处理类别之外的新资产。 SAM 带来的另一条路线是渲染多视图图像,将二维掩码或特征投回三维,再做聚类或监督三维网络。 SAMPart3D、PartField 和 Point-SAM 都利用了这类二维数据引擎,但不同视角对同一部件的边界可能不一致。 对于遮挡严重、结构细碎的资产,这些误差不只是输出后的噪声,也会进入三维模型的训练监督。

本文关注两个相互关联的问题:如何取得不依赖二维投影的部件标签,以及如何不要求用户先指定部件数量就完成分割。 艺术家往往逐件制作零部件再组装模型,原始网格中的连通分量因此保存了部分制作过程的信息。 不过,连通分量不天然等于合理部件,碎面和装饰细节需要合并,扫描或生成的水密表面也不保留同样的拓扑分离。 这意味着连通性适合用来构造监督,却不应该成为测试时必须具备的条件。

P3-SAM 将问题改写为“给一个三维点,预测它所在的部件”,再通过自动选点重复调用这一能力。 同一个点可能属于局部零件,也可能属于更大的组件,所以网络保留多个尺度的候选,而不是强制所有训练来源采用唯一粒度。 核心 idea:用原生网格结构生产三维监督,以多掩码表达部件粒度歧义,再用可学习的质量评价把单点分割能力组合成无需指定部件数的完整分割。

方法详解

整体框架

输入是物体网格,网络实际处理从其表面采样的点坐标与法线;输出是每个网格面所属的部件实例编号,而不是语义类别名称。 “原生 3D 监督”在训练前从网格生成标签,“两阶段多掩码预测”学习给定单点时的部件候选,“质量引导自动分割”在推理时筛选并组合候选。 默认自动模式不需要用户点击;交互模式则由用户给出一个正点,复用同一网络。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Assets["艺术家网格"] --> Data["原生 3D 监督"]
        Data -.->|仅训练标签| Masks["两阶段多掩码预测"]
        Input["待分割网格<br/>或点云"] --> Masks
        Masks --> Auto["质量引导自动分割"]
        Auto --> Output["部件掩码<br/>及网格面标签"]

图中的训练支路不参与测试资产的标签生成,推理支路也不调用二维 SAM。 点云输入可以直接得到点级分割;只有需要网格面标签时,才执行从采样点回填到网格的步骤。 三个设计分别解决标签来源、单点歧义和完整物体覆盖问题,不能把网络预测掩码与后处理后的完整分割视为同一输出。

关键设计

1. 原生 3D 监督:从制作结构恢复标签,并补足水密表面的分布

训练资产来自 Objaverse、Objaverse-XL、ShapeNet、PartNet 和其他互联网仓库。 算法首先按连通分量拆分网格,再计算各分量的表面积,避免直接把每一块碎片都当成一个部件。 它在分辨率为 128 的体素空间中构建邻接关系:两个子网格占用同一个体素就认为相邻。 面积不足物体总表面积 1% 的小分量,迭代并入相邻且更大的分量。 处理后剔除少于 2 个或多于 50 个部件的物体,并进一步过滤严重的面积不平衡样本。 最终得到约 3.7 million 个物体,监督来自三维资产本身,而不是多视图 SAM 掩码的融合。

这种标签构建仍有明确的数据偏置:原始组装模型常带内部结构,且部件边界可能对应断开的网格。 如果只在这种数据上训练,网络可能学会利用拓扑痕迹,而不是识别扫描或生成表面上的真实几何变化。 作者因此把过滤后的资产转换为水密模型,成功得到约 2.3 million 个水密版本,只保留外表面。 水密版本的每个面通过查询原模型最近的面继承标签,而不是重新运行二维标注。 某个资产同时具有两种版本时,训练以 80% 的概率选择水密版本,使网络接触两种几何分布。 第 5 页另把“大部件”过滤阈值写成 0.85%,与同段每个部件需超过 1% 的条件矛盾;此处保留疑点,不将其擅改成 85%。

2. 两阶段多掩码预测:让局部候选先确定关注区域,再汇聚全局上下文

网络采用 Sonata 预训练的 Point Transformer V3 编码器,并减小输入体素大小以处理更复杂的几何细节。 不同层级的特征经过聚合和共享 MLP,形成每点 512 维特征;同一个资产只需提取一次这些特征。 每次查询把点特征、原始点坐标以及广播到所有点的提示坐标拼接,不另外设计通用提示编码器。 因此它只支持单个正点这一基本提示形式,不承担 SAM 中负点、框等多类型提示的建模负担。 第一阶段的三个 MLP 分别输出一个候选掩码,允许同一个点对应不同粒度的部件解释。 三个头不是三个固定的语义类别,论文也没有为它们指定统一的细、中、粗标签。

第一阶段虽然利用了编码器特征,但其分割头没有显式汇总当前提示对应的整体候选结构。 第二阶段把混合输入与三个初始掩码一起送入 MLP,并沿点维度进行最大池化,生成提示相关的全局特征。 随后,另三个 MLP 同时读取原输入、全局特征和初始掩码,重新预测三个更准确的候选。 这里的关键不是单纯把网络加深,而是让初步预测告诉全局汇聚“当前可能在分割哪一片区域”。 这样,局部几何相似但归属不同的表面可以借助整体部件形状重新判断边界。 交互时缓存的是资产的点级特征;依赖提示和初始掩码的全局特征仍随查询计算,不能把它也当作与提示无关的缓存。

3. 质量引导自动分割:预测候选可靠度,再从重复查询中形成部件集合

多头输出保留了粒度歧义,也带来了“应该选哪一个”的问题。 IoU 预测器读取混合输入、全局特征及第二阶段的三个掩码,经 MLP、最大池化和另一个 MLP 输出三个质量分数。 训练时它学习预测候选与真实掩码的 IoU,测试时则仅靠这些预测值选择候选,不访问真实标签。 自动模式从表面点中用最远点采样(FPS)选出 400 个提示点,故意让提示数量多于实际部件数,以提高覆盖机会。 每个提示保留一个掩码及其预测质量;不同提示可能位于同一个部件,从而产生大量重复候选。

非极大值抑制(NMS)先按预测质量降序排列候选,每次保留队首掩码,并删除与它的掩码 IoU 大于 0.9 的其余候选。 重复这一过程后,留下的掩码数量就是算法预测的部件数量,因此无需事先提供聚类簇数。 这里“质量分数”和“NMS 重叠度”不是同一个量:前者由网络估计与未知真值的吻合程度,后者直接计算两个候选的重叠。 论文有时称这一步为合并,但具体算法是抑制重复掩码,而非对重叠掩码做集合并集。 点级标签按采样点对应的面回投,并经投票决定面片的标签;尚未获标签的面再通过洪泛填充补全。 填充使用相邻面的多数标签;没有可用连接关系时,改用若干最近面的标签,迭代直到所有面均被赋值。

一个完整示例

以一个带座面、靠背和支撑部件的椅子网格为说明性例子,以下流程不是论文新增的定量实验。 首先采样 100,000 个表面点及法线,运行一次编码器,再用 FPS 自动选出 400 个查询点。 座面上的一个提示可能生成局部座面与更大结构范围的候选;两阶段预测细化边界,IoU 预测器从中选取一个。 另一个座面点可能给出近乎相同的掩码,NMS 将其视为重复,而靠背对应的低重叠掩码会继续保留。 最后把点标签回投至网格,并补齐未采样覆盖的面;具体得到几个部件由候选与去重决定,这里不虚构固定数量。 若改为用户逐个指定目标部件的多提示应用,论文采用尽量覆盖全物体并减少掩码互相重叠的选择原则,不再仅按单个预测 IoU 选头。 层次分割则是对已分割部件的平均点特征做层次聚类,属于基础分割之后的应用,不是自动模式必须的训练阶段。

损失函数 / 训练策略

每个训练资产随机选择 \(K=8\) 个真实部件,并在各部件内部随机选一个点作为正提示。 两个阶段都使用 Dice 与 Focal 损失,但对同一提示仅向损失最小的候选头反向传播,避免强迫三个头输出完全相同的边界。 下面按第 8 页损失定义紧凑重述,其中 \(t\) 表示阶段,\(i\) 表示候选头,\(j\) 表示提示:

\[ \mathcal{L}_{\mathrm{mask}}^{(t)} =\frac{1}{K}\sum_{j=1}^{K}\min_{i\in\{1,2,3\}} \left[0.5\mathcal{L}_{\mathrm{Dice}}(m_{ij}^{(t)},m_j^{\mathrm{gt}}) +\mathcal{L}_{\mathrm{Focal}}(m_{ij}^{(t)},m_j^{\mathrm{gt}})\right]. \]

质量分支用均方误差监督全部三个预测 IoU,监督目标是把第二阶段掩码以 0.5 为阈值二值化后,与真值计算的 IoU。 总损失是两个阶段的掩码损失加 IoU 回归损失,而不是只训练最终掩码。 输入坐标、法线和提示点加入随机噪声,并以 0.3 的概率去掉法线,减轻对理想输入的依赖。 训练、评测和推理均使用 100,000 个点;优化器为 Adam,学习率为 \(10^{-5}\)。 作者使用 64 张 H20,每卡 batch size 为 2,训练 9 个 epoch,耗时约 4 天。 第 3 页表 1 报告约 112M 参数、自动分割约 8 s、交互约 3 ms;交互延迟对应特征提取后的轻量查询,不能当作首次处理完整资产的耗时。

实验关键数据

主实验

表 2(论文第 10 页)的 PartObj-Tiny 包含 200 个资产、8 个类别,下表只摘取相同任务内的平均值。 指标为论文报告的平均 IoU,保留原表的百分制数值;交互任务对每个真实部件采样 10 个提示,再平均预测掩码与对应真值的 IoU。

数据集 / 设置 对比方法 对比 IoU P3-SAM IoU 差值(百分点)
PartObj-Tiny,不利用连通性 SAMPart3D 53.47 59.88 6.41
PartObj-Tiny,不利用连通性 PartField 53.93 59.88 5.95
PartObj-Tiny,利用连通性 PartField 79.18 81.14 1.96
PartObj-Tiny,单点交互 Point-SAM 27.91 51.23 23.32

利用连通性的设置包含额外结构信息;正文还说明 PartField 从层次结果中选择最优层级,P3-SAM 也引入连通分量与部件提示。 因此,81.14 不能作为完全不借助结构信息的默认自动分割成绩,也不能直接与 59.88 相减来衡量某个独立模块的效果。

表 3(论文第 10 页)进一步比较水密网格和点云,两者都不使用部件级连通分量先验。 PartObj-Tiny-WT 包含 189 个成功水密化的资产,PartNetE 包含 1,906 个形状、45 个物体类别。

数据集 / 设置 对比方法 对比 IoU P3-SAM IoU 差值(百分点)
PartObj-Tiny-WT,完整分割 PartField 51.54 58.10 6.56
PartObj-Tiny-WT,单点交互 Point-SAM 24.16 49.11 24.95
PartNetE,完整分割 PartField 59.1 65.39 6.29
PartNetE,单点交互 Point-SAM 45.85 63.48 17.63

这里“水密数据不利用连通性”指不利用可直接区分部件的连通分量先验,并不是说水密网格在数学上没有邻接关系。 原文表 3 标题只提水密版 PartObj-Tiny,但表内还包括 PartNetE;上表按实际行名区分两者。

消融实验

表 4(论文第 14 页)在作者自建数据集的测试集上评估分割头,mIoU 使用 0 到 1 的原始数值,不能直接与上面的百分制结果混读。

配置 数据增强 mIoU 说明
Single-Head 无 0.2801 仅第一阶段的单个头
Stage 1 Only 无 0.4265 第一阶段多头
Stage 2 Only 无 0.6647 带全局特征的阶段
Stage 1 + Stage 2 无 0.7464 两阶段完整预测结构
Full 有 0.7906 两阶段与数据增强

关键发现

  • Stage 1 Only 到 Stage 2 Only 增加 0.2382 mIoU,支持全局上下文的重要性;两阶段结构进一步达到 0.7464。
  • 在两阶段结构上加入数据增强,从 0.7464 到 0.7906,绝对增加 0.0442 mIoU。
  • 图 7 对去掉 NMS 和洪泛填充的效果只提供可视化,不存在可从该图引用的独立定量降幅;论文也没有提供移除 IoU 预测器的数值消融。

亮点与洞察

  • 训练时利用连通分量,测试时不要求部件拓扑分离,是比“直接按连通块切开”更关键的区别。水密化增强使这一区别具有可操作的数据支撑。
  • 多头预测不是为了增加固定类别,而是容纳真实数据对部件粒度的不同定义。最小损失头监督让多个候选有机会形成分工。
  • 自动化依赖于质量预测能否给候选合理排序,而不仅是单个掩码是否准确。对其他提示式分割系统,可以借鉴“密集查询、学习评分、重复抑制”的组合,但仍需重新校准评分。

局限与展望

  • 作者承认模型主要理解表面几何,缺少对部件空间体积的认识;本文不是完整的体积分割或遮挡部分重建模型。
  • 连通分量、面积阈值和最近面标签迁移属于启发式监督,不保证所有艺术家资产都与语义部件一致。原文 0.85% 的过滤条件仍需官方材料进一步澄清。
  • 3.7 million 级数据与 64 张 H20 的训练预算,使得性能提升不能全部归因于分割头;现有消融没有隔离数据规模、原生标签来源与编码器预训练的各自贡献。
  • 400 个提示和 0.9 的 NMS 阈值固定了覆盖与去重策略,但未给出系统敏感性曲线;极小部件、不同粒度候选的重叠冲突仍值得单独评测。
  • 从本文描述中不能确认训练资产与各外部评测集合的完整去重协议,也没有看到重复训练方差。因此“可处理任意物体”应理解为作者目标,而非已被有限基准证明的普遍保证。

相关工作与启发

  • vs Point-SAM:两者都将点提示用于三维分割,P3-SAM 限定单正点并采用原生三维监督,以轻量查询和自动候选筛选服务完整分割;这不等于继承了所有 SAM 交互能力。
  • vs PartField / SAMPart3D:后两者侧重特征学习与聚类,P3-SAM 直接预测提示对应的掩码,再决定部件数量;同任务下仍需考虑数据规模与连通性协议的差异。
  • Sonata 与 HoloPart:Sonata 提供预训练点特征,HoloPart 是使用分割结果的下游部件生成方法。图 6 展示应用可行性,不是对生成质量的独立定量证明。
  • 研究启发:可以将表面分割与体积约束结合,检验部件是否在空间上形成合理实体;这是针对作者局限提出的延伸,不是本文已经实现的模块。

评分

  • 新颖性: 4/5。原生数据构建、简化提示模型与完整自动流程的组合有辨识度,单个基础算子较常规。
  • 实验充分度: 4/5。覆盖网格、点云、交互和结构消融,但数据来源消融、去重细节与参数敏感性仍不足。
  • 写作质量: 3/5。核心流程可复述,过滤阈值与部分评测命名存在需澄清之处。
  • 价值: 4/5。对三维资产处理和下游部件编辑有直接参考意义,但训练成本与表面几何边界需纳入预期。