大家好,我是 Ai 学习的老章
通义千问团队最近放了个大招——Qwen-Image-Layered,一个可以把普通图片分解成多个 RGBA 图层的模型。这玩意儿干嘛的?简单说,就是把设计师在 Photoshop 里手动拆图层的活儿,交给 AI 自动干了。更重要的是,完全开源,Apache 2.0 协议,可以放心用!
简介
我们知道,现在的 AI 图像生成和编辑模型有个很烦人的问题:图片是「打成一片」的。你想改个背景,结果人脸也跟着变了;想调整前景位置,背景也跟着歪了。这就是「栅格图像纠缠问题」——所有内容都融在一张画布上,牵一发而动全身。
而设计师们用的专业工具(比如 Photoshop)早就解决了这个问题——用图层!每个元素单独一层,想改哪个改哪个,互不干扰。Qwen-Image-Layered 就是把这个专业工作流 AI 化了。
核心功能与特点:
原生 RGBA 图层分解:输入一张普通图片,输出物理隔离的多个 RGBA 透明图层,每层可独立编辑 可变图层数量:支持 3-10 层任意指定,从粗略布局到细粒度细节都能搞定 无限递归分解:任意图层都可以继续往下拆,支持无限深度的层层嵌套 多格式导出:支持导出为 PPTX、ZIP 和 PSD 格式,方便在各种设计软件中编辑 端到端扩散模型:基于改进的 MMDiT 架构,一次生成完成分解
技术上,Qwen-Image-Layered 引入了三个核心组件:
RGBA-VAE:统一 RGB 和 RGBA 图像的潜在表示 VLD-MMDiT:可变层数分解架构,能处理不同数量的图层输出 多阶段训练策略:从预训练模型微调成图层分解器
数据方面也很有意思——团队直接从 PSD 源文件中提取和标注多层图像数据,这比合成数据质量高太多了。
安装
确保你的 transformers >= 4.51.3(支持 Qwen2.5-VL),然后安装最新版 diffusers:
pip install git+https://github.com/huggingface/diffusers
pip install python-pptx
pip install psd-tools
使用
快速上手非常简单,几行代码搞定:
from diffusers import QwenImageLayeredPipeline
import torch
from PIL import Image
pipeline = QwenImageLayeredPipeline.from_pretrained("Qwen/Qwen-Image-Layered")
pipeline = pipeline.to("cuda", torch.bfloat16)
pipeline.set_progress_bar_config(disable=None)
image = Image.open("test.png").convert("RGBA")
inputs = {
"image": image,
"generator": torch.Generator(device='cuda').manual_seed(777),
"true_cfg_scale": 4.0,
"negative_prompt": " ",
"num_inference_steps": 50,
"num_images_per_prompt": 1,
"layers": 4, # 指定分解成 4 层
"resolution": 640, # 推荐使用 640 分辨率
"cfg_normalize": True,
"use_en_prompt": True, # 自动生成英文描述
}
with torch.inference_mode():
output = pipeline(**inputs)
output_image = output.images[0]
for i, image in enumerate(output_image):
image.save(f"{i}.png")
参数说明:
layers:指定分解成几层,支持 3-10 层resolution:推荐用 640,也支持 1024文本提示用于描述整张图的内容(包括被遮挡的部分),不是用来控制单个图层内容的
项目还提供了 Gradio Web 界面,可以直接体验分解和编辑:
# 启动图层分解界面
python src/app.py
# 启动单层编辑界面(配合 Qwen-Image-Edit)
python src/tool/edit_rgba_image.py
# 合并编辑后的图层
python src/tool/combine_layers.py
另外,vLLM-Omni 已经支持 Qwen-Image-Layered 的部署,生产环境可以直接用,我直接详细介绍过:
实际效果展示
分解完图层后,编辑就变得极其丝滑了:
改颜色不影响其他内容:
替换人物(配合 Qwen-Image-Edit):
修改文字:
删除不想要的物体:
无损缩放和移动:
这些操作在传统的图像编辑模型里都是「炼丹」级别的难度,现在直接变成了简单的图层操作!
个人看法
说实话,看到这个项目的时候我眼前一亮。之前各种 inpainting、image editing 模型,本质上都是在「猜」编辑后应该长什么样,一致性问题一直是老大难。而 Qwen-Image-Layered 换了个思路——先把图拆开,再让你自己编辑单层,最后合回去。这不就是设计师的标准工作流吗?
优点:
开源诚意足:Apache 2.0 协议,代码和权重全开放 思路新颖:把「编辑」问题转化为「分解+重组」问题,从根本上保证了编辑一致性 实用性强:支持导出 PSD,可以无缝衔接到设计师的工作流 部署友好:vLLM-Omni 已支持,生产环境能用
局限:
目前权重主要针对「图像转多层 RGBA」任务微调,虽然支持文本条件,但「文本直接生成多层图像」的效果有限 显存需求应该不低(用的是 bfloat16 精度) 分解质量依赖于输入图像的内容结构
这个项目对于需要做图像编辑、图像合成、广告素材制作的场景来说,绝对值得一试。配合 Qwen-Image-Edit 一起用,基本上就是个开源的「AI 版 Photoshop」的雏形了。
资源汇总
🤗 Hugging Face:https:///Qwen/Qwen-Image-Layered 🧩 ModelScope:https:///models/Qwen/Qwen-Image-Layered 💻 GitHub:https://github.com/QwenLM/Qwen-Image-Layered 📝 博客:https:///blog?id=qwen-image-layered 📄 技术报告:https:///abs/2512.15603 🚀 Demo(HF):https:///spaces/Qwen/Qwen-Image-Layered 🚀 Demo(ModelScope):https:///studios/Qwen/Qwen-Image-Layered
制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个🌟,谢谢你看我的文章,我们下篇再见!