跳转至

SPIN: Hierarchical Segmentation with Subpart Granularity in Natural Images

会议: ECCV 2024
arXiv: 2407.09686
代码: https://joshmyersdean.github.io/spin/index.html (有,数据集公开)
领域: 分割
关键词: 层级分割, 子部件分割, 数据集基准, 评估指标, 细粒度视觉理解

一句话总结

SPIN 构建了首个自然图像子部件(subpart)级层级语义分割数据集 SubPartImageNet——包含 203 个子部件类别和 10.6 万条标注——并提出两个层级一致性评估指标(SpCS / SeCS),在 20+ 现代模型上全面基准测试,揭示了当前模型在子部件层面的严重不足。

研究背景与动机

层级图像分析涉及两类关系:is-a 关系(如"斯巴鲁是汽车"的类别继承)和 is-part-of 关系(如"车门是汽车的部件"的组成分解)。前者已被广泛研究,后者主要停留在 object→part 两级分解,更深层的 subpart(部件的部件,如眼睛是头的子部件)几乎无人涉足。

现有痛点: - 缺乏自然图像子部件标注数据:合成 3D 数据集虽有层级标注,但模型在合成数据上训练后迁移到自然图像效果差 - ADE20K 仅对 10% 的物体提供了子部件标注,且非穷尽标注,无法支撑定量评测 - HIPIE、VDT、Semantic-SAM 等少数支持子部件预测的模型只能做定性展示 - 现有评估指标仅独立评估每个粒度层级的 IoU/AP,忽略层级间的空间和语义一致性

核心 idea:构建第一个 object→part→subpart 三层穷尽语义标注的自然图像分割数据集,设计跨层级评估指标,建立完整的基准测试体系。

方法详解

整体框架

SPIN 并非提出新分割方法,其贡献由三部分组成: 1. 数据集:在 PartImageNet 上扩展子部件标注 2. 评估指标:衡量层级空间与语义一致性的 SpCS 和 SeCS 3. 基准测试:在 20+ 模型上评估三个任务(开词汇定位、交互分割、语义识别)

关键设计

  1. SPIN 数据集构建

    • 数据来源:基于 PartImageNet(24,080 张图像,158 个 ImageNet 类别),选取含至少一个分割部件的 10,387 张图像
    • 子部件类别确定:利用 GPT-4 为每个 object-part 对生成候选子部件列表,三位作者人工剔除不可见/模糊的类别,最终保留 206 个候选、标注中使用 203 个
    • 类别构成:168 个通用子部件(如"嘴巴"跨多个物体类别)+ 38 个特定子部件(如"龟壳"仅适用于海龟的身体)
    • 标注流程:18 名经过长期合作验证的 AMT 标注员,通过入职测试、详细指南、实时"答疑时间"、分阶段发布、持续质检五重机制保障质量
    • 最终规模:11 个物体超类别、40 个部件类别、203 个子部件类别、106,324 条语义标注
    • 划分:训练 8,828 / 验证 519 / 测试 1,040
  2. 空间一致性分数 SpCS(Spatial Consistency Score)

    • 功能:评估子区域预测是否被正确空间包含在父区域中
    • 公式:\(SpCS = \frac{1}{|\mathcal{R}|} \sum_{(\text{child}, \text{parent})} \frac{|\text{child} \cap \text{parent}|}{|\text{child}|}\)
    • 范围 [0,1],1 表示完美包含(眼睛预测完全在头内)
    • 设计动机:传统 IoU 独立评估各层级,即使模型把子部件预测到父区域之外也不会惩罚
  3. 语义一致性分数 SeCS(Semantic Consistency Score)

    • 功能:评估像素级预测的跨层级语义蕴含是否合理
    • 核心思路:对每个同时有三层预测的前景像素 x,检查 subpart→part→object 的语义蕴含链是否在 ground truth 关系中成立
    • 例如"eye→head→quadruped"正确,"windshield→head→bottle"错误
    • SeCS = 所有前景像素语义正确比例的均值

损失函数 / 训练策略

本文不提出新训练方法。唯一的微调实验:在 SPIN 训练集上对最佳零样本模型 GLaMM 进行全参数微调,使用 GLaMM 原始训练策略,结果命名为 GLaMM-FT。

实验关键数据

主实验

零样本开词汇定位性能(mIoU / SpCS):

方法 参数量 mIoU_Subpart mIoU_Part mIoU_Object SpCS_S2P SpCS_P2O
HIPIE (R-50) 200M 0.80 8.05 51.36 100.0 95.64
HIPIE (ViT-H) 800M 0.90 7.21 66.77 100.0 96.08
PixelLLM-13B 13B 9.53 32.04 82.90 82.13 92.60
LISA-13B 13B 11.52 32.29 87.78 82.87 96.02
GLaMM 7B 11.03 39.41 86.29 84.21 95.72
GLaMM-FT 7B 24.25 59.37 86.42 75.93 90.23
CoGVLM 17B 13.94 38.13 46.47 72.37 86.19
SAM (GT box) 630M 49.61 69.23 90.06 83.85 92.30

消融实验

SPIN 微调效果(General 类别提示):

配置 mIoU_S 提升 mIoU_P 提升 mIoU_O 提升
GLaMM 零样本 11.00 - 40.00 - 86.31 -
GLaMM-FT 24.56 +123% 60.76 +52% 91.08 +5.5%

子部件大小分布统计:

尺度类别 面积阈值 标注占比 数量
小 (Small) ≤ 32² 54.10% 57,525
中 (Medium) 32²–96² 38.08% 40,488
大 (Large) ≥ 96² 7.82% 8,311

关键发现

  1. 所有模型在 subpart 级别严重失败:最佳零样本 mIoU 仅 ~14,即使微调也仅 ~25
  2. 专用模型 HIPIE 反而最差:subpart IoU < 1,因训练 part 词汇仅限 Pascal Parts
  3. SAM + 位置先验远超语言模型:SAM 用 GT BBox 的 subpart IoU 达 49.6,是 GLaMM 的 4.5 倍
  4. 子部件本身就是小目标:54% 的子部件面积 < 32²,天然嵌入了小目标检测难题
  5. Part→Object 空间一致性好(>90%),Subpart→Part 明显下降且波动大(46%~85%)
  6. 类别名称粒度影响定位:对物体级影响明显("quadruped" vs "dog"),但对子部件级影响很小

亮点与洞察

  • 定义了一个新的细粒度分割问题:object→part→subpart 三层分解,为层级视觉理解设立了新标杆
  • 评估指标设计精巧:SpCS 和 SeCS 首次将层级关系纳入分割评估,与传统 IoU 互补
  • GPT-4 辅助数据集类别设计:展示了用 LLM 加速数据集本体论构建的实用方法
  • 揭示了位置先验 vs 语言先验的效果差距:暗示未来方向应结合 SAM 的定位能力 + VLM 的语义理解

局限与展望

  • 数据集规模有限(~1 万张图),每张图通常只含一个显著物体
  • 子部件类别定义存在主观性(GPT-4 + 人工)
  • 标注预算约束导致每个超类别最多 1200 张
  • 仅做基准测试,未提出专门面向子部件分割的新方法
  • 刚性/非刚性物体区分在 subpart 级别不成立,但未深入分析原因

相关工作与启发

  • PartImageNet:SPIN 的直接前身,提供 object-part 两层标注
  • ADE20K:有少量子部件标注但非穷尽,不适合定量评测
  • HIPIE:唯一尝试子部件预测的层级模型,受训练数据 part 词汇限制表现差
  • SAM:展现了细粒度定位的上界潜力
  • 启发:(1) 可通过合成数据和 3D 到 2D 投影扩展训练数据规模;(2) 层级分割需要层级感知的损失函数而非独立优化各层

评分

  • 新颖性: ⭐⭐⭐⭐⭐ (首个 subpart 级自然图像数据集,问题定义有开创性)
  • 实验充分度: ⭐⭐⭐⭐ (20+ 模型、多任务全面评估,但缺专用方法)
  • 写作质量: ⭐⭐⭐⭐⭐ (组织清晰,数据分析非常详尽)
  • 价值: ⭐⭐⭐⭐ (为细粒度层级分割提供了重要基础设施)

相关论文