ICCV 2025 · Paper Deep Reading

用 15M 参数为 FLUX 注入可组合控制

EasyControl 将每类视觉条件放入隔离分支,只训练条件专用的低秩 Q/K/V 投影;固定 512 条件分辨率配合位置坐标插值,条件 KV 在扩散步之间复用。论文最有价值的部分来自三种设计的耦合,也包含公式与实现之间需要谨慎辨认的掩码冲突。

Yuxuan Zhang*, Yirui Yuan*, Yiren Song, Haofan Wang, Jiaming Liu†FLUX.1-devFlow Matching23 页 arXiv v1 合订本正式 ICCV:12 页正文 + 8 页补充
Research gap

控制能力、计算效率与插件兼容性同时受约束

DiT 把文本、噪声图像与视觉条件表示成 token。直接拼接条件会增加注意力开销;通用 LoRA 又可能改动文本与噪声分支,影响社区定制模型的风格。多条件在只见过单条件训练时还会产生未经训练的条件间交互。

瓶颈 01

token 开销

注意力计算与序列长度呈二次关系。论文引言将其写成“参数数量随 token 数平方增长”,这个表述不准确:固定 Transformer 的权重参数数量不随输入长度改变,变化的是注意力计算量与激活内存。

瓶颈 02

多条件冲突

各个控制模块独立训练后直接组合,条件 token 之间会发生训练中未出现的交叉注意力,可能造成身份、姿态、空间结构互相干扰。

瓶颈 03

定制模型兼容

EasyControl 只让低秩增量作用于条件 token,保留基础模型的文本与噪声投影。这个结构意在降低控制模块对 Style LoRA 或定制 FLUX 的影响。

论文 Figure 1:EasyControl 的单条件与多条件结果
原论文 Figure 1。单条件空间/主体控制,以及由单条件训练模型零样本组合出的多条件控制。
Method

三项机制构成一条完整的数据路径

条件图像先缩放到固定分辨率,经 FLUX VAE 与 patch packing 得到条件 token;条件专用 LoRA 更新 Q/K/V;结构化注意力隔离各条件分支;位置坐标保持空间对应;推理时缓存条件 K/V。

1 · 条件编码条件图像缩放为 512×512,VAE 编码并打包成 1024 个 FLUX 图像 token。
2 · 坐标赋值空间条件坐标按输出 token 网格比例插值;主体条件的高度坐标偏移 64。
3 · 条件 LoRA共享基础 Q/K/V,再仅对相应条件块加入低秩增量。
4 · 掩码融合去噪/文本查询读取全部条件;条件查询只读取自身条件块。
5 · KV Cache固定条件表示在一次生成中计算一次,后续扩散步复用。
论文 Figure 2:EasyControl 总体框架
原论文 Figure 2。条件分支与主干共享 Transformer 层,Condition Injection LoRA 只选择条件 token,PATP 降低条件序列长度,KV Cache 复用条件特征。

输入、输出与冻结范围

输入:文本提示词、当前噪声 latent \(z_t\)、一个或多个条件图像 \(c_i\)。空间条件包括 Canny、Depth、OpenPose;主体条件提供身份参考。

输出:FLUX flow-matching 速度场预测,经 25 步官方推理示例或论文指定步数迭代为图像 latent,再由 VAE 解码。

训练参数:57 个注意力层中的条件 Q/K/V LoRA;双流块还含输出 projection LoRA。VAE、两套文本编码器与 FLUX 主干冻结。

共享投影与条件增量

\[Q_i=W_QZ_i,\quad K_i=W_KZ_i,\quad V_i=W_VZ_i,\qquad i\in\{t,n,c\}.\]

\(t,n,c\) 分别表示文本、噪声与条件分支。共享矩阵 \(W_Q,W_K,W_V\) 来自预训练 FLUX。

\[\Delta Q_c=B_QA_QZ_c,\quad \Delta K_c=B_KA_KZ_c,\quad \Delta V_c=B_VA_VZ_c.\]

正式论文 Eq. 2/3 的维度标注把 \(A_i,B_i\) 都写成 \(d\times r\),此时 \(B_iA_i\) 无法相乘。与 LoRA 及代码一致的方向应为 \(A_Q\in\mathbb{R}^{r\times d_{\mathrm{in}}}\)、\(B_Q\in\mathbb{R}^{d_{\mathrm{out}}\times r}\),K/V 同理;先降到 \(r\),再升回输出维度。

条件分支的更新范围

\[\widetilde Q_c=Q_c+\Delta Q_c,\quad \widetilde K_c=K_c+\Delta K_c,\quad \widetilde V_c=V_c+\Delta V_c,\]
\[\widetilde Q_i=Q_i,\quad \widetilde K_i=K_i,\quad \widetilde V_i=V_i,\qquad i\in\{t,n\}.\]

代码中的 LoRA 层先构造与完整序列同形的 mask,只保留某个条件块,再应用 down/up 投影。每个条件模块因此只改变自己的 token;基础投影仍由冻结的 FLUX 计算。

Eq. 5/6 · 带掩码的联合注意力

\[\mathrm{Attention}(Q,K,V;M)=\mathrm{Softmax}\!\left(\frac{QK^{\mathsf T}}{\sqrt{d_k}}+M\right)V.\]

Eq. 5 定义文本、噪声与条件 Q/K/V 沿 token 维的拼接;Eq. 6 在该联合序列上施加掩码并计算注意力。多条件组合的序列与掩码由 Eq. 9/10 进一步定义。\(d_k\) 是每个 attention head 的 key/query 宽度,\(1/\sqrt{d_k}\) 控制点积尺度。掩码 \(M\) 在 softmax 之前把禁止的 query–key 配对加为 \(-\infty\),允许项加 0;softmax 随后在每个 query 行的 key 维归一化,最终用得到的权重对 \(V\) 加权求和。

RoPE 先接收每个 token 的二维坐标,再旋转 Q/K;PATP 修改的是 RoPE 的坐标输入。主体条件的 64 偏移也加在坐标通道上,不能解释为对旋转后的 feature 直接加 64。

Causal attention & cache

论文 Eq. 8、Eq. 10 与真实 combined mask 的关键差异

这里的“因果”描述的是分支间信息方向。单条件公式建立了缓存所需的隔离;正式论文多条件公式的文字定义放宽了反向读取,会让条件 K/V 依赖每一步变化的去噪 token。固定提交中的实现维持单向隔离。

单条件 Eq. 8

\[M_{ij}=\begin{cases}-\infty,&i\in C\ \land\ j\in D,\\0,&\text{otherwise}.\end{cases}\]

\(D\) 表示文本与噪声 token,\(C\) 表示条件 token。行索引 \(i\) 是 query,列索引 \(j\) 是 key。条件 query 不能读取去噪/文本 key;去噪/文本 query 可以读取条件 key。

正式论文 Eq. 10 的冲突

\[M_{ij}=0\quad\text{if }i\in D\ \lor\ j\in D.\]

该条件允许 \(i\in C_k,j\in D\),即条件 query 读取当前去噪状态。此时条件表示随扩散步改变,跨步复用第一步条件 K/V 缺少数学依据。论文同时宣称条件分支与 timestep 无关,二者在这个公式下无法同时成立。

固定提交 6826483 的实际掩码

query / key去噪/文本 \(D\)条件 \(C_1\)条件 \(C_2\)
去噪/文本 \(D\)允许允许允许
条件 \(C_1\)阻断允许阻断
条件 \(C_2\)阻断阻断允许

实现先将全部 query 行设为阻断,再把前 \(n_D\) 行全部清零,随后只清零每个条件块自己的对角子矩阵。这个 combined mask 与 Eq. 8 一致,并扩展为“各条件互不读取”。对应 src/layers_cache.py:143–152, 301–311。

AdaLN 条件恒定性

条件分支 embedding \(e_c\) 在代码中以 cond_temb 表示,并使用零 timestep 构造,所以不随 denoising step 改变;它仍使用同一张图生成期间固定的 pooled text projection 与 guidance。条件图像、提示词、guidance、LoRA 权重或条件数量发生变化时,缓存都需要失效。

\[e_c=\mathrm{TimeTextEmbed}(0,\,g,\,p).\]

缓存生命周期

管线在每次调用开始时遍历全部 attention processor 并执行 bank_kv.clear();随后用 32 个 warm-up latent token 触发一次条件缓存。后续步只重新计算去噪/文本 Q/K/V,拼接缓存的条件 K/V,并复用第一轮保存的条件 attention 输出。官方示例结束后再次显式清空。

实现按“缓存是否为空”判断复用,没有缓存键来校验 prompt、guidance、条件图像、分辨率与 LoRA。只要绕过管线或在同一 processor 上直接调用 Transformer,就需要调用者主动清空。

Position-aware training

固定条件 token 数量,同时保留输出坐标跨度

空间条件统一缩放为 512×512。其 RoPE 坐标覆盖输出图像对应的 packed latent token 网格;主体条件使用固定坐标偏移分离主体区域。

packed 网格定义

令输出 packed token 网格为 \((h_o,w_o)\),条件 packed token 网格为 \((h_c,w_c)\)。位置缩放比例与像素尺寸比例相同,但坐标单位始终是 packed token。

\[s_h=\frac{h_o}{h_c},\qquad s_w=\frac{w_o}{w_c},\qquad (u,v)\mapsto (us_h,vs_w),\]
\[0\le u\lt h_c,\qquad 0\le v\lt w_c.\]

这些坐标先输入 RoPE,用来旋转 Q/K。实现没有对旋转后的 feature 直接增加坐标数值。

512 → 1024 示例

512×512 条件对应 \(32\times32=1024\) 个 packed token;1024×1024 输出对应 \(64\times64=4096\) 个 packed token,因此 \(s_h=s_w=2\)。

\[(u,v)\mapsto(2u,2v),\quad (u,v)\in\{0,\ldots,31\}^2.\]

条件坐标末端是 62,输出网格坐标范围是 0 至 63。这个半开区间解释了论文 Eq. 13/14 把端点写作输出尺寸时容易产生的歧义,也避免把像素高度 512 与 packed 网格高度 32 混为同一个 \(H\)。

主体条件偏移

补充材料 Eq. 16 在主体条件坐标的高度通道加入固定偏移:

\[(u,v)\mapsto(u,v+64).\]

代码修改传给 RoPE 的 packed token 坐标。64 属于该坐标单位,含义是把主体条件放入独立位置区间;它没有加到已经旋转的 Q/K feature 上。

适用边界

PATP 依赖条件缩放后仍保留足够结构。极高输出分辨率会让固定 1024 个条件 token 覆盖更大跨度,局部控制变粗。补充材料 Figure 7 与 Limitations 明确报告极高分辨率下控制能力下降。

Reproducibility

训练、采样与数据设置

论文公开了主干、设备、批量、学习率与步数;代码补足 LoRA rank、混合精度、优化器与位置实现。没有公开完整训练数据清洗、学习率调度细节对应的实验日志、随机种子和训练时间。

Flow-matching 目标

\[\epsilon\sim\mathcal N(0,I),\qquad z_t=(1-\sigma_t)x_0+\sigma_t\epsilon,\]
\[\mathcal L_{\mathrm{RF}}=\mathbb E_{t,\epsilon}\left[\left\|v_\theta(z_t,t,c_i)-(\epsilon-x_0)\right\|_2^2\right].\]

Eq. 15 中的 \(\epsilon\) 是由 torch.randn_like 采样的 Gaussian noise;训练目标是速度 \(\epsilon-x_0\)。论文原文把 \(\epsilon\) 解释为 predicted noise,和公式及代码不一致。

论文公开设置

  • 基础模型:FLUX.1-dev,冻结主干。
  • 每类空间或主体条件单独训练。
  • 4×A100 80GB;每卡 batch size 1。
  • 学习率 \(10^{-4}\);100,000 optimization steps。
  • 空间数据:MultiGen-20M;主体数据:Subject200K。
  • 正式正文 §4.1:推理 25 sampling steps。

固定代码提交补充

  • LoRA rank 128,network alpha 128;57 个 FLUX attention block。
  • AdamW;bf16;训练条件 512,目标长边 1024。
  • 基础模型、VAE、CLIP、T5 参数冻结,只训练名称含 _lora 的参数。
  • 训练噪声由 Gaussian 采样;timestep density 与 loss weighting 复用 diffusers 的 SD3/FLUX 训练工具。
  • 验证示例使用 20 steps、guidance 3、最大文本长度 512;公开推理示例使用 25 steps、guidance 3.5。

20/25 steps 版本冲突

正式 Table 1 caption 说明 1024×1024、25 denoising steps;§4.1 同样写 25 sampling steps。§4.3.2 正文却写单张 A100、20 sampling steps。代码的正式推理示例为 25,训练期 validation 为 20。

这些文字来自同一正式论文版本,缺少公开计时脚本与实验日志,无法判断 Table 1 的时间究竟对应 20 还是 25 步。网页保留冲突,不选择其中一个数值替代另一个。

推理路径

  1. 编码 prompt,得到 T5 token 与 CLIP pooled projection。
  2. 把输出 latent 初始化为 Gaussian noise;条件图像缩放为 512×512 后经 VAE 编码。
  3. 构造输出与条件的 packed latent IDs;空间条件执行坐标缩放,主体条件执行高度偏移。
  4. 清空全部 attention processor 缓存,利用 warm-up token 计算条件 K/V 与条件 attention 输出。
  5. 每个 scheduler step 重新计算去噪/文本支路,读取缓存条件 K/V,预测 velocity 并更新 latent。
  6. VAE 解码;官方示例再次清空缓存。
Data & evaluation protocol

训练数据、测试集合与指标定义

正式补充材料补足了 Face 数据来源和 Table 2–4 的评测方式。指标包含控制一致性、文本一致性、图像质量、主体身份与人体关键点误差,必须分别阅读。

Face control 训练数据

Face 条件模型使用经过整理的 LAION-Face 子集,以及作者收集的私有 multi-view human dataset。所有人物图像先由 InsightFace 执行人脸裁剪与归一化配准。私有数据规模、许可、筛选阈值与划分没有公开,因此该分支无法仅依靠公开资料完整复现。

Canny 与 Depth 测试

Table 2 使用 COCO 2017 validation 的全部 5,000 张图像,保留原始分辨率与长宽比例,并以 ground-truth caption 作为文本提示。对生成图像再次提取 Canny 或 Depth:Canny F1 比较提取边缘与输入边缘,Depth MSE 比较提取深度图与输入深度图。

Subject 测试

Table 3 使用 Concept101。每张参考图配合与主体语义一致的文本生成图像。CLIP-I 和 DINO-I 分别用 CLIP 与 DINO 图像编码器计算生成图和参考图特征的 cosine similarity,用于衡量身份保持。

通用质量指标

CLIP-Score 衡量生成图与文本提示的一致性;FID 衡量生成分布与参考真实图像分布的距离;MAN-IQA 衡量无参考图像质量。不同指标方向不同:F1、CLIP-Score、MAN-IQA、CLIP-I 与 DINO-I 越高越好,MSE 与 FID 越低越好。

Face + OpenPose

Table 4 的 Face Similarity 衡量生成脸与参考脸的相似度。MJPE 由 OpenPose 提取输入与生成图的人体关键点,计算对应关节的 Euclidean distance,先在每张图内求平均,再在数据集上求平均;数值越低越好。

Table 2/3 的非最优项

EasyControl 没有包揽全部指标:Depth 的 FID 为 20.394,OminiControl 为 18.536;Canny F1 为 0.311,OminiControl 为 0.314。Subject 的 CLIP-I 与 DINO-I 两项也都没有达到最高值。其结果更接近控制、文本一致性、质量和效率之间的综合取舍。

Reviewer:失败样本计分边界未公开

补充材料 F.1 说明部分 baseline 无法迁移条件,或无法检测生成图中的 face/pose,因此对应指标不能准确计算。论文没有公开失败样本占比,也没有说明这些样本在汇总时被记为最差值、被排除,或采用其他规则。该缺口会改变 Face Similarity 与 MJPE 的分母和均值,限制 Table 4 的独立复现与公平比较。

Experiments

效率、单条件与多条件结果

15M/30M 只表示新增 Condition Injection LoRA 参数,不包含约 12B 的 FLUX.1-dev 主干。所有百分比来自相对自身 “w.o. PATP & KVCache” 的 ablation;双条件完整模型比 ControlNet+IPA 慢 1.5 秒。

Single
16.3s

完整模型,15M 新增参数。相对 38.9s ablation 延迟降低约 58%。ControlNet 为 16.5s。

Double
18.3s

完整模型,30M 新增参数。相对 72.4s ablation 延迟降低约 74.7%,等价于约 3.96 倍吞吐。

Baseline check
+1.5s

双条件 Ours 18.3s,ControlNet+IPA 16.8s。EasyControl 的优势在新增参数量与自身 ablation 加速;数据不支持“所有条件设置都最快”。

Table 1 · 效率比较(全部行)

条件数方法时间新增模块参数解读
单条件ControlNet16.5s3B时间略慢于 Ours Full
OminiControl31.6s15M参数量相同,延迟更高
Ours w.o. PATP & KVCache38.9s—内部基准
Ours w.o. KVCache22.4s (−42%)—PATP 单独保留
Ours w.o. PATP25.0s (−36%)—KV Cache 单独保留
Ours Full16.3s (−58%)15M本组最低延迟
双条件ControlNet + IPA16.8s4B本组最低延迟
Multi-ControlNet20.3s6B新增模块最大
Ours w.o. PATP & KVCache72.4s—内部基准
Ours w.o. KVCache29.9s (−59%)—PATP 单独保留
Ours w.o. PATP36.7s (−50%)—KV Cache 单独保留
Ours Full18.3s (−75%)30M比 ControlNet+IPA 慢 1.5s
查看论文原表图像
原论文 Table 1
原论文 Table 1。caption 写 25 steps,正文 §4.3.2 写 20 steps。

Table 2 · Canny / Depth 单条件(全部行)

条件方法F1↑ / MSE↓FID↓MAN-IQA↑CLIP-Score↑
CannyControlNet0.23220.3250.4200.271
OminiControl0.31417.2370.4710.283
Uni-ControlNet0.20117.3750.4020.279
Ours0.31116.0740.5030.286
DepthControlNet178123.9680.3190.265
OminiControl110318.5360.4310.285
Uni-ControlNet168521.7880.4230.279
Ours109220.3940.4690.289
查看论文原表图像
补充材料 Table 2
补充材料 Table 2。Canny 用 F1 越高越好,Depth 用 MSE 越低越好。

Table 3 · Subject 单条件(全部行)

方法CLIP-I↑DINO-I↑FID↓MAN-IQA↑CLIP-Score↑
IP-Adapter0.7000.42979.2770.5110.266
OminiControl0.6630.44572.2980.5790.276
Uni-ControlNet0.6410.41786.3690.4390.204
Ours0.6670.44371.9100.5950.283
查看论文原表图像
补充材料 Table 3
补充材料 Table 3。Ours 的身份指标具有竞争力,图像质量与文本一致性最高。

Table 4 · OpenPose + Face 多条件(全部行)

方法Face Sim.↑MJPE↓FID↓MAN-IQA↑CLIP-Score↑
ControlNet + IPA0.049166.7227.060.2290.156
ControlNet + Redux0.027141.5200.700.2930.217
Uni-ControlNet0.048258.8203.310.4810.147
ControlNet + InstantID0.52183.9203.170.3450.250
ControlNet + PhotoMaker0.34386.3213.830.4200.281
ControlNet + Uni-portrait0.45646.0203.070.5640.253
Ours0.53036.7184.930.5860.285
查看论文原表图像
补充材料 Table 4
补充材料 Table 4。测试集由 1,000 FFHQ face、1,000 LAION face 人体图像提取 OpenPose、1,000 GPT 生成提示词构成,每种算法生成 1,000 张图像。
Ablation

论文如何支持三个模块

定量消融集中在 PATP 与 KV Cache 的延迟;CIL、CMA 与分辨率适应主要由 Figure 5 的视觉对比支持,缺少独立数值表。

移除 CIL

用标准 LoRA 替代条件专用 LoRA,单条件仍可控制,多条件零样本组合失败。证据是 Figure 5 视觉结果;论文没有报告可重复的数值或冲突强度统计。

移除 PATP

控制信号与噪声都固定为 512×512。1024×1024 或 1024×768 推理出现 artifact 与质量下降;效率表显示 single 25.0s、double 36.7s。

移除 CMA

仍能生成图像,但多条件控制发生姿态与物体位置偏移。该结果支持条件间隔离具有作用;现有证据无法区分掩码结构中各条边的独立贡献。

论文 Figure 5:模块消融
原论文 Figure 5。CIL、PATP 与 Causal Mutual Attention 的视觉消融。
Original figures

正文与补充材料图像

以下图像均从 CVF 正式论文及补充材料直接裁取。定量表已经在上文逐行重建。

Figure 3 单条件与 Style LoRA
Figure 3。单条件 Canny / Depth / OpenPose / Subject 对比,以及四种定制 Style LoRA 上的适配。
Figure 4 多条件比较
Figure 4。OpenPose+Face、Subject+Depth、OpenPose+Canny、Depth+Canny 等组合。
Figure 6 私有多视角人体数据
Supplement Figure 6。补充材料展示的 private Multi-view Human Dataset 样例;论文实验主体没有给出该私有数据的规模与划分。
Figure 7 冲突条件与极高分辨率失败
Supplement Figure 7。冲突条件造成重叠 artifact,极高分辨率造成控制能力下降。
Figure 8 身份定制多条件比较
Supplement Figure 8。身份定制方法在 Face + OpenPose 设置下的多条件视觉比较。
Figure 9 空间控制结果
Supplement Figure 9。空间控制生成,包括 Canny、Depth 与 OpenPose。
Figure 10 主体控制结果
Supplement Figure 10。主体控制在不同场景提示词下的身份、质量与文本一致性示例。
Figure 11 不同分辨率比较
Supplement Figure 11。ControlNet、OminiControl 与 EasyControl 在多种输出分辨率下的视觉比较。
Paper vs. implementation

固定提交 6826483 的实现核查

该提交日期为 2025-04-11,包含训练代码、推理管线与缓存实现。后续 Ghibli 风格模型、CFG-Zero 集成和社区节点属于论文之后的扩展,没有用于解释原论文实验设置。

已对应论文的部分

  • 条件 token 经与噪声 token 相同的 FLUX block、norm 与 FFN 处理。
  • 条件 timestep embedding 固定为 0,支持跨 denoising step 缓存。
  • LoRA mask 只选择指定条件块;rank 128。
  • 空间坐标按输出/条件 latent 网格比例缩放。
  • 主体坐标高度偏移 64。
  • 多条件 mask 阻断条件间互读与条件读取去噪。
  • 每次 pipeline 调用开始清空缓存,并在 warm-up 中填充。

实现边界与隐含约束

  • LoRALinearLayer 的 mask 最后一维硬编码为 3072,绑定 FLUX.1-dev hidden width。
  • 条件 token 数按 cond_size // 8 与 packing 常数计算,假设方形、固定 VAE 与 channel packing。
  • 多 LoRA 的加载顺序由 README 要求 subject 在 spatial 前,表明组合语义依赖条件块顺序。
  • 缓存容器没有输入签名;管线之外使用容易产生陈旧缓存。
  • 缓存路径在后续步复用首轮条件 attention 输出,要求条件内部状态也保持恒定。
  • 公开仓库没有论文 Table 1 的独立计时脚本,20/25 步冲突无法用代码复原。

新增参数口径

训练脚本在冻结主干后统计可训练 LoRA 参数,论文 Table 1 明确注明只计算 additional module。15M 表示一个条件模块,30M 表示两个模块的线性相加;FLUX.1-dev 约 12B 主干仍参与每一步去噪计算。

缓存所节省的计算

缓存消除条件分支重复的 Q/K/V、条件自身 attention 与随后的条件状态计算。去噪/文本 query 仍需对拼接后的全部 key 做 attention,因此 KV Cache 没有消除所有随条件 token 数增加的注意力成本。PATP 同时减少每个条件的 token 数,两者配合才形成 Table 1 的延迟下降。

Reviewer commentary

证据支持程度与研究空间

Paper verified

  • 新增条件 LoRA 参数量随条件数从 15M 增至 30M。
  • 固定条件分辨率与 KV Cache 显著降低自身 ablation 的延迟。
  • 四张量化表覆盖单条件 Canny、Depth、Subject 与多条件 Face+OpenPose。
  • 补充材料明确展示冲突条件与极高分辨率失败案例。

Author claim

  • “zero-shot multi-condition generalization”获得定量与视觉支持,但只覆盖有限的两条件组合。
  • “plug-and-play”在四种 Style LoRA 上得到视觉展示,缺少更广泛模型族与强度变化的系统统计。
  • “不损失生成质量”的表述没有缓存启用/禁用的逐指标等价性表。

Our interpretation

  • 核心贡献是把条件表示设计成可缓存的静态子图,再用分支掩码保证这个静态性质。
  • PATP 既提供跨分辨率坐标,也直接减少条件 token;效率收益难以完全归因于位置方法本身。
  • CIL 的隔离选择与 CMA 的分支隔离共同形成多条件组合能力,单独视觉消融不足以估计两者交互。

Strengths

  • 实现简洁,参数增量小,清楚利用 FLUX token 结构。
  • 单条件训练模块可组合,具有实际部署价值。
  • 正式补充材料提供完整定量表、数据设置、算法与失败案例。
  • 缓存与条件时间隔离在代码中具有直接对应关系。

Weaknesses

  • Eq. 2 的矩阵维度与 Eq. 10 的掩码条件存在正式论文错误。
  • Table 1 的 20/25 steps 冲突影响延迟可复现性。
  • 不同 baseline 使用 FLUX、SD1.5 与 SDXL,多条件 Table 4 的基础模型并不统一。
  • 缺少训练时间、数据过滤、随机种子、置信区间与重复试验。
  • 视觉消融多,数值因果隔离有限。

Research extensions

  • 为缓存建立显式 key:condition hash、prompt、guidance、LoRA、分辨率、dtype 与模型版本。
  • 学习可稀疏化的条件路由,在不引入条件间污染的前提下允许受控的条件协商。
  • 用分层条件 token 保留局部细节,根据输出区域自适应增加条件分辨率。
  • 设计跨步近似缓存,量化条件状态允许轻微 timestep 变化时的质量/速度曲线。
  • 在相同 FLUX 主干、相同步数与相同硬件上重新测量各 baseline。
Sources

一手资料与版本边界

  1. CVF ICCV 2025 正式记录:正式题名、作者、会议信息、页码 19513–19524、正文 PDF 与补充材料。
  2. ICCV 2025 正式正文 PDF:12 页,方法、Table 1、Figure 1–5、实验与参考文献。
  3. ICCV 2025 补充材料:8 页,DiT 预备知识、PE offset、训练数据、Table 2–4、Algorithm 1、Figure 6–11、局限。
  4. arXiv v1,2025-03-10:本地归档 PDF 共 23 页,包含早期正文与附录版本。
  5. 官方仓库固定提交 6826483:2025-04-11,核查训练、推理、position IDs、mask、AdaLN、KV Cache 与清理逻辑。

身份核查:正式 PDF 标记 Yuxuan Zhang 与 Yirui Yuan 为共同第一作者,并标记 Jiaming Liu 为通讯作者。正式版第一作者第一机构是 The Chinese University of Hong Kong;arXiv v1 的机构排列与后续 README 展示不同,应以相应版本的 PDF 为准。