跳转至

SegGen: Supercharging Segmentation Models with Text2Mask and Mask2Img Synthesis

会议: ECCV 2024
arXiv: 2311.03355
代码: 未明确提及
领域: 语义分割 / 数据生成
关键词: data generation, Text2Mask, Mask2Img, diffusion model, segmentation

一句话总结

提出 SegGen 数据生成框架,反转传统"先生图再标注"的流程为"先从文本生成分割掩码,再从掩码生成图像",打破分割数据合成的"鸡生蛋"瓶颈,在 ADE20K 上将 Mask2Former R50 的 mIoU 从 47.2 提升至 49.9(+2.7)。

研究背景与动机

领域现状:图像分割是像素级标注任务,标注成本极高。主流数据集规模远小于分类数据集(ADE20K 仅 ~20K 训练图,COCO ~118K),数据不足限制了模型性能和泛化能力。

现有痛点:之前的合成数据方法(DiffuMask、DatasetGAN、Grounded Diffusion)依赖"分割标注器模块"——实质上是另一个分割模型——来为生成的图像产生掩码。下游分割模型的性能受这个标注器的能力天花板限制,形成"鸡生蛋"困境

核心矛盾:要训出更好的分割模型需要更好的标注数据,但更好的标注数据需要更好的分割模型来生成——这是一个无法打破的循环。DiffuMask 在纯合成数据上只能达到很低的 mIoU。

本文目标:设计一种不依赖任何分割标注器模块的数据生成方法,从根本上打破鸡生蛋困境。

切入角度:反转流程——先用文本生成高质量分割掩码(Text2Mask),再用掩码条件化生成对齐的图像(Mask2Img)。掩码本身就是标注,无需额外的标注器。

核心 idea:Text→Mask→Image 的反转流水线消除了分割标注器瓶颈,两种互补的数据合成策略(MaskSyn 增强掩码多样性 + ImgSyn 增强图像多样性)共同提升 SOTA 分割模型。

方法详解

整体框架

SegGen 包含两个生成模型和两种数据合成策略:(1) 先用 BLIP2 从真实训练图像提取描述作为文本提示;(2) Text2Mask 模型从文本提示生成新的分割掩码;(3) Mask2Img 模型从掩码 + 文本生成对齐的图像。两种合成策略:MaskSyn 生成新掩码+新图像,ImgSyn 用人工标注掩码生成新图像。两种策略互补,合成数据与真实数据一起训练分割模型。

关键设计

  1. Text2Mask 生成模型

    • 功能:从文本提示生成高多样性的分割掩码
    • 核心思路:将分割掩码(像素值为类别 ID)编码为三通道 RGB 颜色图(每种颜色对应一个类别),直接复用 SDXL-base 的 VAE 编码/解码能力。模型在 [text, 颜色图] 对上微调 SDXL-base。推理时:\(\mathbf{C}_{syn} = \text{Text2Mask}(\mathbf{T})\)\(\mathbf{M}_{syn} = f_{\text{color} \to \text{mask}}(\mathbf{C}_{syn})\),其中 \(f\) 通过最近邻颜色匹配将生成的颜色图转为掩码
    • 设计动机:利用 SDXL 在大规模数据上预训练的强大生成能力,而非从头训练掩码生成器。颜色图格式使 SDXL 的 VAE 几乎无损重建
  2. Mask2Img 生成模型

    • 功能:根据分割掩码 + 文本提示生成高度对齐的真实图像
    • 核心思路:采用 ControlNet 架构——冻结 SDXL-base 参数,训练额外的 side network 做掩码条件化图像生成。输入为 \([\text{text}, \text{颜色图}]\)\(\mathbf{I}_{syn} = \text{Mask2Img}(\mathbf{T}, \mathbf{C})\)。对于全景/实例分割,在颜色图上用特殊边缘颜色勾勒每个 segment 的边界以区分实例
    • 设计动机:ControlNet 既保持了预训练扩散模型的泛化能力,又提供了精确的条件控制。冻结主网络避免了过拟合到小数据集
  3. MaskSyn 合成策略

    • 功能:生成全新的掩码-图像训练对,增强掩码多样性
    • 核心思路:真实图像 → BLIP2 提取 caption → Text2Mask 生成新掩码 → Mask2Img 用新掩码 + caption 生成新图像。每个训练样本可扩展出多个全新的 (掩码, 图像) 对
    • 设计动机:掩码的多样性是之前方法的主要瓶颈,MaskSyn 通过生成式方法产生真正新颖的空间布局
  4. ImgSyn 合成策略

    • 功能:基于人工标注掩码生成多样化的新图像,增强图像多样性
    • 核心思路:直接用人工标注的掩码 + caption 作为 Mask2Img 的输入,生成多种外观变体。相当于一种高级数据增强
    • 设计动机:人工标注掩码质量最高,但对应的图像多样性有限。实验发现合成图像的掩码对齐度甚至优于真实图像(因为人工标注本身有不精确性)

损失函数 / 训练策略

  • Text2Mask 和 Mask2Img:基于 SDXL-base,lr=1e-5,30K iterations,分辨率 768
  • 采样设置:Text2Mask 用 200 步 EDM sampler,Mask2Img 用 40 步
  • 合成数据量:ADE20K 上 MaskSyn 10× 扩展(202K 样本) + ImgSyn 50× 扩展(1.01M 样本);COCO 上仅 ImgSyn 10×(1.18M 样本)
  • 训练分割模型:两种策略——(1) 随机数据增强(\(p_{aug}\)=60% 概率替换为合成样本);(2) 合成数据预训练 + 真实数据微调

实验关键数据

ADE20K 语义分割(数据增强策略)

方法 Backbone mIoU (s.s.) mIoU (m.s.) 提升
Mask2Former R50 47.2 49.2 -
+ SegGen R50 49.9 51.4 +2.7/+2.2
Mask2Former Swin-L 56.1 57.3 -
+ SegGen Swin-L 57.4 58.7 +1.3/+1.4
Mask DINO R50 48.7 - -
OneFormer Swin-L 57.0 57.7 -

COCO 全景分割(合成预训练策略)

| 方法 | Backbone | PQ | AP_pan^Th | mIoU_pan | 提升 | |------|----------|----|---------|---------|------| | Mask2Former (real pretrain) | R50 | 52.0 | 42.0 | 61.0 | - | | + SegGen | R50 | 52.7 | 43.1 | 62.6 | +0.7/+1.1/+1.6 | | Mask DINO (real pretrain) | Swin-L | 58.6 | 50.4 | 67.0 | - | | + SegGen | Swin-L | 59.3 | 51.1 | 68.1 | +0.7/+0.7/+1.1 |

纯合成数据训练对比

方法 ADE20K mIoU* 说明
DiffuMask 18.7 之前最好的合成数据方法
SegGen 43.9 +25.2 巨大提升

消融实验

配置 ADE20K mIoU (R50) 说明
Baseline Mask2Former 47.2 无合成数据
+ MaskSyn only 48.3 +1.1
+ ImgSyn only 49.0 +1.8
+ MaskSyn + ImgSyn 49.9 +2.7,两者互补

关键发现

  • SegGen 让 Mask2Former R50 超越了 Mask DINO 和 OneFormer 等更新的模型架构
  • 合成图像在很多案例中与掩码的对齐度竟然优于真实图像(因为人工标注存在不精确)
  • 合成数据训练的模型对未见域(真实世界新场景、AI 生成图像)展现出更强的泛化能力
  • ImgSyn 贡献大于 MaskSyn(+1.8 vs +1.1),但两者组合效果最佳
  • 在纯合成数据上,SegGen 超越 DiffuMask 25.2%,证明去掉分割标注器瓶颈的巨大价值

亮点与洞察

  • "反转流水线"是关键洞察:之前所有方法都是"生图→标注",受限于标注器能力。SegGen 的"生掩码→生图"思路从根本上消除了这个瓶颈,是一种范式级的创新。纯合成数据上 25.2% 的提升差距就是这个范式优势的量化证明。
  • 合成数据可以超越真实标注质量:ImgSyn 生成的图像与掩码的对齐度优于真实图像(因为人工标注不完美),这是一个令人惊讶且有启发性的发现——合成数据不仅量大,还可能质更优。
  • 通用性和实用性强:同一套方法同时提升语义分割、全景分割和实例分割三个任务,在 R50 和 Swin-L 两种 backbone 上都有效,且不修改任何分割模型架构。

局限与展望

  • Text2Mask 模型的掩码颜色图在类别数很多时(ADE20K 150 类、COCO 133 类)可能出现颜色混淆,最近邻匹配偶有错误
  • 合成数据量很大(ADE20K 上超过 100 万样本),训练成本显著增加
  • MaskSyn 的多样性受限于 BLIP2 提取的 caption 质量,caption 不够具体时生成的掩码可能偏离真实分布

相关工作与启发

  • vs DiffuMask: DiffuMask 用扩散模型内部特征做分割标注器,受限于特征质量;SegGen 完全不需要标注器,纯合成数据 mIoU 超 DiffuMask 25.2%
  • vs DatasetGAN: DatasetGAN 用小型分割网络做标注器,仅在数据极少时有效;SegGen 在全训练集设定下仍能提升 SOTA
  • vs ControlNet: SegGen 的 Mask2Img 基于 ControlNet 架构,但关键创新是引入了 Text2Mask 方向的生成

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 反转数据生成流水线的思路是范式级创新,"鸡生蛋"困境的解决方案优雅
  • 实验充分度: ⭐⭐⭐⭐ ADE20K+COCO双基准、三种分割任务、多backbone、纯合成+混合训练全面验证
  • 写作质量: ⭐⭐⭐⭐ 问题动机(鸡生蛋困境)阐述清晰,方法描述详细
  • 价值: ⭐⭐⭐⭐⭐ 为分割数据合成建立了新范式,实际提升SOTA模型性能,实用价值很高

相关论文