LayerEditor:图像编辑能一次生成改好图、又留下可编辑图层吗?

速览

现有编辑模型只交一张扁平图,可复用的图层只能事后补拆

LayerEditor 把「按指令编辑一张图」和「产出一摞可复用的 RGBA 图层栈」合并进了同一次前向。它把任务写成 $(\mathcal{D},\mathcal{S})=G(I_{\text{src}},u,N)$:给定源图、自然语言编辑指令与请求层数,模型一次给出编辑后的画布 $\mathcal{D}$,以及由 $N$ 个 RGBA 图层组成、按由后到前排序的层栈 $\mathcal{S}$。这是 arXiv 2610.24738《Editing Images into Reusable Layers via Compositional Edit-Prior Distillation》在 2026-10-17 提交的预印本,也是本文要解剖的主角 LayerEditor。

问题的根源不是编辑质量,而是输出形态。论文的批评是:现有编辑模型把文本、物体与背景融合进单张扁平画布,难以精细操作局部、难以插入用户提供的新元素;后续修改必须重复生成,既增加开销,又可能误改无关区域并产生边界伪影。分解模型则在编辑之后才恢复图层,不与请求的编辑联合优化,结果是「即使视觉上合理的编辑,也可能产生不完整或组织混乱、难以复用的图层」。两条路线各自优化,谁也不为对方的产物负责。

这个思路并不是从零开始。LASAGNA 已经把背景与带透明度的前景(含阴影、反射等视觉效果)放进同一条序列联合生成,但它固定为两层,而且它的「编辑」发生在用户侧的 alpha 合成,不需要模型再推理 LASAGNA。Qwen-Image-Layered 走的是纯分解:输入一张扁平图,输出语义解耦的 RGBA 层栈,它不做指令驱动的编辑 QIL。图层化早有价值,LayerEditor 的增量是把指令编辑接进这条路,并把画布与多层栈收进同一次生成。

图注:四个横向分栏。Source 与 Edited Result 是常规的扁平编辑;Predicted Layers 给出六张以棋盘格底表示透明的层片,标注 Background、Outer lines、Objects、Title、Text、Decorations;最后一栏把层叠回后做两次独立操作,Translate 翻译文字层,Restyle 把背景改成蓝色 LayerEditor。

差别就在最后两栏:扁平输出只有一张成品图,而这里每个语义角色各自成层,改文字和改背景互不干扰。

把编辑画布与有序 RGBA 图层栈排进同一条 token 序列,一次去噪就能全出

一次前向能同时产出编辑画布和图层栈,靠的是把「谁是谁」编码进坐标。骨架叫 In-Context RGB-Alpha Token Modeling。这里的 In-Context 指的是把画布与图层字段排进同一条 token 序列联合去噪,与 in-context learning 没有任何关系。在噪声级别 $\sigma_t$ 下,联合潜状态写成 $Z_t=[z_t^{\mathcal{D}},z_t^{R_0},z_t^{A_0},\dots,z_t^{R_{N-1}},z_t^{A_{N-1}}]$,字段顺序固定为 Direct 画布在最前、之后每层的 RGB 与 Alpha 交替排列;所有字段都由高斯噪声初始化,在同一条序列里联合去噪,由同一套注意力同时承载画布与层栈,从而捕获跨层依赖与外观、透明度之间的相互作用。

让同一张画布上的不同字段互不串味的是 layer-aware 旋转坐标 $(s,x,y)$。整数 $s$ 同时记住字段身份与堆叠顺序,$(x,y)$ 保留空间对应关系,取值规则只有四条。

字段$s$
源图 token−1
编辑画布 Direct0
第 $i$ 层 RGB$2i+1$
第 $i$ 层 Alpha$2i+2$

因为 $s$ 是整数,层数变化不需要改架构:第 $i$ 层的两个字段各自按公式算出坐标,模型只需在序列里多排几对字段。论文自称这一设计「构建于基于序列的分层生成之上」,把外观与不透明度表示为彼此区分、又能交互的两个字段。

讲解:一条序列里,s 坐标区分画布与各层

透明度则交给一个专门训练后冻结的独立 Alpha 解码器。它是一个单通道 alpha-logit 头,权重初始化为 0、偏置为 −3.5,$A_i=\sigma(g_\phi(z_i^A))$;训练时 alpha 图被复制到三通道、缩放到 $[-1,1]$ 后由冻结的 VAE 编码,解码时只用 Alpha 潜变量,既不接 RGB 特征,也不用边界框掩码。论文给的理由是保住预训练 RGB 通路,同时把透明度重建专门化到细结构与半透明边界上。

对照来看,Qwen-Image-Layered 选择的是另一条表征路线:把 RGB 与 Alpha 压进同一张四通道潜图,用层维位置编码区分「平面」(条件输入图固定为 −1,目标层从 0 起)。代价是层维只索引平面,同一层里 RGB 与 Alpha 不再各有坐标 QIL。LayerEditor 选的是字段分离加独立 Alpha 解码器。整条流水线的骨干是 FireRed-Image-Edit-1.1 的 DiT,用 rank-256 LoRA 适配,图像编码器、文本编码器与预训练 RGB 解码器全部冻结 FireRed。

图注:左半是骨干与联合序列:指令与源图分别经冻结的 text encoder、RGB VAE Encoder 进入 MMDiT 加 LoRA,蓝色框按 Direct、RGB₀、Alpha₀ 的顺序列出联合噪声潜变量,顶端两个解码器分别解出编辑结果与带棋盘格透明的图层。右半红框是蒸馏流程,冻结的 Teacher 与 Student 沿轨迹推进,在 Query at t 处被查询 LayerEditor。

分层改造会让预训练编辑能力退化,于是让冻结教师在学生自己的去噪轨迹上监督

分层输出本身会让预训练编辑模型忘掉怎么编辑。论文观察到,直接把预训练编辑模型扩展到分层输出会出现文字损坏、结构畸变、周边内容被意外改动。C-EPD(Compositional Edit-Prior Distillation)的解法不是拿教师输出当标签,而是在学生自己走过的去噪状态上追问那个被冻结的教师。

理解这一步需要先知道在策略蒸馏(on-policy distillation)的基本动作。论文自述 C-EPD 沿用了 DiffusionOPD 的做法:教师在学生自己 rollout 的中间状态被查询,返回的是该状态上的目标而不是一条现成标签,每一步都有闭式监督可以直接反传 DiffusionOPD。DiffusionOPD 的两阶段配方是先为每个任务独立训练教师,再沿学生 rollout 蒸馏;但它的收益结论来自多任务 RL 场景,与本篇的单一编辑任务只有机制共享,没有结论共享。

落到 LayerEditor 上,查询点选在学生去噪轨迹被 detach 的中间状态 $\bar Z_q$,对应某个噪声级别 $\sigma_q$。学生在这个状态上带梯度重算 Direct、RGB、Alpha 三类速度;教师拿到同一个 Direct 潜变量、同一张源图和同一条指令,预测自己的 Direct 速度 $v^{\mathcal{D}}_{q,T}$。两类监督由此分出。

$$\mathcal{L}{\text{CEPD}}=\mathbb{E}{q}\Big[\tfrac{1}{d_{\mathcal{D}}}\big|v^{\mathcal{D}}{q,S}-\mathrm{sg}(v^{\mathcal{D}}{q,T})\big|2^2+\tfrac{\lambda{\mathcal{S}}}{d_{\mathcal{C}}}\big|\hat{\mathcal{C}}_S-\mathcal{I}_T\big|_2^2\Big]$$

第一项把学生的 Direct 速度对齐冻结教师,作用是保住画布上的编辑能力。第二项在像素空间比较:把每个图层字段的局部 clean 估计解码回像素,从白底出发按由后往前的顺序做 alpha 合成得到 $\hat{\mathcal{C}}_S$,再与教师的目标 $\mathcal{I}_T$ 比较;合成结果不再重新编码,梯度要穿过学生侧的解码与 alpha 合成回流到图层分支。这一项解决的是另一件事,它把同一份编辑先验迁移到「由预测图层重新合成出来的图像」上,也就是让图层分支自己知道什么样的分层结果能拼回一张编辑正确的图。

讲解:教师在学生自己的去噪轨迹上监督

这套机制有一处论文自己点明的近似:重合成依赖对 clean latent 的局部估计,做法是用 $\hat z_{0|q}^{X}=\bar z_q^{X}-\sigma_q v_{q,S}^{X}$ 在查询点就地推算,教师目标也只是局部的 clean 预测,而不是一次完整去噪得到的样本。论文的原话是「The approximation lies in the local clean estimates」。另一个诚实的缺口在消融上:作者没有提供匹配的离线对照,因此无法把「在策略查询这个选择」与「教师监督本身」的贡献分开。训练时 C-EPD 每 5 次更新才启用一次,其余更新只用 flow matching;推理阶段只有一条去噪轨迹,不调用教师。

图注:标题为 Algorithm 1: DiffusionOPD 的两栏伪代码。左栏 Stage 1 对每个任务独立训练教师;右栏 Stage 2 的循环里先用 no_grad 展开当前学生得到在策略轨迹,随即用教师计算任务损失,累加后才做一次反向传播。教师查询就发生在学生自己走过的状态上 DiffusionOPD。

自建 10 万条带图层标注的编辑对,才让「改好图」和「图层重合成」两关同时过关

评测被拆成两关,LayerEditor 的优势主要落在第二关上。Direct 指标比较导出的编辑画布与目标,Composite 指标比较目标与由导出图层按生成顺序在白底上重算得到的合成图。两关分开的必要性在于,一张画布可以单独画得很像目标,而它的图层栈重新叠回去却未必还原得了同一张图。

数据侧,LayerEditor-100K 含 100,000 条被接受的编辑对,来源为 Crello、PrismLayersPro 与 ScaleEdit,其中 48,329 条文字编辑、36,858 条物体编辑、14,813 条海报级外观编辑,每条目标含 2 到 10 层。两条构造路线并行:Route A 直接使用原生分层设计,把素材归并成有序层后规划编辑,版式移动与删除走确定性处理,文字重绘与物体替换才用生成式编辑;Route B 从扁平编辑对恢复图层,先筛选出高质量且适合分层的源图对,由 planner 提议层角色与粒度,再让 QIL 与 Seedream5-Pro 出候选分解,排序修正并做最多两轮局部修正后整栈复审。两条路线共享同一套五项质检才导出。

图注:三条横向泳道。Route A 从原生设计素材归并画布、规划文字与物体编辑,最后渲染出 2 到 10 层的有序 RGBA 目标;Route B 从源图与目标图对做质量筛选与逐层合成计划,生成候选后排序修正。底部泳道是两条路线共享的五项统一检查,通过后汇入 LayerEditor-100K LayerEditor。

上游必须分开看:ScaleEdit 提供的是「源图 + 指令 + 编辑图」的扁平三元组,不含任何图层或透明度标注 ScaleEdit;PrismLayersPro 一侧才是原生带 alpha 的多层透明设计素材 PrismLayers。把平面结果加工成分层结果的那一步是 LayerEditor 自己做的工作。

评测集与训练数据严格不相交:Crello-Testset 有 2,994 个文档,ScaleEdit-Testset 有 1,000 个文档;另有合并两者的池化设置(3,994 个源文档)用来做层数控制与指令控制,以及 1,171 例纯分解。图层匹配用匈牙利法最大化 alpha 支撑集在 0.05 阈值下的 IoU 总和,不设接受阈值,未被指派的层按各自原始层序配对,数量不等时用零 RGBA 占位。RGBA L1 直接比较未预乘的 RGB 与 Alpha 数组,连续 Alpha IoU 取逐像素 min 与 max 之和的比值,另有一组由单一 Gemini-3.1-Pro 给出的五维 1 到 10 分 rubric。

这套协议必须自建,因为现成的编辑 benchmark 量不出第二关。指令编辑的综述把该方向形式化为「输入源图与文本指令、输出一张编辑后的图像」,被它综述的 70 余项工作都严格遵循这一设定,21 个任务里没有一个以多层或透明图层输出为目标,最接近的 Extraction 也只是把目标对象抠到干净背景上变成一张扁平图 IIE Survey。

最关键的一组读数是 Direct 与 Composite 之间的落差。

ScaleEdit-Testset(1,000 文档)Direct SSIMComposite SSIM相对掉幅
Seedream5-Pro (Seq.)0.89330.7901−11.6%
LayerEditor0.89250.8839−1.0%

Seedream5-Pro 的序列式模式在 Direct 指标上更高,画布单独看几乎打平,但它的图层栈重新合成后与目标的相似度掉了 11.6%,LayerEditor 只掉 1.0%。这个差距说明后者产出的是「能装回去」的图层,而不只是「看起来还行」的图层。在同一测试集上,LayerEditor 的 Composite SSIM 0.8839、Composite FID 39.48、RGBA L1 0.0515 与 Alpha IoU 0.6802 均为最优。

Crello-Testset 上的读数方向一致:LayerEditor 的 Composite SSIM 0.8351、Composite FID 33.86、RGBA L1 0.0350、Alpha IoU 0.6074 与 rubric 五维均为最优,Direct SSIM 0.8530 是次优。rubric 五维均分 6.00,高于最高的基线 4.50。按 alpha 支撑面积低于画布 0.1% 判定的空层,在 LayerEditor 的全部预测层里占 1.02%,Seedream5-Pro (Seq.) 为 10.37%。纯分解设置上,它的 Composite SSIM 0.8761 对 Qwen-Image-Layered 的 0.7963。消融里去掉 C-EPD 会让编辑一致性从 6.14 降到 4.67、图层分割从 6.83 降到 5.01;只保留两项监督中的任一项,相对完全去掉 C-EPD 会提升编辑一致性,却拉低视觉质量与图层分割并增大 RGBA L1,两项合用才在四个指标上同时改善。

这些数字的边界要一起读。它们是作者自测、在自建 benchmark 上得到、未经独立复现。可用性子集也不完全对齐:Seedream5-Pro 在 Crello 有 5 个文档因平台与版权限制没有输出,其指标基于 2,989 个文档。对比里还混着别的路线,RevealLayer 是用户先给框的遮挡感知分解 RevealLayer,LayerD 则迭代抽取顶层并补全背景,anchor 复现时按请求层数反复调用分解 LayerD。这些基线只按层数分解、不接收层内容描述,所以整张表是系统级比较,不隔离「联合建模」与「编辑数据适配」各自的贡献;两套 benchmark 的口径也不同,分数不可跨表排名。

它把两条既有路线合到一起,但十层上限、半透明边界与「文字仍是栅格」都还留着

LayerEditor 的定位是做统一,不是发明新的图层表征或新的评测指标。它真正打开的是「一次生成同时拿到编辑结果和可复用图层」这个动作,因此适合需要反复局部修改的设计类场景;至于层数很大、边界半透明或要求无损重建的场景,论文自己没有给出能用的证据。

作者在附录 E 里把边界列得很直白:训练与评测最多十层 RGBA,更大的层栈未探索;细结构与半透明边界在图层移动或重合成时仍会产生伪影;文字仍是栅格,没有被表示为可编辑的字体或矢量图元;当前结果未证明无损的源图重建,也未证明无伪影的下游复用。评测层面,定量指标只覆盖已评测版式下的图层隔离、不透明度与重合成,没有系统测试图层操作之后的重建;rubric 分数未与人工评分对齐;编辑先验的保持只在自建 benchmark 上评测,而非独立的通用编辑测试;自动构造的标注与模型化评估本身也可能带偏。

数据分布是更长远的一层限制。LayerEditor-100K 以设计图与海报为主,而 LiWi 把「野外真实照片的分层」单独立题,其数据最多 5 层、89% 是两层,并指出真实图像无法仅靠堆叠 RGBA 图层完全解释,投影阴影、接触暗化、反射与软边界这些光度痕迹必须显式建模 LiWi。另一条路线上,MRT 也自述仅在平面设计语料上训练,真实照片里的阴影常被留在背景层 MRT。从海报迁移到相片的难度,不是把数据量堆大就能解决的。

落到选择上:输入偏设计域、层数在十层以内、且工作流里确实要反复改同一个元素时,图层化编辑拿出了目前最直接的证据;输入是自然照片、层结构复杂、或者下游要求像素级无损时,扁平编辑加事后分解仍是更稳妥的路线。这篇论文把两条既有路线接了起来,剩下的问题更多落在数据域和层结构本身。

想深入可以读原文:Editing Images into Reusable Layers via Compositional Edit-Prior Distillation — arXiv:2610.24738

参考文献

LayerEditor:图像编辑能一次生成改好图、又留下可编辑图层吗?