A transferência de estilo neural é uma técnica de otimização usada para pegar duas imagens - uma imagem de conteúdo e uma imagem de referência de estilo (como uma obra de arte de um pintor famoso) - e combiná-las para que a imagem de saída se pareça com a imagem de conteúdo, mas “pintada”. no estilo da imagem de referência de estilo.
Isso é implementado otimizando a imagem de saída para corresponder às estatísticas de conteúdo da imagem de conteúdo e às estatísticas de estilo da imagem de referência de estilo. Essas estatísticas são extraídas das imagens por meio de uma rede convolucional.
Para executar o notebook, clone este repositório, inicie um servidor de notebook Jupyter no diretório correto e abra o notebook chamado style_transfer_gan.ipynb
. Este notebook também contém código para um tutorial sobre como funciona a transferência de estilo; o código dos dados neste repositório está intercalado.
Para ver o código StarGan, abra o notebook chamado StarGAN_v2_celeb_face_synthesizer.ipynb
.
Os estilos de arte que usamos podem ser encontrados na pasta art-styles
e incluem o seguinte:
Usamos três rostos de celebridades para o caderno de transferência de estilo original: celebrity-faces/male/the-weeknd.jpg
, celebrity-faces/male/wesley-snipes.jpg
e celebrity-faces/female/lady-gaga.jpg
.
Para o notebook StarGAN, usamos uma seleção de fotos do conjunto de dados Celeb A-HQ. Estas são as fotos restantes no diretório celebrity-faces/
.
Esta seção explorará o trabalho em style_transfer_gan.ipynb
. Para entender como a transferência de estilo neural funciona em diferentes rostos, alimentamos várias imagens de conteúdo (rostos) por meio de nosso modelo e selecionamos três que decidimos que forneceriam diferença suficiente no tom de pele e na estrutura facial. Para cada rosto, usamos todos os 10 estilos de arte listados acima como nossas imagens de referência de estilo. A tendência geral que notamos foi que estilos mais parecidos com o rosto da pessoa e com o fundo da imagem produziam melhores resultados do que estilos muito diferentes.
Para The Weeknd, escolhemos uma imagem tirada após ele ter passado por uma cirurgia plástica, dando-lhe assim uma estrutura facial significativamente diferente. No caso dele, vimos que estilos igualmente diferentes da norma, como o cubismo ou o surrealismo, produziram melhores resultados do que um estilo como o classicismo (veja abaixo).
Resultados de surrealismo vs. classicismo no rosto de The Weeknd
Da mesma forma, como o tom de pele de Wesley Snipes é mais escuro e as cores de fundo de sua imagem original também são mais suaves, os estilos com tons semelhantes eram mais precisos. Compare os resultados do cubismo e do fauvismo abaixo:
Resultados do Cubismo vs. Fauvismo no rosto de Wesley Snipes
Os resultados de Lady Gaga, no entanto, foram muito mais uniformes. A maioria dos estilos ainda conseguiu capturar alguns detalhes de seu rosto sem incorrer em muitas perdas. Como você pode ver, o fauvismo – que não funcionou tão bem com a cara de Wesley Snipes – funciona muito melhor aqui.
Resultados Fauvsim vs. Classicismo no rosto de Lady Gaga
Há muitas razões pelas quais o rosto de Lady Gaga poderia ter produzido melhores resultados em geral, mas uma explicação provável são os dados que foram usados para treinar o modelo de transferência de estilo. Se o modelo tiver recebido mais faces brancas no treinamento, provavelmente terá um desempenho melhor com faces brancas nos testes.
Esta seção explorará o trabalho em StarGAN_v2_celeb_face_synthesizer.ipynb
. StarGAN v2, o modelo de tradução de imagens desenvolvido pela Clova AI aprende o mapeamento entre diferentes imagens. Usamos uma rede Star GAN pré-treinada com o conjunto de dados CelebA-HQ, bem como um conjunto de rostos de celebridades de diferentes gêneros, tons de pele, características faciais e modificações faciais/corporais (tatuagens e cirurgia plástica) como nosso conjunto de dados de imagem de origem, e o conjunto de dados CelebA-HQ como nosso conjunto de dados de imagem de referência. Nosso conjunto de dados de origem foi dividido em dois domínios: feminino e masculino
A seguir está uma lista de imagens de origem que escolhemos para sintetizar.
Rochelle Humes | Ariana Grande | Senhora Gaga | Jennifer Lawrence |
---|---|---|---|
Chris Hemsworth | Mike Tyson | Donald Trump | O fim de semana | Wesley Snipes |
---|---|---|---|---|
Transformamos todas as imagens selecionadas cortando a imagem em uma proporção aproximada de 1:1 possível, com o rosto no centro e ocupando uma grande parte da imagem. Em seguida, ajustamos a imagem para rotação e corte precisos adicionais usando a ferramenta integrada fornecida pelo Clova AI. Por fim, alimentamos essas imagens de ajuste fino na rede StarGAN pré-treinada e geramos imagens de saída sintetizadas.
Nossos resultados mostraram que características faciais distintas, como mandíbulas e lábios fortes, foram propagadas em diferentes gêneros e tons de pele nas imagens geradas/saídas. Para rostos como o de The Weeknd que passaram por modificações faciais (por exemplo, cirurgia plástica) notamos que essas características também permaneceram distintas nas imagens geradas. No entanto, as imagens geradas não eram tão realistas como esperado, características de alto nível como penteado, maquiagem, barba e tom de pele são seguidas das imagens de referência. No entanto, outras características, como tatuagens, pareciam ter sido preservadas da imagem de origem. Da mesma forma, o modelo preservou a pose e a identidade das imagens de origem na maioria das imagens de saída.
O resultado da nossa experiência é mostrado abaixo