toco Edição de imagem semântica de alta precisão com EditGAN - Unite.AI
Entre em contato

Inteligência artificial

Edição semântica de imagens de alta precisão com EditGAN

mm

Publicado

 on

Uma pessoa segurando o globo em suas mãos enquanto está em pé nos campos.

Redes Adversariais Generativas ou GANs têm aproveitado novos aplicativos na indústria de edição de imagens. Nos últimos meses, o EditGAN está ganhando popularidade na indústria de IA/ML porque é um método novo para edição de imagens semânticas de alta precisão e alta qualidade. 

Falaremos detalhadamente sobre o modelo EditGAN e informaremos por que ele pode ser um marco na indústria de edição semântica de imagens.

Então vamos começar. Mas antes de sabermos o que é EditGAN, é importante entendermos qual é a importância do EditGAN e por que é um avanço significativo. 

Por que EditGAN?

Embora as arquiteturas GAN tradicionais tenham ajudado a indústria de edição de imagens baseada em IA a avançar significativamente, existem alguns desafios importantes na construção de uma arquitetura GAN do zero. 

  1. Durante a fase de treinamento, uma arquitetura GAN requer uma grande quantidade de dados rotulados com anotações de segmentação semântica. 
  2. Eles são capazes de fornecer apenas controle de alto nível. 
  3. E muitas vezes, eles apenas interpolam entre as imagens. 

Pode-se observar que, embora as arquiteturas GAN tradicionais façam o trabalho, elas não são eficazes para implantação em larga escala. A eficiência abaixo da média da arquitetura GAN tradicional é a razão pela qual o EditGAN foi introduzido pela NVIDIA em 2022. 

EditGAN é proposto como um método eficaz para alta precisão e semântica de alta qualidade edição de imagem com a capacidade de permitir que seus usuários editem imagens alterando suas máscaras de segmentação altamente detalhadas de uma imagem. Uma das razões pelas quais EditGAN é um método escalonável para tarefas de edição de imagens é sua arquitetura. 

O modelo EditGAN é construído em uma estrutura GAN que modela imagens e suas segmentações semânticas em conjunto e requer apenas alguns dados de treinamento rotulados ou anotados. Os desenvolvedores do EditGAN tentaram incorporar uma imagem no espaço latente do GAN para modificar efetivamente a imagem, realizando a otimização do código latente condicional de acordo com a edição de segmentação. Além disso, para amortizar a otimização, o modelo tenta encontrar “vetores de edição” no espaço latente que realiza as edições. 

A arquitetura da estrutura EditGAN permite que o modelo aprenda um número arbitrário de vetores de edição que podem então ser implementados ou aplicados diretamente em outras imagens com alta velocidade e eficiência. Além disso, os resultados experimentais indicam que o EditGAN pode editar imagens com um nível de detalhe nunca antes visto, preservando ao máximo a qualidade da imagem. 

Resumindo por que precisamos do EditGAN, é a primeira estrutura de edição de imagens baseada em GAN que oferece

  1. Edição de altíssima precisão. 
  2. Pode trabalhar com alguns dados rotulados. 
  3. Pode ser implantado de forma eficaz em cenários em tempo real. 
  4. Permite composicionalidade para múltiplas edições simultaneamente. 
  5. Funciona em imagens geradas por GAN, incorporadas reais e até mesmo fora de domínio. 

Edição semântica de imagens de alta precisão com EditGAN 

StyleGAN2, uma estrutura GAN de última geração para síntese de imagens, é o principal componente de geração de imagens do EditGAN. A estrutura StyleGAN2 mapeia códigos latentes extraídos de um conjunto de distribuição normal multivariada e os mapeia em imagens realistas. 

StyleGAN2 é um modelo generativo profundo que foi treinado para sintetizar imagens da mais alta qualidade possível, além de adquirir uma compreensão semântica das imagens modeladas. 

Treinamento e inferência de segmentação

O modelo EditGAN incorpora uma imagem no espaço latente do GAN usando otimização e um codificador para realizar a segmentação em uma nova imagem e treinar o ramo de segmentação. A estrutura EditGAN continua a desenvolver trabalhos anteriores e treina um codificador para incorporar as imagens no espaço latente. O objetivo principal aqui é treinar o codificador que consiste em perdas de construção L2 e LPIPS padrão em pixels usando amostras de GAN e dados de treinamento da vida real. Além disso, o modelo também regulariza o codificador explicitamente usando os códigos latentes ao trabalhar com as amostras GAN. 

Consequentemente, o modelo incorpora as imagens anotadas do conjunto de dados rotulado com segmentação semântica no espaço latente e usa perda de entropia cruzada para treinar o ramo de segmentação do gerador. 

Usando edição de segmentação para encontrar semântica no espaço latente

O objetivo principal do EditGAN é aproveitar a distribuição conjunta de segmentações semânticas e imagens para edição de imagens de alta precisão. Digamos que temos uma imagem x que precisa ser editado, então o modelo incorpora a imagem no espaço latente do EditGAN ou usa as imagens de amostra do próprio modelo. O ramo de segmentação então gera y ou a segmentação correspondente principalmente porque ambas as imagens RGB e segmentações compartilham os mesmos códigos latentes w. Os desenvolvedores podem então usar qualquer ferramenta de rotulagem ou pintura digital para modificar a segmentação e editá-la manualmente de acordo com seus requisitos. 

Diferentes formas de edição durante a inferência

Os vetores de edição de espaço latente obtidos por meio da otimização podem ser descritos como semanticamente significativos e geralmente são desembaraçados com atributos diferentes. Portanto, para editar uma nova imagem, o modelo pode incorporar diretamente a imagem no espaço latente, e realizar diretamente as mesmas operações de edição que o modelo aprendeu anteriormente, sem realizar a otimização novamente do zero. Seria seguro dizer que os vetores de edição que o modelo aprende amortizam a otimização que foi essencial para editar a imagem inicialmente. 

É importante notar que os desenvolvedores ainda não aperfeiçoaram o desembaraço, e os vetores de edição muitas vezes não retornam os melhores resultados quando usados ​​com outras imagens. No entanto, o problema pode ser superado removendo artefatos de edição de outras partes da imagem, executando algumas etapas adicionais de otimização durante o tempo de teste. 

Com base em nossos aprendizados atuais, a estrutura EditGAN pode ser usada para editar imagens em três modos diferentes. 

  • Edição em tempo real com edição de vetores

Para imagens localizadas e desembaraçadas, o modelo edita as imagens aplicando vetores de edição aprendidos anteriormente com diferentes escalas e manipula as imagens em taxas interativas. 

  • Usando refinamento auto-supervisionado para edição baseada em vetores

Para editar imagens localizadas que não estão perfeitamente desembaraçadas de outras partes da imagem, o modelo inicializa a edição da imagem usando vetores de edição previamente aprendidos e remove artefatos de edição executando algumas etapas adicionais de otimização durante o tempo de teste. 

  • Edição baseada em otimização

Para realizar edições em grande escala e específicas de imagens, o modelo realiza a otimização desde o início porque a edição de vetores não pode ser usada para realizar esses tipos de transferências para outras imagens. 

Implementação

A estrutura EditGAN é avaliada em imagens distribuídas em quatro categorias diferentes: Carros, Pássaros, Gatos e Rostos. O ramo de segmentação do modelo é treinado usando pares de máscara de imagem de 16, 30, 30, 16 como dados de treinamento rotulados para Carros, Pássaros, Gatos e Rostos, respectivamente. Quando a imagem deve ser editada exclusivamente usando otimização, ou quando o modelo está tentando aprender os vetores de edição, o modelo executa 100 etapas de otimização usando o otimizador Adam. 

Para o conjunto de dados Cat, Car e Faces, o modelo usa imagens reais do conjunto de testes do DatasetGAN que não foram usadas para treinar a estrutura GAN para executar a funcionalidade de edição. Imediatamente, essas imagens são incorporadas ao espaço latente do EditGAN usando otimização e codificação. Para a categoria Aves, a edição é mostrada em imagens geradas por GAN. 

Resultados

Resultados qualitativos

Resultados no domínio

A imagem acima demonstra o desempenho da estrutura EditGAN ao aplicar os vetores de edição previamente aprendidos em novas imagens e refinar as imagens usando 30 etapas de otimização. Essas operações de edição realizadas pela estrutura EditGAN são desembaraçadas para todas as classes e preservam a qualidade geral das imagens. Comparando os resultados do EditGAN e de outras estruturas, pode-se observar que a estrutura EditGAN supera outros métodos na execução de edições complexas e de alta precisão, preservando ao mesmo tempo a identidade do assunto e a qualidade da imagem. 

O que é surpreendente é que a estrutura EditGAN pode realizar edições de altíssima precisão, como dilatar as pupilas ou editar os raios das rodas dos pneus de um carro. Além disso, EditGAN também pode ser usado para editar as partes semânticas de objetos que possuem apenas alguns pixels, ou também pode ser usado para realizar modificações em grande escala em uma imagem. Vale ressaltar que as diversas operações de edição do framework EditGAN são capazes de gerar imagens manipuladas diferentemente das imagens que aparecem nos dados de treinamento do GAN. 

Resultados fora do domínio

Para avaliar o desempenho fora do domínio do EditGAN, a estrutura foi testada no conjunto de dados MetFaces. O modelo EditGAN usa faces reais no domínio para criar vetores de edição. O modelo então incorpora retratos MetFaces que estão fora do domínio usando um processo de otimização de 100 etapas e aplica os vetores de edição por meio de um processo de refinamento auto-supervisionado de 30 etapas. Os resultados podem ser vistos na imagem a seguir. 

Resultados Quantitativos

Para medir quantitativamente as capacidades de edição de imagens do EditGAN, o modelo usa um benchmark de edição de sorriso que foi introduzido pela primeira vez pelo MaskGAN. Rostos que contêm expressão neutra são substituídos por rostos sorridentes e o desempenho é medido através de três parâmetros. 

  • Correção Semântica

O modelo usa um classificador de atributos de sorriso pré-treinado para medir se os rostos nas imagens mostram expressões sorridentes após a edição. 

  • Qualidade de imagem em nível de distribuição

A distância de início do kernel ou KID e a distância de início de Frechet ou FID são calculadas entre o conjunto de dados de teste CelebA e 400 imagens de teste editadas. 

  • Preservações de identidade

A capacidade do modelo de preservar a identidade dos sujeitos ao editar a imagem é medida usando uma rede de extração de recursos ArcFace pré-treinada. 

A tabela acima compara o desempenho da estrutura EditGAN com outros modelos básicos no benchmark smile edit. O método seguido pela estrutura EditGAN para fornecer resultados tão elevados é comparado em três linhas de base diferentes:

  • MáscaraGAN

MaskGAN pega imagens não sorridentes junto com suas máscaras de segmentação e uma máscara de segmentação sorridente de alvo como entrada. É importante notar que, quando comparado ao EditGAN, o framework MaskGAN requer uma grande quantidade de dados anotados. 

  • Edição local

EditGAN também compara seu desempenho com a edição local, um método usado para agrupar recursos GAN para implementar a edição local e depende de imagens de referência. 

  • InterFaceGAN

Assim como o EditGAN, o InterFaceGAN também tenta encontrar vetores de edição no espaço latente do modelo. No entanto, ao contrário do EditGAN, o modelo InterFaceGAN usa uma grande quantidade de dados anotados, classificadores de atributos auxiliares e não possui precisão de edição precisa. 

  • EstiloGAN2Destilação

Este método cria uma abordagem alternativa que não requer necessariamente incorporações de imagens reais e, em vez disso, usa um modelo de vetor de edição para criar um conjunto de dados de treinamento. 

Limitações

Como o EditGAN é baseado na estrutura GAN, ele tem a mesma limitação de qualquer outro modelo GAN: pode funcionar apenas com imagens que podem ser modeladas pelo GAN. A limitação do EditGAN para trabalhar com imagens modeladas GAN é a principal razão pela qual é difícil implementar o EditGAN em diferentes cenários. No entanto, é importante notar que as edições de alta precisão do EditGAN podem ser facilmente transferidas para outras imagens diferentes usando vetores de edição. 

Conclusão

Uma das principais razões pelas quais o GAN não é um padrão da indústria no campo de edição de imagens é sua praticidade limitada. As estruturas GAN geralmente exigem uma grande quantidade de dados de treinamento anotados e nem sempre retornam alta eficiência e precisão. 

EditGAN visa resolver os problemas apresentados pelas estruturas GAN convencionais e tenta se tornar um método eficaz para edição de imagens semânticas de alta qualidade e alta precisão. Os resultados até agora indicaram que o EditGAN realmente oferece o que afirma e já tem um desempenho melhor do que algumas das práticas e modelos padrão atuais da indústria. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.