跳转至

Panoptic Scene Program Diffusion Transformer

会议: NeurIPS2026
arXiv: 2609.31780
领域: 图像生成
关键词: 文本到图像、全景场景程序、联合去噪、属性绑定、组合忠实度

一句话总结

PSP-DiT 把包含实例、属性、关系与数量的全景场景程序变成与图像共同去噪的潜变量,用区域归属和循环一致性监督约束其视觉实现,在匹配的内部基线上将 GenEval 2 从 32.8 提升至 38.2,同时报告约 1.12 倍推理时延。

研究背景与动机

文本到图像模型已经能生成逼真的材质和光照,但“画得像”不等于“按要求画对”。当提示涉及同类对象的不同颜色、精确数量或有方向的主客体关系时,模型仍容易把属性交给错误对象、漏画实例或交换关系角色。更强的文本编码器可以改善语义理解,却没有自动解决生成轨迹中“哪个对象正在拥有哪种视觉证据”的问题。

GLIGEN、ControlNet、BoxDiff 等方法通过框、掩码或注意力约束注入结构,场景图方法也能明确对象和关系。然而,外部结构通常只是固定条件:图像状态随去噪变化,结构本身却没有与之共同演化。只把场景图串成更多提示 token,又可能让同类别的多个实例重新混在一起。本文要检验的不是结构化输入是否有用,而是把结构变成生成状态的一部分,是否比增加条件信息更有效。

作者因此引入实例索引明确的全景场景程序,既记录物体,也要求物体对应实际图像区域。程序不是必须严格执行的完美解析结果,而是能从当前视觉状态获得反馈、在采样中继续调整的潜变量。核心 idea:联合生成图像及其可落地的场景解释,让实例身份、属性归属和有向关系在去噪过程中持续存在,再用视觉区域与结构恢复监督检验它们是否真正被画出来。

方法详解

整体框架

输入是文本提示,输出除最终图像外,还包括场景程序、实例归属图和粗略深度/遮挡顺序。图像流使用表示自编码器(RAE)的图像潜变量;程序流包含实例、关系、数量组及背景上下文 token。两流先各自进行注意力更新,再通过双向交叉注意力交换信息,分别预测自己的去噪目标。

整个流程由实例化场景程序、双流联合去噪、全景落地约束和循环一致性监督串联。训练时,真实图像和结构目标提供监督;推理时,冻结的文本解析器只提供初始场景先验,随后两流一起采样。冻结的图像到场景识别器只在训练阶段使用,不进入推理搜索或重排。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    P["文本提示"] --> A["实例化场景程序"]
    A -->|先验加噪| B["双流联合去噪"]
    N["图像噪声"] --> B
    B --> C["全景落地约束"]
    C --> O["图像与场景解释"]
    C -.->|训练:临时解码图像| D["循环一致性监督"]
    T["训练图像与结构目标"] -.-> A
    T -.-> C
    D -.->|训练损失| B

关键设计

1. 实例化场景程序:同类对象也保留独立身份

场景程序由对象实例、实例附属属性、有序关系、数量及上下文五部分构成。对象不是共享一个“杯子”类别 token,而是各自有实例位置;颜色等属性附着在具体实例上,关系保留两个端点的顺序。因此,“甲在乙后面”与“乙在甲后面”是不同结构,两个杯子也不会因类别相同而失去区分。

实现采用固定槽位:最多 16 个对象实例、32 个关系、8 个数量组和 8 个场景上下文 token。属性附着于实例,不是附录另列的一组独立属性槽。未使用槽位被掩码,既不承担程序损失,也不承担落地损失。这种组织把重复类别和数量显式表示出来,但同时设定了复杂场景的容量上限。

训练程序并非仅由文本解析器直接给出。作者先解析文本,再用冻结的全景分割/开放词汇定位系统提取图像支持,最后删除没有视觉支持的对象、合并重复提及,并只保留两端都被定位的关系。没有前景实例或没有任何定位支持的样本被丢弃。这能降低“文本要求但训练图像没有”的监督冲突,也意味着匹配基线共享图像池,并不等于两者共享全部监督信息。

2. 双流联合去噪:结构既影响图像,也接受图像反馈

普通模型只学习给定文本的图像分布;PSP-DiT 学习图像和程序的联合条件分布:

\[ p_{\theta}(z,s\mid y). \]

这里 \(z\) 是图像潜变量,\(s\) 是场景程序潜变量,\(y\) 是文本。每个耦合块先在各流内部处理自身 token,再进行程序到图像、图像到程序的双向交叉注意力,最后由各自的投影头预测去噪目标。程序流因此不是旁路提示编码器,也不是采样前生成一次后固定不变的布局。

这种反馈的意义是让场景描述和视觉实现始终相互校正:当前实例状态可以约束图像中属性的分配,当前图像证据也能影响下一步程序状态。但程序可变并不自动保证忠于原提示,因而需要后续区域支持、对齐及循环监督,避免两流共同收敛到一个虽自洽却错误的场景。

推理先用冻结的文本到程序解析器构造粗先验,图像潜变量从高斯噪声初始化,程序潜变量则从以先验为中心的带噪分布初始化。每一步同时更新两种潜变量,并预测归属和顺序,最后由 RAE 解码图像。原文保留抽象的腐蚀分布和采样更新算子,未充分具体化程序连续编码、噪声协方差及完整采样器实现;不能据此认定它采用了某一种精确扩散参数化。

3. 全景落地约束:程序中的实例必须拥有视觉支持

仅让两流交换注意力,仍可能产生“程序里有三个杯子,画面里只有两个”的结果。落地头在 RAE 潜网格上预测低分辨率软归属场,表示每个实例对应哪些图像 token;顺序头预测实例间粗略深度或遮挡顺序。这里的全景性强调实例及场景内容与空间支持的绑定,而不是把生成任务改成常规全景分割评测。

区域归属损失和深度/顺序损失将预测与冻结定位系统给出的目标比较。另一个实例级对齐项,把实例潜表示与其拥有区域内汇聚的图像证据进行匹配。于是“红色属于左边的杯子”不再只是整幅图像与文本的相似度问题,还要求相关实例在自己区域内找到支持。原文没有展开这些子损失的具体距离、归属归一化或匹配算法,因此笔记仅保留机制层面的解释。

4. 循环一致性监督:从临时图像恢复预期结构

区域支持主要检查局部实例是否落地,循环监督进一步检查生成画面能否恢复整体场景。训练时先从预测的干净潜变量解码临时图像,再交给冻结的图像到场景识别器,比较恢复出的对象、属性、关系及粗略归属与目标程序。它针对的是图像表面自然、但角色或属性结构不正确的情况。

冻结指的是不更新识别器参数,不等于自动说明整个识别流程如何可微。附录没有明确离散解析、匹配和循环损失的梯度实现,这属于复现需要补齐的细节。推理时完全不调用该外部识别器;它也不是生成后筛选样本的评审器。最终场景解释来自模型内部程序及归属/顺序输出。

一个完整示例

以原文的三杯场景为例:左右两侧分别放红杯、黄杯,中间放蓝杯,勺子只在蓝杯内,绿苹果位于红杯前方。程序先为三个杯子分别建实例,绑定颜色并记录“杯子数量为三”,再为勺子和苹果记录各自关系端点。

采样时,程序流持续提示图像流区分三个杯子;图像流又把当前区域证据反馈给程序流。落地头需要把勺子所在区域关联到正确实例,顺序头提供粗略空间/遮挡证据。训练中的循环识别器则检查解码画面是否恢复出数量、颜色和关系。这是机制说明,不代表论文给出了每个中间步的实测轨迹,也不构成正确生成的硬保证。

损失函数 / 训练策略

原文式(6)的总目标为:

\[ \mathcal{L}=\mathcal{L}_{\mathrm{img}}+\lambda_{\mathrm{prog}}\mathcal{L}_{\mathrm{prog}}+\lambda_{\mathrm{pan}}\mathcal{L}_{\mathrm{pan}}+\lambda_{\mathrm{align}}\mathcal{L}_{\mathrm{align}}+\lambda_{\mathrm{cycle}}\mathcal{L}_{\mathrm{cycle}}. \]

五项依次负责图像去噪、程序去噪、归属及顺序、实例视觉对齐、结构循环恢复。程序、全景、对齐、循环权重分别为 1.0、1.0、0.25、0.5,全景项内部的深度权重为 0.1。各规模沿用这些权重,不按评测集调参。

1B 配置使用宽度 2048、24 个 Transformer 块、16 个注意力头及 4 倍 MLP 扩张。训练采用 AdamW、bf16、梯度裁剪 1.0、EMA 0.9999;学习率为 \(1.0\times10^{-4}\),先预热 10k 步再余弦衰减。1B 在 512px 下训练 1.2M 步,主评测采用 50 步推理;作者报告该训练使用 64 张 H200。训练数据源、数量、完整解析器/识别器型号及批大小没有被具体列清,不能把这些配置当作完整复现配方。

实验关键数据

主实验

主表采用统一复评流程,而非直接拼接不同论文的成绩。GenEval 2 使用 Rewritten 提示,每个提示四个固定种子、四张图,汇总所有单样本结果,不选 best-of-N。GE2 和 SANEval-Simple 放大到 0–100 尺度,PSG-Score 保留 0–1;DM 是 DetailMaster 八项任务准确率的均值。

下表摘录原文表 1(a)。对贡献归因最重要的是 Ours-FlatText:它与 PSP-DiT 匹配骨干、图像/文本数据、优化预算和推理设置,但不使用程序潜变量及相关结构监督。外部模型行用于同评测协议下的参照,不代表相同训练预算。

模型 GE2 ↑ SANE ↑ PSG ↑ DM ↑
FLUX.1-dev 29.5 61.8 0.62 63.6
SD3.5-Large 19.0 55.4 0.60 59.6
SG-Adapter + SD3.5-Large 24.7 59.8 0.66 62.1
Ours-FlatText 32.8 65.9 0.65 66.8
PSP-DiT 38.2 73.6 0.73 72.4

相对匹配基线,四项绝对增量分别为 5.4、7.7、0.08、5.6。表 1(b) 中 FID-30K 为 8.1 → 7.9,HPS v2.1 为 31.9 → 32.6,ImageReward 为 1.35 → 1.42,支持组合提升没有明显牺牲报告的画质指标。

表 1(e) 中时延为 21.4 → 23.9 秒/图,显存为 29.6 → 32.1 GB。测量使用单张 H200、batch 1、1024×1024、50 步、bf16、FlashAttention 与 torch.compile,包含解码;预热 10 次后平均 100 次。因此约 1.12 倍时延只适用于此配置,不能与 RTX A6000 上的外部 FLUX 时延直接比较。12.8B → 13.4B 是完整部署管线参数,不是表 1(d) 中的 1B 可训练骨干。

消融实验

下表摘录原文表 2(a),每一行在上一行基础上累积组件,不是各组件独立移除的实验。

配置 GE2 ↑ SANE ↑ PSG ↑ DM ↑
Ours-FlatText 32.8 65.9 0.65 66.8
加场景程序 token 33.7 66.8 0.66 67.4
再加实例索引 35.2 68.9 0.68 68.9
再加程序联合去噪 36.8 71.1 0.70 70.4
再加全景落地 37.6 72.6 0.72 71.6
再加循环一致性,即 PSP-DiT 38.2 73.6 0.73 72.4

仅加程序 token 的 GE2 增量是 0.9;其后实例索引、联合去噪、全景落地和循环一致性的相邻增量分别为 1.5、1.6、0.8、0.6。联合去噪在该添加顺序下增量最大,但由于组件相互依赖,不能据此断言它在所有组合中贡献最大。

表 2(b) 的鲁棒性实验只扰动推理时程序,不重新训练。改写后重新解析时 GE2 为 37.6;删除 10%/20% 节点或边时为 36.9/35.8;破坏 10% 关系标签时为 35.4,均高于 FlatText 的 32.8。删除节点会同时清理相连属性及关系,避免留下无效语法;这不等于已经验证任意解析器错误都能被纠正。

关键发现

  • 表 1(c) 中,计数为 62.7 → 74.1,属性绑定为 67.4 → 75.3,角色关系为 58.9 → 69.7;计数和角色关系的增量分别为 11.4 和 10.8,符合实例及有向关系建模的目标。
  • 表 1(d) 中,0.5B/512px 的 GE2 为 28.9 → 33.6,3B/1024px 为 34.7 → 41.5。大模型仍受益,但 3B 同时改变规模与分辨率,不能拆成两个独立因果结论。
  • 原文存在技能聚合口径冲突:正文 §4.4 说按提示数量对多个原生子指标加权,附录 A.11 则说每项技能只对应一个子集、不需非平凡加权,五项 Avg. 为无权均值。本笔记保留报告数值,不自行修正定义。
  • 人类偏好表报告 FlatText 48.7%、PSP-DiT 56.8%。A.6 却规定 200 个提示、每提示三人多数票后按提示计算胜率,此时胜率应以 0.5 个百分点递增;这些数值与该口径不兼容,比较对手也未清楚标注。附录说明了 bootstrap 方法,但可读主表未给出置信区间数值,因此不能据此声称统计显著。

亮点与洞察

  • 把“生成场景解释”作为内部状态,而不是事后描述。可迁移之处在于为需要保持实体身份的生成任务维护独立结构流,再让视觉流和结构流相互反馈。
  • 实例级区域归属把属性绑定从整体文本相似度落实到具体区域。它提供了比整图奖励更直接的错误定位,但效果仍取决于伪标签和区域识别质量。
  • 累积消融区分了“多给一点结构信息”和“让结构参与生成”。它支持完整方案优于 token 增强,但还需要参数匹配和监督匹配实验进一步分离收益来源。

局限与展望

  • 作者明确只研究文本到图像,视频扩展需要跨帧身份和场景状态一致性,本文没有验证。
  • 固定 16 个前景实例等槽位、丢弃空程序样本和冻结定位系统可能限制密集场景及弱可见对象。应进一步报告超过槽位上限、遮挡、小物体和少见关系的失败情况。
  • 未发布代码或检查点,训练池细节、解析器和识别器型号、连续程序编码及循环梯度实现不完整。结合作者报告的约 1.1M H200 GPU-hours 项目成本,独立复现门槛很高。
  • 没有参数匹配的加宽 FlatText 对照,也未单独隔离额外结构监督收益;没有主要基准的训练重复实验误差条。现有匹配条件削弱了骨干差异解释,却不能把全部收益严格归因于潜变量本身。
  • 技能聚合与人类偏好口径需要澄清。后续应公开子集清单、实际提示数量、评审对手及逐提示结果,再开展更可核验的统计比较。

相关工作与启发

  • vs GLIGEN/ControlNet/BoxDiff:这些工作把位置、掩码或注意力约束作为外部控制;PSP-DiT 让程序本身也参与去噪。两者差异不只是条件更丰富,而是条件结构能否作为随机状态被更新。
  • vs 场景图/布局生成:关系结构已有长期积累,本文强调实例身份、视觉归属和联合生成的结合。原文也引用了 Xu et al. 的 grounded scene graph 与图像联合扩散工作,因此不能把“结构和图像联合生成”本身宣称为此前不存在。
  • vs DiT+RAE 扩展:骨干和表示空间提供图像生成能力,本文改变的是其内部场景表示。值得探索的是程序不确定性如何传入图像流,以及如何区分合理修正解析错误与偏离原提示。

评分

  • 新颖性: 4/5,实例化程序、联合去噪与视觉归属监督形成较完整组合,但联合结构生成存在相关先例。
  • 实验充分度: 3/5,多基准、消融及噪声测试覆盖较广,监督与容量归因及统计口径仍不充分。
  • 写作质量: 3/5,主线清楚,部分实现细节和两处评测口径需要补充或澄清。
  • 价值: 4/5,为复杂组合提示提供可解释结构状态,实际可复用性取决于代码和数据细节开放。