项目介绍:t2i-adapter-canny-sdxl-1.0
t2i-adapter-canny-sdxl-1.0 是一个为稳定扩散模型(Stable Diffusion)提供附加条件输入的网络版本。该项目由腾讯 ARC 和 Hugging Face 共同开发,采用 Canny 边缘检测的条件输入来增强模型的控制能力。
项目背景
T2I Adapter 是一个能为文本到图像扩散模型(Text-to-Image Diffusion Models)提供更多可控能力的学习适配器。该适配器构建在稳定扩散基础之上,可根据不同的训练点输入不同类型的条件信息,以实现高质量的图像生成。
模型详情
模型参数如下表所示:
参数 | SD-V1.4/1.5 | SD-XL | T2I-Adapter | T2I-Adapter-SDXL |
---|---|---|---|---|
参数量 | 860M | 2.6B | 77 M | 77/79 M |
检查点
该项目提供了不同的训练点用于图像控制条件的生成,包括:
- Canny 边缘检测:用于此项目的主要条件输入,生成白色边缘的黑白图像,示例图点此查看
此外,还有其他类型的条件输入,如手绘素描、线条艺术、深度估测和骨骼图等,每种都有其独特的图像示例。
用例示例
要开始使用 t2i-adapter-canny-sdxl-1.0,首先需要安装必要的依赖项:
pip install -U git+https://github.com/huggingface/diffusers.git
pip install -U controlnet_aux==0.0.7
pip install transformers accelerate safetensors
通过加载适配器和其他相关组件进行图像生成:
from diffusers import StableDiffusionXLAdapterPipeline, T2IAdapter, EulerAncestralDiscreteScheduler, AutoencoderKL
import torch
adapter = T2IAdapter.from_pretrained("TencentARC/t2i-adapter-canny-sdxl-1.0", torch_dtype=torch.float16).to("cuda")
#...代码省略...
利用 Canny 边缘检测实现的条件输入,在给定的图像和文本提示下生成新的图像,最后将生成的图像保存为 out_canny.png
。
模型训练
该模型在 LAION-Aesthetics V2 数据集上训练,包含 300 万对高分辨率的图像文本配对,训练参数包括:
- 训练步骤:20000
- 批次大小:单 GPU
16
,总批次256
- 学习率:
1e-5
- 混合精度:fp16
这套系统通过灵活的图像条件输入和深度学习方案,为用户提供了强大的图像生成能力和创意支撑。