Qwen-Image 2.1 Consistency LoRA: ediciones bien encuadradas
Un LoRA comunitario para Qwen-Image 2.1 mantiene las ediciones en el encuadre original: mismo prompt y semilla regresan sin desviación ni repintado, con dos flujos de ComfyUI.
La línea discontinua marca dónde se sitúa un elemento en el original y la flecha muestra cuánto se movió. Mismo prompt y semilla en cada columna, renderizado en ComfyUI sobre los pesos INT8 de Qwen-Image 2.1 de Comfy-Org.
Qué corrige
Cada edición con Qwen-Image 2.1 es una generación nueva, así que el modelo recompone toda la imagen en lugar de cambiar solo la parte que pediste. En un reestilizado global eso se manifiesta como desviación: una cintura 40 px más abajo, un horizonte 25 px más arriba, una cara que ya no se alinea con el original. En una edición local se manifiesta como repintado, donde mechones de pelo, carteles y texturas fuera de la edición se vuelven a dibujar junto con ella.
El LoRA hace que la edición ocurra sobre el encuadre del original. No hay palabra de activación. Cárgalo, escribe la instrucción de edición como siempre y los píxeles fuera del cambio se quedan donde estaban.
Desviación medida
La ficha del modelo reporta las cifras de ediciones de validación que nunca estuvieron en el conjunto de entrenamiento. Los desplazamientos corresponden a la peor esquina de la imagen medida contra el original, y la columna de estilo compara cada render con el aspecto del Qwen-Image 2.1 sin LoRA, donde una distancia menor indica una coincidencia más cercana:
| ediciones de validación, Qwen 2.1 sin LoRA vs el LoRA | sin LoRA | paso 1500 | paso 2000 |
|---|---|---|---|
| reestilizados (36): peor esquina desviada, mediana | 24.3 px | 1.6 px | 0.9 px |
| reestilizados: peor esquina desviada, peor caso | 61.1 px | 12.9 px | 3.5 px |
| reestilizados con menos de 3 px de desviación | 3 % | 75 % | 97 % |
| reestilizados (15): distancia de color vs el aspecto de Qwen sin LoRA | 7.0 | 6.3 | 10.9 |
| reiluminados y ediciones locales (12): peor esquina desviada, mediana | 0.7 px | 0.1 px | 0.1 px |
Dos semillas de Qwen-Image 2.1 sin LoRA difieren entre sí en 7.0 en esa escala de color, así que los reestilizados del paso 1500 se parecen al Qwen sin LoRA tanto como el Qwen sin LoRA se parece a sí mismo. El paso 2000 se alinea con más precisión, pero empieza a cambiar el aspecto: papel más blanco y menos color en tinta y aguada.
Un segundo conjunto mide el repintado en lugar de la desviación, sobre 18 ediciones de recoloreado y eliminación de fotos de validación. Cada render se alinea primero con su original, así que lo que se cuenta es repintado real, no desplazamiento:
| fuera del objeto editado | sin LoRA | paso 1500 | paso 2000 |
|---|---|---|---|
| píxeles que cambiaron de forma notable | 12.8 % | 7.5 % | 7.5 % |
| PSNR contra el original | 27.7 dB | 31.6 dB | 31.7 dB |
Como referencia, codificar y decodificar una imagen solo a través del VAE de Qwen-Image 2.1 cambia alrededor del 2 % de los píxeles a 37 dB, así que ese es el mínimo. La edición en sí siguió ocurriendo en los 18 casos, con y sin el LoRA.
Una ejecución comparativa, lado a lado, de las mismas ediciones con y sin el LoRA, tomada de la ficha del modelo.
¿Paso 1500 o paso 2000?
| archivo | notas |
|---|---|
qwen-image-2.1-consistency.safetensors | paso 1500, el punto de partida recomendado. Conserva el aspecto propio de Qwen. |
qwen-image-2.1-consistency-2000.safetensors | paso 2000: la alineación más precisa, pero las pinturas salen un poco más pálidas. |
Ambos son de rango 32 y usan la nomenclatura de claves de ComfyUI (diffusion_model.transformer_blocks.*), y los 384 tensores se cargan sobre los pesos de Qwen-Image 2.1 de Comfy-Org.
Cómo ejecutarlo en ComfyUI
El adaptador es un LoRA solo de modelo, así que no se necesitan Nodos Personalizados. Para añadirlo a cualquier gráfico de edición de Qwen-Image 2.1:
- Coloca el archivo
.safetensorsenComfyUI/models/loras/y añade un nodo LoraLoaderModelOnly justo después del cargador de modelo con fuerza 1.0. Fuerzas más bajas dejan que parte de la desviación regrese. - Usa un nodo Text Encode Qwen Image 2.1 con tu imagen como
image_1,resolution0 y la instrucción de edición como prompt. - Muestrea sobre la salida
latentdel codificador con KSampler a 25 pasos, CFG 1,eulerysimple, denoise 1. Un latente de cualquier otro tamaño hace que Qwen aplique zoom según la relación de tamaño, algo que ningún LoRA puede deshacer. - Decodifica con Decodificación VAE y después Dividir Imagen con Alfa, ya que el VAE de Qwen-Image 2.1 decodifica en RGBA.
El gráfico de ejemplo Qwen-Image 2.1 Edit del paquete es del que provienen estas cifras. El repositorio incluye dos flujos de trabajo listos para usar:
El segundo flujo de trabajo desactiva el LoRA y en su lugar usa un nodo Realign to Source para alinear de nuevo la edición finalizada con el original, que es el mejor camino para ediciones que necesitan mover algo. Ambos se construyeron con los nodos ComfyUI-AusBoss del autor, pero la ficha señala que cualquier nodo equivalente sirve.
Cómo se entrenó
El conjunto de datos se construye a partir de ediciones reales de Qwen-Image 2.1, con la desviación medida y restada de cada objetivo para que cada ejemplo de entrenamiento quede sobre el encuadre de su fuente:
- 950 pares de edición de 257 imágenes: 110 retratos renderizados con Qwen-Image 2.1 para este conjunto de datos, 133 fotos de Unsplash y 14 imágenes seleccionadas a mano de las carpetas de referencia del autor.
- Tipos de pares: pares directos (imagen a edición), pares inversos (edición de vuelta a imagen) y ediciones locales que conservan los píxeles del original en todo lo que queda fuera del objeto editado.
- Entrenamiento: ostris/ai-toolkit con
arch: qwen_image_2sobre la base INT8 ConvRot de Comfy-Org, con la referencia mantenida al tamaño del objetivo. Rango 32, alpha 32, AdamW8bit con lr 1e-4, lote 1, timesteps conshift, resolución objetivo 1408. 3000 pasos en una H100 tomaron alrededor de 1.9 s por paso, con checkpoints cada 250.
Limitaciones
La ficha es directa sobre lo limitado del lanzamiento. En una actualización del 28 de septiembre, el autor escribe que el conjunto de datos puede haber sobreajustado el LoRA en ciertos tipos de ediciones, y que puede ignorar solicitudes que requieren movimiento real, como una nueva pose o una cabeza girada. Se planea una v2 una vez que se arme un nuevo conjunto de datos y, hasta entonces, el flujo de trabajo de realineación es el camino recomendado para esas ediciones.
Las demás limitaciones declaradas:
- Aún no se ha probado con LoRAs turbo de 4 u 8 pasos, a 2 MP, ni con CFG superior a 1.
- Los reestilizados de cómic y anime redibujan cada contorno, así que algunas formas todavía pueden desplazarse unos pocos píxeles por su cuenta. El peor reestilizado en el paso 1500 se desvió 12.9 px en una esquina.
- Mantiene la imagen en su sitio. No hace más fuerte una edición débil: si el Qwen sin LoRA no realiza la edición en absoluto, el LoRA no cambiará eso.
Disponibilidad
- Pesos del LoRA: ausboss/Qwen-Image 2.1 Consistency LoRA
- Reempaquetado del modelo base: Comfy-Org/Qwen-Image-2.1
- Paquete de Nodos del autor: ausboss/ComfyUI-AusBoss
Comentarios
Inicia sesión con GitHub para unirte a la conversación.