Qwen-Image 2.1 Consistency LoRA:让编辑保持画面不偏移
一款面向 Qwen-Image 2.1 的社区 LoRA,让编辑停留在原始画面内:相同的提示词与种子稳定复现,不产生偏移或多余重绘,并附带两个 ComfyUI 工作流。
虚线标记原始画面中某一特征的位置,箭头表示它移动了多远。每一列都使用相同的提示词与种子,在 ComfyUI 中使用 Comfy-Org INT8 Qwen-Image 2.1 权重渲染。
它修复了什么
每一次 Qwen-Image 2.1 编辑都是一次全新的生成,因此模型会重新构图整张画面,而不是只修改你要求的那部分。在全局风格化上,这表现为偏移:腰带低了 40 px,地平线高了 25 px,脸不再与原始对齐。在局部编辑上,这表现为重绘,即编辑区域之外的头发丝、招牌和纹理也被一起重新绘制。
该 LoRA 让编辑发生在原始画面的画幅内。没有触发词。加载它,照常写下编辑指令,改动之外的像素就留在原处。
测量到的偏移
模型卡报告的是从未进入训练集的留出编辑的数据。偏移量是画面最差角落相对原始画面的测量值,风格列将每次渲染与纯 Qwen-Image 2.1 的外观对比,数值越低表示越接近:
| 留出编辑,纯 Qwen 2.1 对比该 LoRA | 无 LoRA | step 1500 | step 2000 |
|---|---|---|---|
| 风格化(36 个):最差角落偏移,中位数 | 24.3 px | 1.6 px | 0.9 px |
| 风格化:最差角落偏移,最差情况 | 61.1 px | 12.9 px | 3.5 px |
| 偏移低于 3 px 的风格化 | 3 % | 75 % | 97 % |
| 风格化(15 个):与纯 Qwen 外观的色彩距离 | 7.0 | 6.3 | 10.9 |
| 重新打光与局部编辑(12 个):最差角落偏移,中位数 | 0.7 px | 0.1 px | 0.1 px |
纯 Qwen-Image 2.1 的两个种子在这套色彩尺度上彼此相差 7.0,因此 step 1500 的风格化看起来与纯 Qwen 的相似程度,正如纯 Qwen 与它自己相似。step 2000 对齐得更紧,但开始改变外观:纸更白,水墨与树胶水彩(gouache)上的颜色更少。
第二组测量的是重绘而非偏移,针对 18 个留出照片的重新上色与移除编辑。每次渲染都先与原始对齐,因此统计的是真正的重绘,而非偏移:
| 被编辑对象之外 | 无 LoRA | step 1500 | step 2000 |
|---|---|---|---|
| 明显变化的像素 | 12.8 % | 7.5 % | 7.5 % |
| 相对原始画面的 PSNR | 27.7 dB | 31.6 dB | 31.7 dB |
作为参考,仅通过 Qwen-Image 2.1 VAE 对一张画面进行编码和解码,就会在 37 dB 下改变约 2% 的像素,因此这就是下限。在所有 18 个案例中,无论有无 LoRA,编辑本身仍然发生了。
来自模型卡的一段并排运行:相同的编辑,有无 LoRA 的对比。
step 1500 还是 step 2000
| 文件 | 说明 |
|---|---|
qwen-image-2.1-consistency.safetensors | step 1500,推荐的起点。保留 Qwen 自身的外观。 |
qwen-image-2.1-consistency-2000.safetensors | step 2000:对齐最紧,但绘画输出会略微偏淡。 |
两者都是 rank 32,并使用 ComfyUI 键名(diffusion_model.transformer_blocks.*),全部 384 个张量都能加载到 Comfy-Org Qwen-Image 2.1 权重上。
在 ComfyUI 中运行
该适配器是仅模型的 LoRA,因此不需要自定义节点。要将其添加到任何 Qwen-Image 2.1 编辑画面:
- 将
.safetensors文件放入ComfyUI/models/loras/,并在模型加载器之后立即添加一个 LoraLoaderModelOnly 节点,强度为 1.0。更低的强度会让部分偏移回来。 - 使用 Text Encode Qwen Image 2.1 节点,将你的画面作为
image_1,resolution为 0,并将编辑指令作为提示词。 - 在编码器的
latent输出上用 KSampler 采样,25 步,CFG 1,euler和simple,denoise 1。任何其他尺寸的 latent 都会让 Qwen 按尺寸比例缩放,这是任何 LoRA 都无法撤销的。 - 用 VAE Decode 解码,然后用 Split Image with Alpha,因为 Qwen-Image 2.1 VAE 解码为 RGBA。
这些数据来自该节点包的 Qwen-Image 2.1 Edit 示例画面。仓库附带两个现成的工作流:
第二个工作流关闭 LoRA,转而使用一个 Realign to Source 节点,将完成的编辑重新与原始对齐,对于需要移动某些元素的编辑来说这是更好的路径。两者都是使用作者的 ComfyUI-AusBoss 节点构建的,但模型卡指出任何等效节点都可以。
训练方式
数据集由真实的 Qwen-Image 2.1 编辑构成,测量偏移并将其从每个目标中去除,使每个训练样本都落在其来源的画幅上:
- 来自 257 张画面的 950 个编辑对:为本数据集用 Qwen-Image 2.1 渲染的 110 张肖像、133 张 Unsplash 照片,以及作者参考文件夹中精心挑选的 14 张画面。
- 配对类型:正向对(画面到编辑)、反向对(编辑回到画面),以及在被编辑对象之外保留原始像素的局部编辑。
- 训练:ostris/ai-toolkit,在 Comfy-Org INT8 ConvRot 基础上使用
arch: qwen_image_2,参考保持在目标尺寸。Rank 32,alpha 32,AdamW8bit,lr 1e-4,批处理 1,shift时间步,目标分辨率 1408。在一块 H100 上训练 3,000 步,每步约 1.9 秒,每 250 步保存一次模型。
局限
模型卡直言这次发布的适用范围有多窄。在 9 月 28 日的更新中,作者写道,数据集可能让 LoRA 在某些类型的编辑上过拟合,并且它可能忽略需要真正移动的请求,例如新姿势或转头。待新数据集整理完成后计划推出 v2,在此之前,对于那些编辑,推荐使用重对齐工作流。
其他已说明的局限:
- 尚未在 4 步或 8 步 turbo LoRA、2 MP 分辨率或 CFG 高于 1 的情况下测试。
- 漫画和动漫风格化会重绘每条轮廓,因此某些形状仍可能自行偏移几个像素。step 1500 下最差的风格化在一个角落偏移了 12.9 px。
- 它让画面保持原位。它不会让弱编辑变强:如果纯 Qwen 根本不做这个编辑,LoRA 也不会改变这一点。
可用性
- LoRA 权重:ausboss/Qwen-Image 2.1 Consistency LoRA
- 基础模型重打包:Comfy-Org/Qwen-Image-2.1
- 作者的节点包:ausboss/ComfyUI-AusBoss
评论
使用 GitHub 登录后即可参与讨论。