[AdaIN] Transferencia de estilo de imagen normalizada de instancia adaptativa

1. Introducción a AdaIN

Al utilizar GAN para la transferencia de estilos de imágenes, la red generalmente está asociada con un conjunto de estilos fijo y no puede adaptarse a ningún estilo nuevo. AdaIN permite por primera vez la transmisión en tiempo real de cualquier estilo. El núcleo de su enfoque es una nueva capa de normalización de instancias adaptativas (AdaIN) que alinea la media y la variación de las características de contenido con la media y la variación de las características de estilo. Velocidad comparable a la de los métodos existentes más rápidos, sin estar limitado por conjuntos de estilos predefinidos. Además, se permiten controles de usuario flexibles, como compensaciones de estilo de contenido, interpolación de estilo, control espacial y de color, todo utilizando una única red neuronal de retroalimentación.

2. Trabajo relacionado y antecedentes

2.1 Normalización por lotes

La capa de normalización por lotes se diseñó originalmente para acelerar el entrenamiento de redes discriminativas, pero también se ha descubierto que es eficaz en el modelado de imágenes generativas.

Dada la entrada por lotes x ∈ RN × C × H × W x \in \mathbb{R}^{N \times C \times H \times W}XRN × C × H × W , la normalización por lotes normaliza la media y la desviación estándar de cada canal.

  • BN ( x ) = γ ( x − μ ( x ) σ ( x ) ) + β BN(x) = \gamma\left( \frac{x-\mu(x)}{\sigma(x)}\right )+\betaBN ( x )=C(σ ( x )x μ ( x ))+b
  • γ\gammacb betaβ es un parámetro afín aprendido de los datos
  • μ ( x ) , σ ( x ) \mu(x),\sigma(x)m ( x ) ,σ ( x ) es la media y la desviación estándar del tamaño del lote y las dimensiones espaciales calculadas de forma independiente para cada canal de características

2.2 Normalización de instancias

En el método original, la red de transferencia de estilo contiene una capa BN después de cada capa convolucional. Pero reemplazar la capa BN con la capa de normalización de instancias puede lograr mejoras significativas en el rendimiento.

  • IN ( x ) = γ ( x − μ ( x ) σ ( x ) ) + β IN(x) = \gamma\left( \frac{x-\mu(x)}{\sigma(x)}\right )+\betaEN ( x ) _=C(σ ( x )x μ ( x ))+b
  • A diferencia de BN, aquí la media y la desviación estándar se recalculan de forma independiente en todas las dimensiones espaciales para cada canal y cada muestra.
  • μ nc ( x ) = 1 HW ∑ h = 1 H ∑ w = 1 W xnchw \mu_{nc}(x)=\frac{1}{HW}\sum_{h=1}^{H}\sum_{ w=1}^{W}x_{nchw}metronorte c( X )=HW _1h = 1hw = 1WXn c h w
  • σ nc ( x ) = 1 HW ∑ h = 1 H ∑ w = 1 W ( xnchw − μ nc ( x ) ) 2 + ϵ \sigma_{nc}(x)=\sqrt{\frac{1}{HW} \sum_{h=1}^{H}\sum_{w=1}^{W}(x_{nchw}-\mu_{nc}(x))^2+\epsilon}pagnorte c( X )=HW _1h = 1hw = 1W( Xn c h wmetronorte c( X ) )2+ϵ

2.3 Normalización de instancias condicionales

  • Todos los pesos convolucionales de una red de transferencia de estilo se pueden compartir entre muchos estilos y es suficiente ajustar los parámetros de la transformación biónica para cada estilo después de la normalización.
  • CIN ( x ; s ) = γ s ( x − μ ( x ) σ ( x ) ) + β s CIN(x;s) = \gamma^s\left( \frac{x-\mu(x)}{ \sigma(x)}\right)+\beta^sCIN ( x ; _ _s )=Cs(σ ( x )x μ ( x ))+bs
  • γs \gamma^sCsμ s \mu^smetros es el parámetro afín aprendido para cada estilo
  • Dado que la normalización de instancia condicional solo actúa sobre los parámetros de escala y cambio, entrenar una red de transferencia de estilos en N estilos requiere menos parámetros que el enfoque ingenuo de entrenar N redes independientes.

3. AdaIN (normalización de instancias adaptativas)

  • A da IN ( x , y ) = σ ( y ) ( x − μ ( x ) σ ( x ) ) + μ ( y ) AdaIN(x,y) = \sigma(y)\left( \frac{x- \mu(x)}{\sigma(x)}\right)+\mu(y)A d a I N ( x ,y )=σ ( y )(σ ( x )x μ ( x ))+mi ) _ _
  • AdaIN toma una entrada de contenido x y una entrada de estilo y, y simplemente alinea la media del canal y la varianza de x para que coincida con el valor de y. A diferencia de BN, IN o CIN, AdaIN no tiene parámetros afines que se puedan aprender. En cambio, calcula de forma adaptativa parámetros afines a partir de la entrada de estilo.
  • donde la entrada de contenido normalizado se escala en σ(y) y se desplaza en µ(y). Al igual que IN, estas estadísticas se calculan en ubicaciones espaciales.

De manera intuitiva, considere un canal de funciones que detecte trazos de un estilo específico. Las imágenes de estilo con tales trazos producirán una activación promedio alta de esta característica. La salida generada por AdaIN tendrá la misma activación promedio alta que esta característica, preservando al mismo tiempo la estructura espacial de la imagen del contenido. Se puede utilizar un decodificador anticipado para invertir características de trazo en el espacio de la imagen. Las variaciones en este canal de funciones pueden codificar información de estilo más sutil, que también se transfiere a la salida AdaIN y a la imagen de salida final.

Brevemente, AdaIN realiza una transferencia de estilo en el espacio de características transfiriendo estadísticas de características, específicamente la media y la varianza del canal.

4. Construcción del modelo

4.1 Estructura

Insertar descripción de la imagen aquí

  • La red de transferencia de estilo T toma una imagen de contenido c y una imagen de estilo arbitraria s como entrada, y sintetiza una imagen de salida que recombina el contenido de la primera y el estilo de la segunda.
  • Se adopta una arquitectura de codificador-decodificador simple, donde el codificador f se fija en las primeras capas de VGG-19 previamente entrenado.
  • Después de codificar el contenido y las imágenes de estilo en el espacio de características, los dos mapas de características se envían a la capa AdaIN, que alinea la media y la varianza del mapa de características de contenido con la media y la varianza del mapa de características de estilo para generar el mapa de características de destino. t.
    t = A da IN ( f ( c ) , f ( s ) ) t=AdaIN(f(c),f(s))t=A d a I N ( f ( c ) ,f ( s ))
  • Entrene un decodificador g inicializado aleatoriamente para mapear t nuevamente al espacio de la imagen, produciendo una imagen estilizada
    T ( c , s ) = g ( t ) T(c,s)=g(t)T ( c ,s )=g ( t )
  • El decodificador refleja principalmente el codificador, con todas las capas de agrupación reemplazadas por el muestreo ascendente más cercano para reducir los efectos del tablero de ajedrez. Utilice relleno reflectante f y g para evitar artefactos en los límites. No se utiliza ninguna capa de normalización en el decodificador.

4.2 Formación

Con el optimizador Adam, el tamaño del lote es de 8 pares de imágenes de estilo de contenido. Durante el proceso de entrenamiento, la dimensión mínima de las dos imágenes se ajusta primero a 512 conservando la relación de aspecto, y luego se recorta aleatoriamente una región de tamaño 256×256. Dado que la red es completamente convolucional, se puede aplicar a imágenes de cualquier tamaño durante las pruebas.

  • Utilice VGG19 previamente entrenado para calcular la función de pérdida para entrenar el decodificador:
    L = L c + λ L s L = L_c + \lambda L_sl=lc+λL _s
  • L c = ∥ f ( g ( t ) − t ∥ 2 L_c = \begin{Vmatrix}f(g(t)-t\end{Vmatrix}_2lc= f ( g ( t )t 2
  • L s = ∑ i = 1 L ∥ μ ( ϕ i ( g ( t ) ) ) - μ ( ϕ i ( g ( s ) ) ) ∥ 2 + ∑ i = 1 L ∥ σ ( ϕ i ( g ( t ) ) ) − σ ( ϕ i ( g ( s ) ) ) ∥ 2 L_s=\sum_{i=1}^L\begin{Vmatrix}\mu(\phi_i(g(t)))-\mu(\phi_i (g(s)))\end{Vmatrix}_2+ \sum_{i=1}^L\begin{Vmatrix}\sigma(\phi_i(g(t)))-\sigma(\phi_i(g(s) ))\end{Vmatrix}_2ls=yo = 1L metro ( ϕyo( gramo ( t )))metro ( ϕyo( g ( s )) ) 2+yo = 1L σ ( ϕyo( gramo ( t )))σ ( ϕyo( g ( s )) ) 2, utilizado para calcular la pérdida de la media y la desviación estándar de las características en cada capa

5. Implementación de PyTorch

6. Resultados experimentales

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/d33332/article/details/126447256
Recomendado
Clasificación