Qwen-Image
扫码查看

生成和编辑带有文字的图片并支持多种语言的图像生成模型

Qwen-Image

综合介绍

Qwen-Image 是一个由阿里巴巴Qwen团队开发的开源图像生成基础模型. 这个模型的主要特点是能够根据用户输入的文字提示,生成高质量的图片,并且在图片中精确地渲染出复杂的文字内容,包括中文和英文. 它不仅支持常见的图像生成,还具备强大的图像编辑功能,比如修改图片的风格、添加或移除物体、增强图片细节等.

为了实现高水平的文字渲染效果,开发团队收集和处理了大量的数据,并采用了一种渐进式的训练方法,让模型从简单的文本开始学习,逐步掌握处理复杂段落描述的能力. 同时,为了确保在编辑图片时能够保持内容的一致性和视觉上的真实感,Qwen-Image使用了一种改进的多任务训练方法.

这个模型在多个公开的图像生成和编辑能力评测中,表现都超过了现有的一些模型,尤其是在中文文字生成方面,效果非常突出. Qwen-Image 不仅仅是一个能生成漂亮图片的工具,它还能理解图像内容,支持物体检测、背景分割、景深和边缘检测等多种图像理解任务. 这些功能让它成为一个在视觉内容创作和处理方面非常全面的基础模型.

功能列表

  • 高质量文本渲染: 能够在生成的图片中清晰、准确地展示中英文文字,并且支持多行、段落等复杂排版.
  • 多种艺术风格: 支持生成多种风格的图片,包括写实照片、印象派绘画、动漫美学和简约设计等.
  • 强大的图像编辑: 用户可以对图片进行多种高级操作,例如转换图片风格、插入或删除物体、增强细节、修改图片中的文字,甚至调整人物姿态.
  • 图像理解能力: 模型不仅能创作和编辑图片,还能理解图片内容,支持物体检测、语义分割、深度和边缘(Canny)估计、新视角合成和超分辨率等任务.
  • 多样的长宽比: 支持生成包括1:116:99:164:33:43:22:3在内的多种图片尺寸.
  • 提示词优化: 内置了由Qwen-Plus驱动的提示词增强工具,可以优化用户输入的描述,并支持多种语言.
  • 开源和社区支持: Qwen-Image是一个开源项目,在Hugging Face和ModelScope等平台上都可以找到它的代码和模型权重,并且得到了Diffusers、ComfyUI等多个社区工具的支持.

使用帮助

要开始使用Qwen-Image,你需要先确保电脑上安装了Python环境和相关的软件包。

环境准备

首先,你需要一个比较新的transformers库版本,因为它包含了对Qwen2.5-VL的支持。同时,也需要安装最新版本的diffusers库。

你可以通过下面的命令来安装:

pip install git+https://github.com/huggingface/diffusers
```另外,请确保你的`transformers`库版本不低于`4.51.3`。
### **基本使用方法**
下面是一段Python代码,展示了如何使用Qwen-Image根据文字提示来生成一张图片。
1. **导入必要的库**:
首先需要从`diffusers`库中导入`DiffusionPipeline`,并导入`torch`库用于处理张量和设备选择。
```python
from diffusers import DiffusionPipeline
import torch
  1. 加载模型:你需要指定模型的名称(Qwen/Qwen-Image),然后根据你的硬件条件(是否支持CUDA)来加载模型。如果有NVIDIA显卡,建议使用bfloat16精度以获得更好的性能。
model_name = "Qwen/Qwen-Image"
if torch.cuda.is_available():
torch_dtype = torch.bfloat16
device = "cuda"
else:
torch_dtype = torch.float32
device = "cpu"
pipe = DiffusionPipeline.from_pretrained(model_name, torch_dtype=torch_dtype)
pipe = pipe.to(device)
  1. 准备提示词:为了让生成的图片效果更好,官方建议在你的提示词后面加上一些“魔法咒语”(positive magic)。这些咒语针对中英文有不同的版本。
positive_magic = {
"en": "Ultra HD, 4K, cinematic composition.",
"zh": "超清,4K,电影级构图"
}

接下来,你可以编写你的核心提示词。例如,我们想生成一个咖啡店门口的场景,上面有各种文字信息。

prompt = '''一家咖啡店的入口处有一个黑板招牌,上面写着“Qwen Coffee 😊 每杯2美元”,旁边有一个霓虹灯,上面写着“通义千问”。旁边挂着一张海报,上面是一位美丽的中国女性,海报下面写着“π≈3.1415926-53589793-23846264-33832795-02384197”。'''

如果你不想使用负面提示词(用来描述不希望出现在图片中的内容),建议留一个空格。

negative_prompt = " "
  1. 设置图片尺寸并生成图片:Qwen-Image支持多种常见的图片长宽比。你可以根据需要选择一个。
aspect_ratios = {
"1:1": (1328, 1328),
"16:9": (1664, 928),
"9:16": (928, 1664),
"4:3": (1472, 1104),
"3:4": (1104, 1472),
"3:2": (1584, 1056),
"2:3": (1056, 1584),
}
width, height = aspect_ratios["16:9"] # 选择16:9的尺寸

最后,调用pipe函数,将所有参数传入,即可生成图片。这里我们使用了torch.Generator来设置一个随机种子,这样可以保证每次生成的图片都是一样的,方便调试。

image = pipe(
prompt=prompt + positive_magic["zh"], # 将核心提示词和中文魔法咒语结合
negative_prompt=negative_prompt,
width=width,
height=height,
num_inference_steps=50,
true_cfg_scale=4.0,
generator=torch.Generator(device="cuda").manual_seed(42)
).images[0]
  1. 保存图片:生成的图片对象可以使用save方法保存到本地。
image.save("example.png")

高级用法:提示词增强

为了获得更好的生成效果,你可以使用官方提供的提示词增强工具。这个工具需要一个DashScope的API密钥。

你可以直接在代码中调用这个工具:

from tools.prompt_utils import rewrite
prompt = rewrite(prompt)

或者,你也可以通过命令行来运行示例脚本,记得先把你的API密钥设置为环境变量:```bashcd srcDASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx python examples/generate_w_prompt_enhance.py

### **本地部署**
如果你想在本地部署一个可以多人使用的服务,Qwen-Image支持一个多GPU的API服务器。这个服务器提供一个基于Gradio的网页界面,并支持多GPU并行处理和任务排队等功能。
部署前,你可以通过环境变量来配置服务器:
```bash
export NUM_GPUS_TO_USE=4      # 设置使用的GPU数量
export TASK_QUEUE_SIZE=100    # 设置任务队列大小
export TASK_TIMEOUT=300       # 设置任务超时时间(秒)

然后运行下面的命令来启动服务:

cd src
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxx python examples/demo.py

应用场景

  1. 内容创作和市场营销可以快速生成带有宣传语、产品名称和价格等信息的广告海报、社交媒体图片和博客文章配图。对于需要制作大量图文并茂内容的营销人员和自媒体作者来说,这是一个非常高效的工具。
  2. 产品设计和原型制作设计师可以在产品原型中快速加入带有文字的用户界面元素、图标和说明,或者根据设计概念生成不同风格的视觉稿,从而加速设计和迭代过程。
  3. 教育和研究在制作课件或研究报告时,可以利用Qwen-Image生成带有公式、图表标题、代码片段或专业术语解释的插图,让复杂的知识和数据更容易被理解。
  4. 娱乐和个性化定制普通用户可以用它来制作有趣的梗图、带有特定文字的壁纸、个性化贺卡或者社交网络头像,为个人表达增添更多创意和乐趣。

QA

  1. Qwen-Image和其他AI绘画工具有什么不同?Qwen-Image最大的特点是它在图片中渲染文字的能力非常强,尤其擅长处理中文字符,可以生成包含复杂排版和长段落文字的清晰图像。 此外,它不仅能生成图片,还集成了强大的图像编辑和理解功能,是一个更全面的视觉内容处理平台。
  2. 使用Qwen-Image需要付费吗?Qwen-Image本身是开源的,遵循Apache 2.0许可证,你可以免费下载和使用它的代码和模型。 但是,如果你使用官方提供的提示词增强工具,可能需要DashScope的API密钥,这可能会产生费用。
  3. 我需要什么样的电脑才能运行Qwen-Image?由于Qwen-Image是一个拥有200亿参数的大模型,它对硬件的要求比较高。 为了获得较好的体验,官方建议在配备有NVIDIA显卡的电脑上运行,并使用CUDA进行加速。虽然它也支持CPU运行,但速度会慢很多。社区也提供了一些优化方案,比如在4GB显存内运行的低内存模式。
微信微博Email复制链接