CObL: Toward Zero-Shot Ordinal Layering without User Prompting¶
会议: ICCV 2025
arXiv: 2508.08498
代码: 项目页面
领域: 自监督学习 / 场景分解 / 扩散模型 / 感知组织
关键词: object layers, amodal completion, diffusion model, zero-shot generalization, occlusion ordering, scene decomposition
一句话总结¶
本文提出 CObL,一种基于多个冻结 Stable Diffusion UNet 并行生成的架构,能在无需用户提示、不知物体数量的前提下,从单张图像推断出遮挡排序的物体层叠表示(每层一个 amodal 完整物体),并且仅用数千张合成桌面场景就能零样本泛化到真实世界照片。
研究背景与动机¶
领域现状:感知组织(Perceptual Organization)是计算机视觉的基础能力——人类能自然地将图像分解为多个物体、判断遮挡关系、甚至推断被遮挡部分的形状和颜色(amodal completion)。然而让机器做到这些仍然很难,特别是在 zero-shot 场景下。
现有痛点: - Amodal completion 方法(如 pix2gestalt):每次只能处理一个物体,且需要人工提供掩码指定待完成的物体 - Inpainting 方法(如 LaMa、SDXL Inpainting):同样需要人工提供遮挡掩码 - Object-centric representation learning(如 MONet、IODINE):可以无监督分解场景,但局限于训练过的封闭世界(如 CLEVR),不能泛化到新物体 - 缺少合适的训练数据:现有数据集要么只提供 amodal 边界(无外观),要么只有遮挡排序(无 amodal completion),要么场景不够真实
核心矛盾:要同时实现——(1) 无用户提示、(2) 自动处理所有物体、(3) 推断遮挡顺序和 amodal 完成、(4) 零样本泛化到新物体——这四个目标在之前的方法中从未被同时满足。
本文目标 - 设计一个模型能从单张图片自动推断完整的物体层叠表示 - 不需要知道物体数量、不需要任何人工提示 - 在仅用合成数据训练的情况下,能零样本泛化到真实世界场景
切入角度:利用 Stable Diffusion 作为自然图像的强先验。单个 SD 实例可能在基本的感知组织任务上也会挣扎(例如识别被遮挡断开的物体部分),但多个 SD 实例通过交叉注意力协作可以更好地解决这一问题。
核心 idea:用 N 个冻结的 Stable Diffusion UNet 并行去噪生成 N 个物体层,通过可学习的跨层注意力同步各层生成,并用推理时的合成约束(compositional guidance)保证各层复合回原图。
方法详解¶
整体框架¶
CObL 由三个核心部分组成: 1. 合成数据生成流水线:通过 3D 建模 + ControlNet 文到图生成,创建合成桌面场景及对应的物体层标注 2. 模型架构:N 个冻结 SD UNet 副本,通过跨层注意力连接,用条件适配器注入输入图像信息 3. 引导采样:推理时用合成损失(compositional loss)和先验得分匹配(PSM loss)引导扩散去噪过程
输入是一张多物体图像,输出是 N 个按遮挡顺序排列的 RGBA 物体层(每层包含一个 amodally-completed 的物体),复合这些层即可重建原图。
关键设计¶
-
合成数据生成流水线:
- 功能:生成训练用的合成桌面场景图像及对应的物体层 ground truth
- 核心思路:"部分渲染 + 文到图生成"的两步法。第一步在 Blender 中用 3D 素材摆放场景,只渲染深度图、掩码和阴影图(不渲染纹理);第二步用 ControlNet-depth 将深度图+文字提示转化为带自然纹理的图像,再用掩码合成
- 设计动机:相比完全虚拟渲染(如 CLEVR),这种方法生成的图像落在 SD 的自然图像分布内,有效弥合 sim-to-real gap。同一几何可以生成多种纹理,提供高效的数据增强。总共只用 600 个 3D 素材生成 2250 个训练场景
-
并行多层扩散架构:
- 功能:同时生成所有物体层,而非逐个处理
- 核心思路:N 个冻结 SD 2.1 UNet 副本(仅训练跨层注意力权重 \(\phi\) 和条件适配器 \(\psi\))。跨层注意力让各 UNet 使用可学习的 lateral attention 相互通信(灵感来自视频生成中的帧间注意力)。条件适配器 \(c_\psi(I)\) 使用冻结 MiDaS 生成伪深度图 + 图像特征注入
- 训练目标:标准扩散去噪损失 \(\mathcal{L}(\phi,\psi) = \mathbb{E}_{t,\epsilon,(I,z_0)} \|\epsilon - \epsilon_\phi(z_0, t, c_\psi(I))\|^2\)
-
推理时引导采样:
- 功能:用额外约束引导去噪过程,确保输出层的物理一致性
- 核心思路:两个互补的引导损失
- 合成损失(Compositional Loss) \(\mathcal{L}_c\):将生成的层按遮挡顺序用 \(\alpha\) 合成,要求复合结果与输入图像一致 \(\|I - \bar{x}^N\|^2\)。掩码通过冻结的前景分割模型自动估计
- 先验得分匹配损失(PSM Loss) \(\mathcal{L}_{psm}\):鼓励每个层的 latent 保持在原始 SD 的自然分布内 \(\|\hat{\epsilon}_t - \epsilon_\phi(\hat{z}_{0;t}, t, c_\psi(I))\|^2\),防止生成不自然的结果
- 额外的非微分操作:周期性的层排列优化、空层清理和排序
损失函数 / 训练策略¶
- 训练:标准扩散去噪损失,10% dropout 条件嵌入(用于 classifier-free guidance)
- 推理:DDIM 30 步,guidance 参数 \(w = 10^4\),\(\lambda = 10^{-7}\)
- 在单块 H100 GPU 上训练约 1 天,batch size = 2
实验关键数据¶
主实验¶
在自建的 TABLETOP 真实世界数据集(100 张桌面照片,2-6 个物体)上,与需要额外人工掩码输入的对比方法比较:
| 模型 | LPIPS ↓ (Best/Avg) | CLIP ↑ (Best/Avg) | 需要额外掩码? |
|---|---|---|---|
| LaMa (Inpainting-GAN) | .113 / — | .914 / — | ✓ (oracle) |
| SDXL Inpainting | .373 / .384 | .760 / .758 | ✓ (oracle) |
| pix2gestalt (Completion) | .128 / .153 | .889 / .872 | ✓ (oracle) |
| CObL (Ours) | .094 / .122 | .935 / .914 | ✗ |
CObL 在不使用任何额外掩码的情况下,全面超越了使用 oracle 掩码的对比方法。
可见分割质量(TABLETOP 子集): - CObL ARI = 83.5% - Mask2Former(未微调)ARI = 66.3%
消融实验¶
| 配置 | LPIPS ↓ | 说明 |
|---|---|---|
| Full CObL | .094 | 完整模型 |
| w/o depth cues (MiDaS) | +4% | 移除深度条件,性能略降 |
| w/o frozen SD prior (UNet unfrozen) | +9% | 解冻 UNet 导致过拟合,泛化能力严重下降 |
| w/o guidance (PSM + compositional) | +8% | 无引导时层无法正确复合回原图 |
关键发现¶
- 冻结 SD 是关键:解冻 UNet 虽然在合成数据上可能更好拟合,但在真实世界中泛化失败。冻结的自然图像先验是零样本泛化的核心
- 合成引导是质量保障:推理时的 compositional guidance 让 CObL 更好地保留可见区域的细节(如茶壶的颜色花纹、书本上的文字),而对比方法倾向于"幻觉"
- 物体数量>4 时性能明显下降:这是当前架构的主要限制,更多物体增加了层分离的难度
- 深度先验有帮助但非必需:SD 本身已包含很强的深度先验
亮点与洞察¶
- 无提示多物体分解:首次实现了无需用户提供任何掩码/提示就能同时完成所有物体的 amodal completion 和遮挡排序。这在交互式应用中极具价值——用户不需要逐个标记物体。
- Sim-to-Real 的巧妙桥接:数据流水线的设计非常聪明——用 3D 模型提供精确几何,用 ControlNet 生成自然纹理,只渲染不烘焙纹理。同一几何多种纹理即为数据增强。
- 多 SD 实例协作:灵感来自视频生成中的帧间注意力,但物体层之间的关系比视频帧之间弱得多且更异质。用 CFG + PSM 两种互补引导来约束协作。
- 推理时组合约束:compositional loss 直接约束"层合成后=原图",这种物理一致性约束是方法可靠性的重要来源。
局限与展望¶
- 仅限桌面场景:当前训练和评估都限于桌面俯拍视角,未验证更复杂的自然场景(如室内、户外多层遮挡场景)
- 物体数量限制:N=7 个 SD UNet 副本的显存开销大,且性能在 >4 个物体时下降。需要存储 7 个 UNet 的梯度用于 guidance
- 推理速度慢:30 步 DDIM + guidance 计算,比不使用引导的方法慢很多
- 继承 SD 偏见:模型继承了 Stable Diffusion 的生成偏差,某些物体类型可能系统性地完成得不好
- 可改进思路:可以探索用轻量级扩散模型替代 SD 降低计算成本;可以尝试迭代式的层数自适应策略而非固定 N
相关工作与启发¶
- vs pix2gestalt:pix2gestalt 用 SD 做 amodal completion 但需要人工提供待完成物体的可见掩码,且一次只处理一个物体。CObL 无需任何提示且并行处理所有物体。
- vs Slot Attention / SLATE 等 object-centric 方法:这些方法在 CLEVR 等封闭世界上有效,但输出是 slot 而非有排序和清晰边界的物体层,且不做 amodal completion,更本质的局限是不能泛化到训练分布外的物体。
- vs 视频扩散模型的帧间注意力:CObL 借鉴了这一架构,但视频帧间有强时间相关性,而物体层之间关系更加异质和松散。
- 这套方法对于 AR/VR 中的场景编辑、机器人抓取规划(需要理解物体堆叠关系)等下游任务有直接的应用潜力。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 问题定义新颖,多 SD 实例协作+推理时引导的思路巧妙
- 实验充分度: ⭐⭐⭐⭐ 建了新数据集、多角度评估、消融完整,但场景局限于桌面
- 写作质量: ⭐⭐⭐⭐ 论文组织清晰,图示精美直观
- 价值: ⭐⭐⭐⭐ 开辟了零样本感知组织的新方向,但场景泛化性有待验证