Inteligência artificial
Edição de Imagem Semântica de Alta Precisão com EditGAN

Redes Adversárias Generativas ou GANs têm sido utilizadas em novas aplicações na indústria de edição de imagens. Nos últimos meses, EditGAN tem ganhado popularidade na indústria de IA/ML porque é um método novo para edição de imagem semântica de alta precisão e alta qualidade.
Vamos falar sobre o modelo EditGAN em detalhes e vamos informar por que ele pode se provar como um marco na indústria de edição de imagem semântica.
Então, vamos começar. Mas antes de saber o que é EditGAN, é importante entender a importância do EditGAN e por que ele é um passo significativo para a frente.
Por que EditGAN?
Embora as arquiteturas de GAN tradicionais tenham ajudado a indústria de edição de imagem baseada em IA a avançar significativamente, existem alguns desafios importantes ao construir uma arquitetura de GAN do zero.
- Durante a fase de treinamento, uma arquitetura de GAN requer uma grande quantidade de dados rotulados com anotações de segmentação semântica.
- Elas são capazes de fornecer apenas controle de alto nível.
- E, muitas vezes, elas apenas interpolam para frente e para trás entre imagens.
Pode ser observado que, embora as arquiteturas de GAN tradicionais façam o trabalho, elas não são eficazes para implantação em larga escala. A eficiência subpar das arquiteturas de GAN tradicionais é a razão pela qual o EditGAN foi introduzido pela NVIDIA em 2022.
EditGAN é proposto como um método eficaz para edição de imagem semântica de alta precisão e alta qualidade, com a capacidade de permitir que os usuários editem imagens alterando suas máscaras de segmentação detalhadas de uma imagem. Uma das razões pelas quais o EditGAN é um método escalável para tarefas de edição de imagem é devido à sua arquitetura.
O modelo EditGAN é construído em uma estrutura de GAN que modela imagens e suas segmentações semânticas conjuntamente e requer apenas uma pequena quantidade de 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 otimização de 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 realizam as edições.
A arquitetura do framework EditGAN permite que o modelo aprenda um número arbitrário de vetores de edição que podem 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 visto antes, preservando a qualidade da imagem ao máximo.
Para resumir por que precisamos do EditGAN, é o primeiro framework de edição de imagem baseado em GAN que oferece
- Edição de alta precisão.
- Pode funcionar com uma pequena quantidade de dados rotulados.
- Pode ser implantado efetivamente em cenários em tempo real.
- Permite a composicionalidade para múltiplas edições simultâneas.
- Funciona em imagens geradas por GAN, imagens reais incorporadas e até mesmo imagens fora do domínio.
Edição de Imagem Semântica de Alta Precisão com EditGAN
StyleGAN2, uma estrutura de GAN de ponta para síntese de imagem, é o componente principal de geração de imagem do EditGAN. A estrutura StyleGAN2 mapeia códigos latentes que são extraídos de uma distribuição normal multivariada e os mapeia em imagens realistas.
StyleGAN2 é um modelo gerador profundo que foi treinado para sintetizar imagens da mais alta qualidade possível, juntamente com a aquisição de 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 segmentação em uma nova imagem e treinar a ramificação de segmentação. O framework EditGAN continua a construir em trabalhos anteriores e treina um codificador para incorporar as imagens no espaço latente. O objetivo principal aqui é treinar o codificador consistindo em perdas L2 e LPIPS padrão por pixel, usando amostras do 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 do GAN.
Em consequência, o modelo incorpora as imagens anotadas do conjunto de dados rotuladas com segmentação semântica no espaço latente e usa perda de entropia cruzada para treinar a ramificação de segmentação do gerador.
Usando Edição de Segmentação para Encontrar Semântica no Espaço Latente
O propósito principal do EditGAN é aproveitar a distribuição conjunta de segmentações semânticas e imagens para edição de imagem de alta precisão. Digamos que temos uma imagem x que precisa ser editada, então o modelo incorpora a imagem no espaço latente do EditGAN ou usa as imagens de amostra do modelo em si. A ramificação de segmentação gera y ou a segmentação correspondente, principalmente porque 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 de acordo com as necessidades manualmente.

Diferentes Formas de Edição durante a Inferência
Os vetores de edição do espaço latente obtidos usando otimização podem ser descritos como semanticamente significativos e são frequentemente desentrelaçados com diferentes atributos. Portanto, para editar uma nova imagem, o modelo pode incorporar a imagem diretamente no espaço latente e realizar as mesmas operações de edição que o modelo aprendeu anteriormente, sem realizar a otimização novamente do zero. Pode-se dizer que os vetores de edição que o modelo aprende amortizam a otimização que foi essencial para editar a imagem inicialmente.
É digno de nota que os desenvolvedores ainda não aperfeiçoaram a desentrelaçação, e os vetores de edição muitas vezes não retornam os melhores resultados quando usados em outras imagens. No entanto, o problema pode ser superado removendo artefatos de edição de outras partes da imagem, realizando alguns passos adicionais de otimização durante o tempo de teste.
Com base em nossos conhecimentos atuais, o framework EditGAN pode ser usado para editar imagens em três modos diferentes.
- Edição em Tempo Real com Vetores de Edição
Para imagens localizadas e desentrelaç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 Vetor
Para editar imagens localizadas que não são desentrelaçadas perfeitamente com outras partes da imagem, o modelo inicializa a edição da imagem usando vetores de edição aprendidos anteriormente e remove artefatos de edição, realizando alguns passos adicionais de otimização durante o tempo de teste.
- Edição Baseada em Otimização
Para realizar edições em larga escala e específicas de imagem, o modelo realiza a otimização desde o início, porque os vetores de edição não podem ser usados para realizar esses tipos de transferências para outras imagens.
Implementação
O framework EditGAN é avaliado em imagens espalhadas por quatro categorias diferentes: Carros, Pássaros, Gatos e Rostos. A ramificação de segmentação do modelo é treinada usando pares de imagem-máscara de 16, 30, 30, 16 como dados de treinamento rotulados para Carros, Pássaros, Gatos e Rostos, respectivamente. Quando a imagem é editada puramente usando otimização ou quando o modelo está tentando aprender os vetores de edição, o modelo realiza 100 passos de otimização usando o otimizador Adam.
Para o conjunto de dados de Gatos, Carros e Rostos, o modelo usa imagens reais do conjunto de teste do DatasetGAN que não foram usadas para treinar o framework de GAN para realizar a funcionalidade de edição. Em seguida, essas imagens são incorporadas no espaço latente do EditGAN usando otimização e codificação. Para a categoria de Pássaros, a edição é mostrada em imagens geradas por GAN.
Resultados
Resultados Qualitativos
Resultados no Domínio

A imagem acima demonstra o desempenho do framework EditGAN ao aplicar os vetores de edição aprendidos anteriormente em imagens novas e refinando as imagens usando 30 passos de otimização. Essas operações de edição realizadas pelo framework EditGAN são desentrelaçadas para todas as classes e preservam a qualidade geral das imagens. Comparando os resultados do EditGAN com outros modelos, pode-se observar que o framework EditGAN supera outros métodos em realizar edições de alta precisão e complexas, preservando a identidade do assunto e a qualidade da imagem ao mesmo tempo.
O que é surpreendente é que o framework EditGAN pode realizar edições de alta precisão, como dilatar as pupilas ou editar os raios das rodas de um carro. Além disso, o EditGAN também pode ser usado para editar partes semânticas de objetos que têm apenas alguns pixels ou pode ser usado para realizar modificações em larga escala em uma imagem. É digno de nota que as várias operações de edição do framework EditGAN são capazes de gerar imagens manipuladas, diferentes das imagens que aparecem nos dados de treinamento do GAN.
Resultados Fora do Domínio
Para avaliar o desempenho do EditGAN fora do domínio, o framework foi testado no conjunto de dados MetFaces. O modelo EditGAN usa rostos reais no domínio para criar vetores de edição. Em seguida, o modelo incorpora os retratos MetFaces fora do domínio usando um processo de otimização de 100 passos e aplica os vetores de edição por meio de um processo de refinamento auto-supervisionado de 30 passos. Os resultados podem ser vistos na imagem a seguir.

Resultados Quantitativos
Para medir as capacidades de edição de imagem do EditGAN de forma quantitativa, o modelo usa um benchmark de edição de sorriso que foi introduzido pela MaskGAN. Rostos com expressão neutra são substituídos por rostos sorridentes e o desempenho é medido em três parâmetros.
- Correção Semântica
O modelo usa um classificador de atributo 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 incepção do kernel (KID) e a distância de incepção de Frechet (FID) são calculadas entre o conjunto de teste CelebA e 400 imagens editadas de teste.
- Preservação 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 do framework EditGAN com outros modelos de linha de base no benchmark de edição de sorriso. O método seguido pelo framework EditGAN para entregar resultados tão altos é comparado em três modelos de linha de base diferentes:
- MaskGAN
MaskGAN usa imagens não sorridentes juntamente com suas máscaras de segmentação e uma máscara de segmentação de sorriso de destino como entrada. É digno de nota que, em comparação com o EditGAN, o framework MaskGAN requer uma grande quantidade de dados anotados.
- Edição Local
O EditGAN também compara seu desempenho com a edição local, um método que é usado para agrupar recursos de GAN para implementar 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 atributo auxiliares e não tem a precisão de edição fina.
- StyleGAN2Distillation
Esse método cria uma abordagem alternativa que não requer necessariamente incorporação 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
Porque o EditGAN é baseado no framework de GAN, ele tem a mesma limitação que qualquer outro modelo de GAN: ele só pode funcionar com imagens que podem ser modeladas pelo GAN. A limitação do EditGAN para funcionar com imagens modeladas por GAN é a principal razão pela qual é difícil implementar o EditGAN em diferentes cenários. No entanto, é digno de nota que as edições de alta precisão do EditGAN podem ser transferidas prontamente 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 imagem é devido à sua limitada praticidade. Os frameworks de GAN geralmente requerem uma grande quantidade de dados de treinamento anotados e não retornam frequentemente alta eficiência e precisão.
O EditGAN visa abordar os problemas apresentados pelos frameworks de GAN convencionais e tenta se apresentar como um método eficaz para edição de imagem semântica de alta qualidade e alta precisão. Os resultados até agora indicaram que o EditGAN de fato oferece o que afirma e já está performando melhor do que alguns dos padrões atuais da indústria e modelos.












