许可协议:apache-2.0
前置模型:
- kandinsky-community/kandinsky-2-1-prior
标签:
- 文本生成图像
- 康定斯基
推理:false
康定斯基2.1
康定斯基2.1继承了Dall-E 2和潜在扩散模型的最佳实践,同时引入了一些新理念。
该模型采用CLIP作为文本与图像编码器,并在CLIP多模态的潜在空间之间建立扩散图像先验(映射)。这一方法提升了模型的视觉表现力,并为图像融合与文本引导的图像操控开辟了新视野。
康定斯基模型由Arseniy Shakhmatov、Anton Razzhigaev、Aleksandr Nikolich、Igor Pavlov、Andrey Kuznetsov和Denis Dimitrov共同创建。
使用指南
康定斯基2.1已集成至diffusers库!
pip install diffusers transformers accelerate
文本引导的图像修复生成
from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image
import torch
import numpy as np
pipe = AutoPipelineForInpainting.from_pretrained("kandinsky-community/kandinsky-2-1-inpaint", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()
prompt = "一顶帽子"
negative_prompt = "低质量,劣质"
original_image = load_image(
"https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png"
)
mask = np.zeros((768, 768), dtype=np.float32)
mask[:250, 250:-250] = 1
image = pipe(prompt=prompt, image=original_image, mask_image=mask).images[0]
image.save("戴帽子的猫.png")

⚠️⚠️⚠️ 康定斯基修复遮罩的重大变更 ⚠️⚠️⚠️
我们在以下拉取请求中对康定斯基修复流程进行了重大调整:https://github.com/huggingface/diffusers/pull/4207。原先采用黑色像素表示遮罩区域的设定与diffusers其他流程不一致,现已统一改为白色像素代表遮罩。
若需适配现有代码,请按以下方式调整遮罩:
import PIL.ImageOps
mask = PIL.ImageOps.invert(mask)
mask = 1 - mask
模型架构
概览
康定斯基2.1是基于unCLIP和潜在扩散的文本条件扩散模型,包含基于Transformer的图像先验模型、UNet扩散模型和解码器。
架构图示如下:左图展示图像先验模型训练流程,中图为文本到图像生成过程,右图演示图像插值。
具体而言,图像先验模型通过预训练的mCLIP模型生成的CLIP文本与图像嵌入进行训练。训练后的先验模型可生成输入文本对应的mCLIP图像嵌入。文本提示与其mCLIP图像嵌入将共同参与扩散过程,最终由MoVQGAN模型将潜在表示解码为实际图像。
细节
图像先验模型基于LAION改进美学数据集训练,并在LAION高清数据上微调。
主文本到图像扩散模型基于LAION高清数据集的1.7亿文本-图像对训练(关键条件是图像分辨率≥768x768)。保留康定斯基2.0的UNet扩散模块使得无需从头训练。微调阶段额外使用了从公开渠道收集的200万超高分辨率优质图像数据集(含COYO、动漫、俄罗斯地标等)。
评估
我们在COCO_30k数据集上以零样本模式量化评估康定斯基2.1性能,下表展示FID指标:
模型 |
FID(30k) |
eDiff-I (2022) |
6.95 |
Image (2022) |
7.27 |
康定斯基2.1 (2023) |
8.21 |
Stable Diffusion 2.1 (2022) |
8.59 |
GigaGAN, 512x512 (2023) |
9.09 |
DALL-E 2 (2022) |
10.39 |
GLIDE (2022) |
12.24 |
康定斯基1.0 (2022) |
15.40 |
DALL-E (2021) |
17.89 |
康定斯基2.0 (2022) |
20.00 |
GLIGEN (2022) |
21.04 |
更多信息请参阅即将发布的技术报告。
引用格式
若本研究对您有所助益,请引用:
@misc{康定斯基2.1,
title = {康定斯基2.1},
author = {Arseniy Shakhmatov, Anton Razzhigaev, Aleksandr Nikolich, Vladimir Arkhipkin, Igor Pavlov, Andrey Kuznetsov, Denis Dimitrov},
year = {2023},
howpublished = {},
}