La transferencia de estilo neuronal es una técnica de optimización que se utiliza para tomar dos imágenes (una imagen de contenido y una imagen de referencia de estilo (como una obra de arte de un pintor famoso)) y combinarlas para que la imagen de salida se parezca a la imagen del contenido, pero "pintada". en el estilo de la imagen de referencia de estilo.
Esto se implementa optimizando la imagen de salida para que coincida con las estadísticas de contenido de la imagen de contenido y las estadísticas de estilo de la imagen de referencia de estilo. Estas estadísticas se extraen de las imágenes mediante una red convolucional.
Para ejecutar el cuaderno, clone este repositorio, inicie un servidor de cuaderno Jupyter en el directorio correcto y abra el cuaderno llamado style_transfer_gan.ipynb
. Este cuaderno también contiene código para un tutorial sobre cómo funciona la transferencia de estilo; El código de los datos de este repositorio está intercalado en todas partes.
Para ver el código de StarGan, abra el cuaderno llamado StarGAN_v2_celeb_face_synthesizer.ipynb
.
Los estilos artísticos que utilizamos se pueden encontrar en la carpeta art-styles
e incluyen lo siguiente:
Usamos tres caras de celebridades para el cuaderno de transferencia de estilo original: celebrity-faces/male/the-weeknd.jpg
, celebrity-faces/male/wesley-snipes.jpg
y celebrity-faces/female/lady-gaga.jpg
.
Para el cuaderno StarGAN, utilizamos una selección de fotografías del conjunto de datos de Celeb A-HQ. Estas son las fotos restantes en el directorio celebrity-faces/
.
Esta sección explorará el trabajo en style_transfer_gan.ipynb
. Para comprender cómo se realiza la transferencia de estilo neuronal en diferentes rostros, alimentamos múltiples imágenes de contenido (rostros) a través de nuestro modelo y seleccionamos tres que decidimos que proporcionarían suficiente diferencia en el tono de la piel y la estructura facial. Para cada rostro, utilizamos los 10 estilos artísticos enumerados anteriormente como nuestras imágenes de referencia de estilo. La tendencia general que notamos fue que los estilos que eran más similares al rostro de la persona y a los fondos de sus imágenes producían mejores resultados que los estilos que eran muy diferentes.
Para The Weeknd, elegimos una imagen tomada después de someterse a una cirugía plástica, dándole así una estructura facial significativamente diferente. En su caso, vimos que estilos igualmente diferentes a la norma, como el cubismo o el surrealismo, producían mejores resultados que un estilo como el clasicismo (ver más abajo).
Resultados surrealismo vs. clasicismo en el rostro de The Weeknd
De manera similar, debido a que el tono de piel de Wesley Snipes es más oscuro y los colores del fondo de su imagen original también son más apagados, los estilos con tonos similares eran más precisos. Compare los resultados del cubismo y el fauvismo a continuación:
Resultados del cubismo versus fauvismo en el rostro de Wesley Snipes
Los resultados de Lady Gaga, sin embargo, fueron mucho más parejos en todos los ámbitos. La mayoría de los estilos aún pudieron capturar algunos detalles de su rostro sin sufrir demasiadas pérdidas. Como puedes ver, el fauvismo, que no funcionó tan bien con la cara de Wesley Snipes, funciona mucho mejor aquí.
Resultados Fauvsim vs. Clasicismo en el rostro de Lady Gaga
Hay muchas razones por las que el rostro de Lady Gaga podría haber producido mejores resultados en general, pero una explicación probable son los datos que se utilizaron para entrenar el modelo de transferencia de estilo. Si al modelo se le proporcionaron más caras blancas durante el entrenamiento, probablemente funcionará mejor con caras blancas en las pruebas.
Esta sección explorará el trabajo en StarGAN_v2_celeb_face_synthesizer.ipynb
. StarGAN v2, el modelo de traducción de imágenes desarrollado por Clova AI, aprende el mapeo entre diferentes imágenes. Utilizamos una red Star GAN previamente entrenada con el conjunto de datos CelebA-HQ, así como un conjunto de rostros de celebridades de diferentes géneros, tonos de piel, rasgos faciales y modificaciones faciales/corporales (tatuajes y cirugía plástica) como nuestro conjunto de datos de imágenes de origen. y el conjunto de datos CelebA-HQ como nuestro conjunto de datos de imágenes de referencia. Nuestro conjunto de datos de origen se dividió en dos dominios: femenino y masculino.
La siguiente es una lista de imágenes fuente que elegimos sintetizar.
Rochelle Humes | Ariana Grande | Lady Gaga | Jennifer Lorenzo |
---|---|---|---|
Chris Hemsworth | mike tyson | Donald Trump | el fin de semana | Wesley Snipes |
---|---|---|---|---|
Transformamos todas las imágenes seleccionadas recortándolas en una proporción lo más aproximada posible de 1:1, con la cara en el centro y ocupando una gran parte de la imagen. Luego, ajustamos la imagen para rotarla y recortarla con mayor precisión utilizando la herramienta incorporada proporcionada por Clova AI. Finalmente, alimentamos estas imágenes ajustadas a la red StarGAN previamente entrenada y generamos imágenes de salida sintetizadas.
Nuestros resultados mostraron que los rasgos faciales distintivos, como líneas de mandíbula y labios fuertes, se propagaron a través de diferentes géneros y tonos de piel en las imágenes generadas/de salida. Para rostros como el de The Weeknd que han sufrido modificaciones faciales (por ejemplo, cirugía plástica), notamos que estas características también permanecían distintas en las imágenes generadas. Sin embargo, las imágenes generadas no fueron tan realistas como se esperaba, las características de alto nivel como el peinado, el maquillaje, la barba y el tono de piel se siguen de las imágenes de referencia. Sin embargo, otras características, como los tatuajes, parecían conservarse de la imagen original. De manera similar, el modelo conservó la pose y la identidad de las imágenes originales en la mayoría de las imágenes resultantes.
El resultado de nuestro experimento se muestra a continuación.