MagicMix
1.0.0
Implementación de MagicMix: Mezcla semántica con modelos de difusión.
El objetivo del método es mezclar dos conceptos diferentes de manera semántica para sintetizar un nuevo concepto preservando la distribución espacial y la geometría.
El método toma una imagen que proporciona la semántica del diseño y un mensaje que proporciona la semántica del contenido para el proceso de mezcla.
Hay 3 parámetros para el método.
v
: Es la constante de interpolación utilizada en la fase de generación del diseño. Cuanto mayor sea el valor de v, mayor será la influencia del mensaje en el proceso de generación del diseño.kmax
y kmin
: determinan el rango para el proceso de diseño y generación de contenido. Un valor más alto de kmin da como resultado una pérdida de más información sobre el diseño de la imagen original y un valor más alto de kmin da como resultado más pasos para el proceso de generación de contenido. from PIL import Image
from magic_mix import magic_mix
img = Image . open ( 'phone.jpg' )
out_img = magic_mix ( img , 'bed' , kmax = 0.5 )
out_img . save ( "mix.jpg" )
python3 magic_mix.py
"phone.jpg"
"bed"
"mix.jpg"
--kmin 0.3
--kmax 0.6
--v 0.5
--steps 50
--seed 42
--guidance_scale 7.5
Además, consulte el cuaderno de demostración para ver un ejemplo del uso de la implementación para reproducir ejemplos del documento.
También puede utilizar el canal comunitario en la biblioteca de difusores.
from diffusers import DiffusionPipeline , DDIMScheduler
from PIL import Image
pipe = DiffusionPipeline . from_pretrained (
"CompVis/stable-diffusion-v1-4" ,
custom_pipeline = "magic_mix" ,
scheduler = DDIMScheduler . from_pretrained ( "CompVis/stable-diffusion-v1-4" , subfolder = "scheduler" ),
). to ( 'cuda' )
img = Image . open ( 'phone.jpg' )
mix_img = pipe (
img ,
prompt = 'bed' ,
kmin = 0.3 ,
kmax = 0.5 ,
mix_factor = 0.5 ,
)
mix_img . save ( 'mix.jpg' )
No soy el autor del artículo y esta no es una implementación oficial.