stringtranslate.com

Transferencia de estilo neuronal

Transferencia de estilo neuronal aplicada a la Mona Lisa :

La transferencia de estilo neuronal ( NST ) se refiere a una clase de algoritmos de software que manipulan imágenes digitales o videos para adoptar la apariencia o el estilo visual de otra imagen. Los algoritmos NST se caracterizan por el uso de redes neuronales profundas para la transformación de imágenes. Los usos comunes de NST son la creación de obras de arte artificiales a partir de fotografías, por ejemplo transfiriendo la apariencia de pinturas famosas a fotografías proporcionadas por los usuarios. Varias aplicaciones móviles destacadas utilizan técnicas NST para este propósito, incluidas DeepArt y Prisma . Este método ha sido utilizado por artistas y diseñadores de todo el mundo para desarrollar nuevas obras de arte basadas en estilos existentes.

Algoritmos de transferencia de estilo anteriores

NST es un ejemplo de estilización de imágenes, un problema estudiado durante más de dos décadas en el campo del renderizado no fotorrealista . Los dos primeros algoritmos de transferencia de estilo basados ​​en ejemplos fueron analogías de imágenes [1] y acolchado de imágenes. [2] Ambos métodos se basaron en algoritmos de síntesis de texturas basados ​​en parches .

Dado un par de imágenes de entrenamiento (una fotografía y una obra de arte que represente esa foto), se podría aprender una transformación y luego aplicarla para crear una nueva obra de arte a partir de una nueva foto, por analogía. Si no hubiera una fotografía de entrenamiento disponible, sería necesario producirla procesando el arte de entrada; El acolchado de imágenes no requirió este paso de procesamiento, aunque se demostró en un solo estilo.

NST

NST se publicó por primera vez en el artículo "A Neural Algorithm of Artistic Style" de Leon Gatys et al., publicado originalmente en ArXiv 2015, [3] y posteriormente aceptado por la conferencia CVPR revisada por pares en 2016. [4] El artículo original utilizó una arquitectura VGG-19 [5] que ha sido previamente entrenada para realizar el reconocimiento de objetos utilizando el conjunto de datos ImageNet .

En 2017, Google AI introdujo un método [6] que permite que una única red de transferencia de estilos convolucional profunda aprenda varios estilos al mismo tiempo. Este algoritmo permite la interpolación de estilos en tiempo real, incluso cuando se realiza en vídeo.

Formulación

El proceso de NST asume una imagen de entrada y una imagen de estilo de ejemplo .

La imagen se transmite a través de CNN y las activaciones de la red se muestrean en una capa de convolución tardía de la arquitectura VGG-19. Sea la muestra de salida resultante, llamada "contenido" de la entrada .

Luego, la imagen de estilo se envía a través de la misma CNN y las activaciones de la red se muestrean en las capas tempranas e intermedias de la CNN. Estas activaciones están codificadas en una representación de matriz Gramiana , llámela para denotar el "estilo" de .

El objetivo de NST es sintetizar una imagen de salida que muestre el contenido aplicado con el estilo de , es decir, y .

Luego , una optimización iterativa (generalmente descenso de gradiente ) se actualiza gradualmente para minimizar el error de la función de pérdida:

,

¿Dónde está la distancia L2 ? La constante controla el nivel del efecto de estilización.

Capacitación

Inicialmente, la imagen se aproxima agregando una pequeña cantidad de ruido blanco a la imagen de entrada y alimentándola a través de la CNN. Luego propagamos hacia atrás sucesivamente esta pérdida a través de la red con los pesos de CNN fijos para actualizar los píxeles de . Después de varios miles de épocas de entrenamiento, surge (con suerte) un modelo que coincide con el estilo y el contenido de .

Los algoritmos normalmente se implementan para GPU , por lo que el entrenamiento lleva unos minutos. [ cita necesaria ]

Extensiones

NST también se ha extendido a vídeos. [7]

El trabajo posterior mejoró la velocidad de NST para imágenes. [ se necesita aclaración ]

En un artículo de Fei-Fei Li et al. adoptó una métrica de pérdida regularizada diferente y un método acelerado para que el entrenamiento produzca resultados en tiempo real (tres órdenes de magnitud más rápido que Gatys). [8] Su idea era utilizar no la pérdida basada en píxeles definida anteriormente sino más bien una "pérdida de percepción" que mide las diferencias entre capas de nivel superior dentro de la CNN. Utilizaron un codificador-decodificador simétrico CNN. El entrenamiento utiliza una función de pérdida similar al método NST básico, pero también regulariza la salida para lograr suavidad utilizando una pérdida de variación total (TV). Una vez entrenada, la red se puede utilizar para transformar una imagen al estilo utilizado durante el entrenamiento, utilizando un único paso de avance de la red. Sin embargo, la red está restringida al estilo único en el que ha sido entrenada. [9]

En un trabajo de Chen Dongdong et al. Exploraron la fusión de información de flujo óptico en redes de alimentación directa para mejorar la coherencia temporal de la salida. [10]

Más recientemente, se han explorado métodos NST basados ​​en transformaciones de características para una estilización rápida que no están acoplados a un solo estilo específico y permiten una combinación de estilos controlable por el usuario, por ejemplo, la transformación de blanqueamiento y coloración (WCT). [11]

Referencias

  1. ^ "Analogías de imágenes" (PDF) . Mrl.nyu.edu . 2001 . Consultado el 13 de febrero de 2019 .
  2. ^ "Acolchado de imágenes". gráficos.cs.cmu.edu . 2001 . Consultado el 4 de febrero de 2021 .
  3. ^ Gatys, León A.; Ecker, Alejandro S.; Bethge, Matthias (26 de agosto de 2015). "Un algoritmo neuronal de estilo artístico". arXiv : 1508.06576 [cs.CV].
  4. ^ Bethge, Matías; Ecker, Alejandro S.; Gatys, León A. (2016). "Transferencia de estilo de imagen mediante redes neuronales convolucionales". Cv-foundation.org . págs. 2414–2423 . Consultado el 13 de febrero de 2019 .
  5. ^ "CNNS muy profunda para reconocimiento visual a gran escala". Robots.ox.ac.uk . 2014 . Consultado el 13 de febrero de 2019 .
  6. ^ Dumoulin, Vicente; Shlens, Jonathon S.; Kudlur, Manjunath (9 de febrero de 2017). "Una representación erudita del estilo artístico". arXiv : 1610.07629 [cs.CV].
  7. ^ Más rudo, Manuel; Dosovitskiy, Alexey; Brox, Thomas (2016). "Transferencia de estilo artístico para vídeos". Reconocimiento de patrones . Apuntes de conferencias sobre informática. vol. 9796, págs. 26–36. arXiv : 1604.08610 . doi :10.1007/978-3-319-45886-1_3. ISBN 978-3-319-45885-4. S2CID  47476652.
  8. ^ Johnson, Justin; Alahi, Alexandre; Li, Fei-Fei (2016). "Pérdidas de percepción por transferencia de estilo en tiempo real y superresolución". arXiv : 1603.08155 [cs.CV].
  9. ^ Johnson, Justin; Alahi, Alexandre; Li, Fei-Fei (2016). "Pérdidas de percepción por transferencia de estilo en tiempo real y superresolución". arXiv : 1603.08155 [cs.CV].
  10. ^ Chen, Dongdong; Liao, Jing; Yuan, Lu; Yu, Nenghai; Hua, pandilla (2017). "Transferencia coherente de estilos de vídeo en línea". arXiv : 1703.09211 [cs.CV].
  11. ^ Li, Yijun; Colmillo, Chen; Yang, Jimei; Wang, Zhaowen; Lu, Xin; Yang, Ming-Hsuan (2017). "Transferencia de estilo universal mediante transformaciones de funciones". arXiv : 1705.08086 [cs.CV].