O Pix2pix-zero foi projetado para permitir a edição simples de imagens usando Stable Diffusion, mantendo a estrutura da imagem de origem.
Para modelos de IA generativos, como Difusão estável , DALL-E 2 ou Imagen existem vários métodos, como Inpainting, Prompt-to-Prompt ou InstructPix2Pix que permitem a manipulação de imagens reais ou geradas.
Pesquisadores da Carnegie Mellon University e da Adobe Research agora apresentam o pix2pix-zero, um método que se concentra em preservar a estrutura da imagem de origem. O método permite que as tarefas de tradução de imagens sejam executadas sem ajustes finos extensos ou engenharia imediata.
Pix2pix-zero usa orientação de atenção cruzada
Métodos como Prompt-to-Prompt ou InstructPix2Pix podem alterar a estrutura da imagem original ou mantê-la tanto que as alterações desejadas não são feitas.
Uma solução é combinar Inpainting e InstructPix2Pix, o que permite alterações mais direcionadas. O Pix2pix-zero adota uma abordagem diferente: os pesquisadores sintetizam uma imagem completamente nova, mas usam mapas de atenção cruzada para orientar o processo generativo.
O método suporta mudanças simples como “gato para cachorro”, “cachorro para cachorro com óculos escuros” ou “esboço para pintura a óleo”. A entrada é uma imagem original, da qual um modelo BLIP deriva uma descrição de texto, que é então convertida em uma incorporação de texto pelo CLIP.
Juntamente com um mapa de ruído invertido, a incorporação de texto é usada para reconstruir a imagem original. Na segunda etapa, os mapas de atenção cruzada dessa reconstrução, juntamente com a incorporação do texto original e uma nova incorporação do texto para guiar a mudança, são usados para guiar a síntese da imagem desejada.
Como a alteração “gato para cachorro” não é descrita em detalhes pela entrada de texto, essa nova incorporação de texto não pode ser obtida a partir de um prompt. Em vez disso, pix2pix-zero usa GPT-3 para gerar uma série de prompts para “gato”, por exemplo “Um gato se lava, um gato está observando pássaros na janela,…” e para “cachorro”, por exemplo “Este é meu cachorro, um cachorro está ofegante depois de uma caminhada, …”.
Para esses prompts gerados, pix2pix-zero primeiro calcula as incorporações CLIP individuais e, em seguida, a diferença média de todas as incorporações. O resultado é então usado como uma nova incorporação de texto para a síntese da nova imagem, por exemplo, a imagem de um cachorro.
Pix2pix-zero fica próximo ao original
Os pesquisadores usam vários exemplos para mostrar o quão perto pix2pix-zero fica da imagem original – embora pequenas mudanças sejam sempre visíveis. O método funciona com diferentes imagens, incluindo fotos ou desenhos, podendo mudar estilos, objetos ou estações.
Em comparação com alguns outros métodos, o pix2pix-zero está claramente à frente em termos de qualidade. Uma comparação direta com InstructPix2Pix não é mostrada no artigo.
A qualidade dos resultados também depende da própria Stable Diffusion, de acordo com o artigo. Os mapas de atenção cruzada usados para orientação mostram quais recursos da imagem o modelo foca em cada etapa de redução de ruído, mas estão disponíveis apenas em uma resolução de 64 por 64 Pixels. Resoluções mais altas podem fornecer resultados ainda mais detalhados no futuro, de acordo com os pesquisadores.
Outra desvantagem do método baseado em difusão é que ele requer muitas etapas e, portanto, muito poder de computação e tempo. Como alternativa, a equipe propõe uma GAN treinada nos pares de imagens gerados pelo pix2pix-zero para a mesma tarefa.
Até agora, pares de imagens comparáveis têm sido muito difíceis e caros de gerar, diz a equipe. Uma versão destilada do GAN alcança resultados semelhantes ao pix2pix-zero com um aumento de velocidade de 3.800 vezes. Em uma Nvidia A100, isso equivale a 0,018 segundos por quadro. A variante GAN permite, assim, que as alterações sejam feitas em tempo real.
Mais informações e exemplos podem ser encontrados no pix2pix-zero página do projeto.