Anchoring and Steering Diffusion: Enhancing the Faithfulness of Text-to-Image Generation at Inference Time¶
会议: ECCV2026
论文: https://eccv.ecva.net/virtual/2026/poster/5400
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/10390.pdf
作者: Xinyi Wang, Yuyang Huang, Yalin Su, Pengcheng Luan, Tao Zhang, Feiming Wei, Wenxian Yu
领域: 图像生成
关键词: 文本图像对齐、语义锚定、LP-SDS、反思式引导、组合生成
一句话总结¶
AnchorSteer 在不训练模型权重的前提下,用 CLIP 先验与冻结扩散模型共同优化初始化,再在去噪途中诊断、擦除和补全语义错误,使 SDXL 的 GenEval 总分由 55.933 提升到 63.393,代价是显著增加推理计算。
研究背景与动机¶
文生图模型已经能生成外观自然的单个物体,但多个对象、属性和空间约束组合后,仍可能漏画对象、弄错数量,或把属性绑定到错误对象。简单增加去噪步数或提高 classifier-free guidance(CFG)强度,并不能告诉模型“现在具体错在哪里”。一旦早期布局走偏,后续采样可能只是把错误结果画得更加逼真。
已有推理时改进主要处理两个位置:初始化方法从噪声池挑选有利起点,或直接优化噪声;轨迹方法则在生成过程中调整引导,甚至通过重新加噪回到较早状态。前者受候选池、评分可靠性和分布漂移限制;后者虽然允许回退,却不一定能区分应删除的内容与应补充的内容。本文因而把初始化和中途纠错视为两个互补问题,而不是期望单一对齐分数解决所有错误。
核心 idea:先把文本语义转成与扩散模型先验兼容的起点,再让视觉语言模型分别指出“多了或错了什么”和“缺了什么”,用带方向的局部回退与重绘阻止语义错误继续积累。
方法详解¶
整体框架¶
输入为文本提示,输出为与对象、属性及关系约束更一致的图像。语义锚定(Semantic Anchoring)在采样之前完成:CLIP 合成伪图像,LP-SDS 将其潜变量向扩散模型的条件分布调整,再进行 DDPM 前向加噪。反思式引导(Reflective Steering)则插入正常去噪过程,由 Think 诊断和 Erase–Retouch 纠错组成。
这里的“training-free”指不更新预训练模型权重,不代表没有优化计算:伪图像和潜变量仍需逐提示优化,VLM 也会反复推理。纠错操作作用于潜变量与文本引导,正文没有提供显式空间掩码模块,因此不能把“定向擦除”理解成有严格区域隔离保证的局部编辑。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["文本提示"] --> Anchor["语义锚定<br/>CLIP 先验与 LP-SDS"]
Anchor --> Step["前向加噪后开始采样<br/>执行正常去噪步"]
Step -->|检查时刻| Think["Think 双重诊断<br/>解码干净图像估计"]
Think --> Edit["Erase–Retouch 纠错<br/>负向回退与正向补全"]
Edit -->|还有去噪步| Step
Step -->|非检查时刻且未结束| Step
Edit -->|最后一步| Output["解码最终图像"]
Step -->|结束且无需检查| Output
关键设计¶
1. 语义锚定:先提取文本结构,再修复与扩散先验的域差距
第一步不是从检索库取图,而是通过 Direct Ascent Synthesis(DAS)优化一张可学习图像,使其 CLIP 图像嵌入与提示的文本嵌入具有更高余弦相似度。得到的伪图像能携带目标对象、颜色分布及空间结构,但往往伴随高频伪影和不自然颜色。CLIP 认为匹配的画面,并不一定是扩散模型熟悉的自然图像;直接拿来初始化会把语义信号和分布偏移一起带入采样。
为此,作者先用 VAE 编码伪图像,再直接优化它的潜变量。每次采样一个噪声时刻,对当前潜变量加噪,用冻结的扩散去噪网络预测噪声,然后用预测噪声与实际噪声的差作为更新信号。LP-SDS 沿用 SDS 省略 U-Net Jacobian 的做法;这里优化的是当前提示对应的潜变量,而不是 U-Net 参数。根据原文式 (4) 整理可读记号,核心更新方向为:
其中 \(z_t\) 是当前潜变量加噪后的状态,\(\hat\epsilon_\phi\) 是带文本引导的预测,\(w(t)\) 为时间权重。直观上,DAS 提供“要画什么”的结构,LP-SDS 再借助冻结生成模型回答“怎样的潜变量更像这个模型会生成的图”。正文将其解释为跨时间加权的条件 KL 散度优化,但这不是每一步都保留全部组合语义的严格保证。
优化后的 \(z^*\) 经标准 DDPM 前向加噪成为采样起点:
这一步比任意修改噪声更贴近模型已知的前向过程,但要谨慎理解论文随后“仍服从 \(\mathcal N(0,I)\)”的说法。对固定 \(z^*\),该式实际给出均值为 \(\sqrt{\bar\alpha_T}z^*\)、协方差为 \((1-\bar\alpha_T)I\) 的高斯分布;只有当残余信号充分小时才近似标准高斯。若信号完全消失,锚定语义也会消失,因此本文的分布一致性更适合视为近似动机,而不是无条件定理。
2. Think 双重诊断:把模糊的不对齐拆成可执行的两类反馈
每到检查时刻,先完成一次普通去噪,得到中间潜变量 \(z'_{t-1}\)。VLM 并不是直接检查带噪潜变量,也不是等最终图像完成才评分;系统先按 DDIM 的预测关系估计干净潜变量,再经 VAE 解码成当前最终图像的预测,交给 VLM 与原提示比较。
诊断结果分为缺失内容 \(D_{\mathrm{pos}}\) 与不一致内容 \(D_{\mathrm{neg}}\)。前者包括提示要求但尚未充分出现的对象、属性和关系,后者包括多余、幻觉或与提示冲突的内容。这样做的作用不是提供更细的排行榜分数,而是产生两个不同的控制目标:遗漏对象需要补入,错误对象需要抑制,单纯强化整句提示无法明确区分这两件事。
其代价是诊断质量成为新的瓶颈。尤其在早期,干净图像预测仍可能模糊,VLM 所见不一定等于最终画面。正文给出了不同规模 VLM 的性能比较,却未报告错误诊断率或置信度门控,不能据此认为每次反馈都可靠。
3. Erase–Retouch 纠错:回退时压制错误,同时在往返两程补强缺失语义
得到诊断后,系统把一次常规去噪扩展为 \(z_t\rightarrow z'_{t-1}\rightarrow z_t^*\rightarrow z_{t-1}^*\)。Erase 用 \(D_{\mathrm{neg}}\) 替代 CFG 中原本的无条件输入,通过负向引导的 DDIM inversion 回到更高噪声的时刻。与随机再加噪不同,回退方向由当前错误的语义决定,目标是在重绘前削弱不一致内容,而不是只给错误图像增加一次随机机会。
Retouch 把缺失描述并入原提示,形成增强条件 \(c^+=c\cup D_{\mathrm{pos}}\)。关键细节是正向条件同时用于重新加噪和重新去噪:回退时,以增强提示为正向条件、错误描述为负向条件;返回时,对增强提示使用标准 CFG。因而 Erase 和 Retouch 的作用在回退子步中有重叠,不能把它们实现成互不相干的“先擦一下、再只在最后补一下”。
重绘后的潜变量继续进入正常采样,下一次检查重新诊断,而不是永久沿用最初错误清单。正文式 (6)–(11) 在本地文本抽取中存在符号缺损,本笔记仅保留明确的状态路径与条件替换逻辑,不自行补全引导系数或 inversion 公式;精确实现应对照原 PDF。
一个完整示例¶
原文图 7 使用提示 “A horse and a giraffe”,展示前 8 个去噪步骤的干净图像预测。标准 SDXL 将两个概念混淆,画成两只长颈鹿;AnchorSteer 逐渐去掉错误实例并恢复缺失的马。
按本文机制理解,语义锚定先提供与两种对象相关的起点;Think 随后需要识别缺失的马与多余的长颈鹿;Erase–Retouch 通过带负向条件的回退和增强条件的重绘纠正它们。这是对图示与算法的解释,不是缓存中提供的逐字 VLM 输出,也没有证据表明所有同类提示都能在固定步骤内成功。
损失函数 / 训练策略¶
主实验使用 SDXL 与 HunyuanDiT-v1.2,DDIM 采样步数为 \(T=50\),常规 CFG scale 为 5。DAS 使用 OpenCLIP ViT-B/32,LP-SDS 优化步数为 \(N_{\mathrm{lp}}=400\);反思式引导使用 Qwen-VL-Chat,检查步长 \(\tau=1\),擦除与修补引导参数分别为 \(\gamma_e=1.0\)、\(\gamma_r=5.0\),硬件为 NVIDIA H100。
主文没有在实现细节中给出 DAS 的具体迭代数、学习率及所有优化器设置;这些不能凭经验填入。缓存也不含正文所引用的补充实验,因此少步蒸馏模型和人工偏好研究只能视为作者提及的后续证据,不能在这里补出结果。
实验关键数据¶
主实验¶
下表摘自原文表 2,为 SDXL 在 GenEval 上的结果,所有指标越高越好,保留论文的分数刻度。总分提升应读作分数点差,不是相对百分比;本文没有在所有子项上独占最优。
| 方法 | Two Objects | Counting | Position | Attribute | Overall |
|---|---|---|---|---|---|
| Standard | 81.06 | 30.31 | 11.00 | 21.25 | 55.933 |
| InitNO | 85.10 | 37.81 | 16.00 | 22.75 | 58.540 |
| DNO | 80.81 | 44.06 | 12.75 | 22.00 | 58.430 |
| Zigzag | 85.35 | 40.94 | 12.25 | 20.50 | 58.547 |
| Diffusion DPO | 92.42 | 46.25 | 15.00 | 18.50 | 60.744 |
| AnchorSteer | 91.16 | 52.50 | 17.75 | 24.00 | 63.393 |
SDXL 总分增加 7.460,Counting 增加 22.19;但 Two Objects 低于 Diffusion DPO 的 92.42。原文表 1 还显示,HunyuanDiT 的总分从 68.342 升到 72.470,增加 4.128,支持其对两种不同骨干有效,而非证明适用于所有扩散架构。
下表摘自原文表 3 的部分列,均为 T2I-CompBench++ 的 SDXL 结果;2D-S/3D-S 指空间关系,Non-S 指非空间关系,Num 指数量约束,所有列越高越好。
| 方法 | Color | 2D-S | 3D-S | Non-S | Num | Complex |
|---|---|---|---|---|---|---|
| Standard | 0.5766 | 0.2015 | 0.3824 | 0.3139 | 0.5029 | 0.3382 |
| Zigzag | 0.6172 | 0.2011 | 0.4024 | 0.3206 | 0.5349 | 0.3504 |
| Diffusion DPO | 0.6351 | 0.2153 | 0.4017 | 0.3156 | 0.5223 | 0.3536 |
| AnchorSteer | 0.6712 | 0.2158 | 0.4135 | 0.3171 | 0.5796 | 0.3759 |
复杂组合和数量约束改善明显,但 Non-S 不及 Zigzag。原文表 4 另报告 ImageReward 从 0.4891 升至 0.8781;多样性指标 \(1-\mathrm{LPIPS}\) 从 0.3860 降至 0.3794,DINO 相似度从 0.6638 降至 0.6314。这里两项相似度越低代表样本差异更大,不能误写成多样性退化。
消融实验¶
下表来自原文表 5。Anchor-only 和 Steer-only 分别表示只使用一个组件,不应把 Steer-only 当成先加入 Anchor 再追加 Steer 的累计配置。
| 骨干 | 配置 | Two Objects | Counting | Attribute | Overall |
|---|---|---|---|---|---|
| SDXL | Standard | 81.06 | 30.31 | 21.25 | 55.933 |
| SDXL | Anchor-only | 88.64 | 44.38 | 24.00 | 60.731 |
| SDXL | Steer-only | 91.67 | 42.50 | 20.25 | 59.868 |
| SDXL | AnchorSteer | 91.16 | 52.50 | 24.00 | 63.393 |
| HunyuanDiT | Standard | 93.18 | 64.69 | 39.00 | 68.342 |
| HunyuanDiT | Anchor-only | 93.43 | 66.88 | 46.75 | 70.395 |
| HunyuanDiT | Steer-only | 96.72 | 71.56 | 45.50 | 71.728 |
| HunyuanDiT | AnchorSteer | 95.71 | 72.50 | 48.25 | 72.470 |
关键发现¶
- 两组件对总分互补,但并非对子项单调叠加。SDXL 的 Steer-only 属性分数为 20.25,低于基线 21.25;两个骨干的完整方法在 Two Objects 上也都低于 Steer-only。
- 原文表 6 中,将诊断模型换成 Qwen2-VL-2B、Qwen2.5-VL-3B 后,总分分别为 62.073、62.843,Qwen-VL-Chat 为 63.393。不过模型家族与版本同时变化,不能把差异完全归因于参数量。
- 原文表 7 的单图耗时为 Standard 3.7 秒、Zigzag 8.3 秒、AnchorSteer 68.5 秒、DNO 155.5 秒。AnchorSteer 的耗时分解为 Anchor 18.0 秒、Steer 46.7 秒、其他 3.8 秒;主要瓶颈是逐步诊断与往返纠错,而不是额外一次普通采样。
亮点与洞察¶
- 将“初始语义不够好”和“途中发生偏移”分开处理,消融也显示单个组件无法替代另一个。对推理时优化而言,起点控制与在线反馈值得分别设计和计量。
- 把判别模型中的语义先验先转换到生成模型更熟悉的分布,再作为初始化使用,比直接追逐 CLIP 分数更有针对性。可迁移的是“先验提取后做生成先验校准”的思路,而非认为任何 CLIP 高分图都能直接生成自然图像。
- 缺失与冲突采用不同方向的控制信号,使 VLM 反馈具有明确执行语义。借鉴到其他生成任务时,应同时验证反馈准确率与纠错副作用,而不能只展示最终对齐总分。
局限与展望¶
- 作者明确承认额外推理成本。68.5 秒对 3.7 秒的差距意味着它更适合忠实度优先的场景;正文比较并非等时延预算实验,不能据此断言其计算效率优于多次采样择优。
- 从本笔记的分析看,终点近似高斯与保留语义残余之间存在需要量化的张力。未来应同时测量噪声统计、对齐收益和不同终点噪声强度,而不是只依赖标准前向加噪的形式。
- 缓存主文没有提供去掉 LP-SDS、去掉负向擦除、仅在单程使用正向条件的细粒度消融,也没有提供检查间隔扫描。现有证据支持 Anchor/Steer 的模块级效果,尚不足以确定每个内部设计的独立收益。
- 早期图像预测可能诱发 VLM 误诊,文本负向引导也不保证只改变目标区域。可考虑置信度触发检查和区域约束,但这些属于后续研究建议,不是本文已实现的功能。
- 主文未展示重复运行误差条、置信区间或更广泛骨干验证;缺失的补充材料不能用推测补全。空间与属性指标的绝对水平也说明组合语义问题仍远未解决。
相关工作与启发¶
- 对比 DAS 与 SDS:DAS 从 CLIP 中提取与文本相关的可视结构,SDS 提供冻结扩散模型的蒸馏梯度;本文把两者串在初始化阶段,优化潜变量来连接判别先验与生成先验,而非新增一个可训练生成模型。
- 对比 InitNO、DNO 与 NPNet:这些工作围绕噪声选择或优化改善起点;AnchorSteer 不只依赖初始噪声质量,还在生成途中加入显式诊断。与此同时,本文的初始化也有迭代优化成本,不能等同于廉价的噪声替换。
- 对比 Zigzag:双向采样为回退重绘提供基础,本文增加了错误类型诊断及正负条件控制。比较重点是回退为何发生、往哪个语义方向修正,而非是否存在往返本身。
- 对比 Diffusion DPO:偏好训练改变模型参数,AnchorSteer 在固定模型上投入推理计算。两者代表不同的成本分配方式,表中胜负不能脱离训练与部署预算讨论。
评分¶
- 新颖性: 4/5。两类先验的初始化衔接与双重诊断纠错组合明确,但基础技术来自 DAS、SDS、CFG 和双向采样。
- 实验充分度: 4/5。包含两个骨干、两个组合基准、质量与多样性及耗时分析;缺少等预算和内部机制的更细消融。
- 写作质量: 4/5。主线和模块级证据清楚,但标准高斯的表述需要条件限定,部分复现设置留在未提供的补充材料中。
- 价值: 4/5。适合高忠实度优先的推理时研究;较大时延和诊断可靠性限制直接部署。