Kandinsky 2.2
kandinsky-community
Texto a imagen
Kandinsky hereda las mejores prácticas de Dall-E 2 y Latent diffusion, mientras introduce algunas ideas nuevas. Utiliza el modelo CLIP como codificador de texto e imagen, y una imagen de difusión previa (mapeo) entre espacios latentes de modalidades de CLIP. Este enfoque aumenta el rendimiento visual del modelo y revela nuevos horizontes en la mezcla de imágenes y manipulación de imágenes guiada por texto. El modelo Kandinsky es creado por Arseniy Shakhmatov, Anton Razzhigaev, Aleksandr Nikolich, Igor Pavlov, Andrey Kuznetsov y Denis Dimitrov.
Como usar
Kandinsky 2.2 está disponible en diffusers!
pip install diffusers transformers accelerate
Texto a imagen
from diffusers import AutoPipelineForText2Image
import torch
pipe = AutoPipelineForText2Image.from_pretrained('kandinsky-community/kandinsky-2-2-decoder', torch_dtype=torch.float16)
pipe = pipe.to('cuda')
prompt = 'portrait of a young women, blue eyes, cinematic'
negative_prompt = 'low quality, bad quality'
image = pipe(prompt=prompt, negative_prompt=negative_prompt, prior_guidance_scale=1.0, height=768, width=768).images[0]
image.save('portrait.png')
Generación de imagen a imagen guiada por texto
from PIL import Image
import requests
from io import BytesIO
url = 'https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg'
response = requests.get(url)
original_image = Image.open(BytesIO(response.content)).convert('RGB')
original_image = original_image.resize((768, 512))
from diffusers import AutoPipelineForImage2Image
import torch
pipe = AutoPipelineForImage2Image.from_pretrained('kandinsky-community/kandinsky-2-2-decoder', torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()
prompt = 'A fantasy landscape, Cinematic lighting'
negative_prompt = 'low quality, bad quality'
image = pipe(prompt=prompt, image=original_image, strength=0.3, height=768, width=768).images[0]
image.save('fantasy_land.png')
Interpolación
from diffusers import KandinskyV22PriorPipeline, KandinskyV22Pipeline
from diffusers.utils import load_image
import PIL
import torch
pipe_prior = KandinskyV22PriorPipeline.from_pretrained('kandinsky-community/kandinsky-2-2-prior', torch_dtype=torch.float16)
pipe_prior.to('cuda')
img1 = load_image('https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png')
img2 = load_image('https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/starry_night.jpeg')
images_texts = ['a cat', img1, img2]
weights = [0.3, 0.3, 0.4]
prompt = ''
prior_out = pipe_prior.interpolate(images_texts, weights)
pipe = KandinskyV22Pipeline.from_pretrained('kandinsky-community/kandinsky-2-2-decoder', torch_dtype=torch.float16)
pipe.to('cuda')
image = pipe(**prior_out, height=768, width=768).images[0]
image.save('starry_cat.png')
Funcionalidades
- Generación de texto a imagen
- Generación de imagen a imagen guiada por texto
- Interpolación de imágenes
- Modelo de difusión condicional con texto
- Codificador de texto e imagen basado en CLIP
- Modelo de priors de difusión
- Decodificación a través de MoVQGAN
Casos de uso
- Generación artística a partir de texto
- Creación de imágenes con calidad cinematográfica a partir de descripciones textuales
- Transformación de una imagen según las descripciones textuales proporcionadas
- Interpolación de diferentes imágenes y textos para generar imágenes fusionadas únicas