项目介绍:kandinsky-2-2-decoder-inpaint
背景介绍
Kandinsky 2.2 是一个创新的模型,它从 Dall-E 2 和潜在扩散中汲取最佳实践,同时引入了一些新思想。这个项目使用 CLIP 模型作为文本和图像的编码器,并通过在 CLIP 模态的潜在空间之间引入扩散图像先验(映射),提高了模型的视觉表现。这种方法拓展了图像和基于文本引导的图像操作的可能性。
项目创建者
Kandinsky 模型由 Arseniy Shakhmatov、Anton Razzhigaev、Aleksandr Nikolich、Igor Pavlov、Andrey Kuznetsov 和 Denis Dimitrov 创立。
使用方法
Kandinsky 2.2 已在 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-2-decoder-inpaint", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()
prompt = "a hat"
init_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)
# Let's mask out an area above the cat's head
mask[:250, 250:-250] = 1
out = pipe(
prompt=prompt,
image=init_image,
mask_image=mask,
height=768,
width=768,
num_inference_steps=150,
)
image = out.images[0]
image.save("cat_with_hat.png")
图像泛化
对于更复杂的图像处理需求,Kandinsky 提供了文本和图像混合的新维度。
模型架构
Kandinsky 2.1 是一个基于 unCLIP 和潜在扩散的文本条件扩散模型,包含一个基于 transformer 的图像先验模型、一个 unet 扩散模型以及一个解码器。图像先验模型在 CLIP 的文本和图像嵌入模型上进行了训练,这些嵌入通过预训练的 mCLIP 模型生成。训练后的图像先验模型用于生成输入文本提示的 mCLIP 图像嵌入。
模型详细信息
图像先验模型的训练使用了 LAION Improved Aesthetics 数据集,并在 LAION 高分辨率数据集上进行了微调。主要的 Text2Image 扩散模型基于 170M 对来自 LAION 高分辨率数据集的文本图像对进行训练,保证至少分辨率为768x768。同时,在微调阶段使用了 2M 非常高质量的高分辨率图像与描述数据集。
模型评估
通过在 COCO_30k 数据集上的零样本模式进行评估,Kandinsky 2.1 的生成效果得到了一定的验证。下表显示了各种模型在 COCO_30k 数据集上的 FID 指标。
模型名称 | FID (30k) |
---|---|
eDiff-I (2022) | 6.95 |
Image (2022) | 7.27 |
Kandinsky 2.1 (2023) | 8.21 |
稳定扩散 2.1 (2022) | 8.59 |
GigaGAN, 512x512 (2023) | 9.09 |
DALL-E 2 (2022) | 10.39 |
GLIDE (2022) | 12.24 |
Kandinsky 1.0 (2022) | 15.40 |
DALL-E (2021) | 17.89 |
Kandinsky 2.0 (2022) | 20.00 |
GLIGEN (2022) | 21.04 |
总结
Kandinsky 2.2 项目展现了在文本和图像之间进行复杂交互的巨大潜力。其通过创新的架构和训练方法,为生成艺术和图像处理提供了新的视角和可能性。