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 用人工标注掩码生成新图像。两种策略互补,合成数据与真实数据一起训练分割模型。
关键设计¶
-
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 几乎无损重建
-
Mask2Img 生成模型
- 功能:根据分割掩码 + 文本提示生成高度对齐的真实图像
- 核心思路:采用 ControlNet 架构——冻结 SDXL-base 参数,训练额外的 side network 做掩码条件化图像生成。输入为 \([\text{text}, \text{颜色图}]\):\(\mathbf{I}_{syn} = \text{Mask2Img}(\mathbf{T}, \mathbf{C})\)。对于全景/实例分割,在颜色图上用特殊边缘颜色勾勒每个 segment 的边界以区分实例
- 设计动机:ControlNet 既保持了预训练扩散模型的泛化能力,又提供了精确的条件控制。冻结主网络避免了过拟合到小数据集
-
MaskSyn 合成策略
- 功能:生成全新的掩码-图像训练对,增强掩码多样性
- 核心思路:真实图像 → BLIP2 提取 caption → Text2Mask 生成新掩码 → Mask2Img 用新掩码 + caption 生成新图像。每个训练样本可扩展出多个全新的 (掩码, 图像) 对
- 设计动机:掩码的多样性是之前方法的主要瓶颈,MaskSyn 通过生成式方法产生真正新颖的空间布局
-
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模型性能,实用价值很高
相关论文¶
- [ECCV 2024] UDiffText: A Unified Framework for High-quality Text Synthesis in Arbitrary Images via Character-aware Diffusion Models
- [ECCV 2024] Diffusion Models for Open-Vocabulary Segmentation
- [ECCV 2024] VISA: Reasoning Video Object Segmentation via Large Language Models
- [ICCV 2025] UniGlyph: Unified Segmentation-Conditioned Diffusion for Precise Visual Text Synthesis
- [ECCV 2024] A Semantic Space is Worth 256 Language Descriptions: Make Stronger Segmentation Models with Descriptive Properties