Notas de lectura Modelo de movimiento de primer orden para animación de imágenes

El artículo resuelve el problema de la animación de imágenes. Suponiendo que hay imágenes fuente y videos de conducción, y que los objetos que contienen son del mismo tipo, el método del artículo hace que los objetos en las imágenes fuente se muevan de acuerdo con las acciones de los objetos en el video de conducción.
El método del artículo solo requiere un conjunto de videos de objetos similares y no requiere anotaciones adicionales.

método

Este método se basa en la estrategia de autosupervisión. El método principal es reconstruir el video de capacitación en función de un cuadro de imagen en el video de capacitación y la representación de la acción aprendida. Entre ellos, la representación de la acción consta de puntos clave específicos del movimiento y transformaciones afines locales. Tenga en cuenta que debido a que es un método autosupervisado, el algoritmo aprende los puntos clave aquí, a diferencia de los puntos clave en el algoritmo de detección de puntos clave faciales, que están designados artificialmente con significados específicos.
Insertar descripción de la imagen aquí
El diagrama de cuadro se muestra en la figura anterior y consta de dos partes, una es el módulo de estimación de movimiento y la otra es el módulo de generación de imágenes. El propósito del módulo de estimación de movimiento es estimar un cuadro D ∈ R 3 × H × W
a partir del video de conducción \mathbf D \in \mathbb R^{3\times H \times W}DR3 × H × W a la imagen de origenS ∈ R 3 × H × W \mathbf S \in \mathbb R^{3\times H \times W}SRCampo de movimiento denso de 3 × H × W. Campo deportivoTS ← D : R 2 → R 2 \mathcal T_{\mathbf S \leftarrow \mathbf D}: \mathbb R^2 \rightarrow \mathbb R^2tS D:R2R2D \mathbf DCada posición de píxel en D se asigna al correspondienteS \mathbf SSTS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}tS DTambién llamado flujo óptico inverso. Se utiliza flujo óptico inverso en lugar de flujo óptico directo porque la deformación hacia atrás se puede lograr de manera eficiente de una manera diferenciable utilizando muestreo bilineal.

Transformacion afin

Primero recordemos la transformación radial (transformación afín).
En coordenadas homogéneas, la transformación afín se puede expresar mediante la siguiente fórmula:
[ y ⃗ 1 ] = [ B b ⃗ 0 , … , 0 1 ] [ x ⃗ 1 ] {\begin{bmatrix}{\vec{y }} \\1\end{bmatrix}}= {\begin{bmatrix}\mathbf B&{\vec {b}}\ \\0,\ldots ,0&1\end{bmatrix}} {\begin{bmatrix}{ \vec {x}}\\1\end{bmatriz}}[y 1]=[B0 ,,0b  1] [X 1] Debido a que la última fila de la matriz de operaciones se usa para completar la operación, la transformación afín en la imagen bidimensional está determinada por la matrizA = [ B , b ⃗ ] ∈ R 2 × 3 \mathbf A = [\ mathbf B, \vec {b}] \in \mathbb R^{2 \times 3}A=[ B ,b ]RDefinición 2 × 3 .

módulo de estimación de movimiento

El módulo de estimación de movimiento se divide en dos partes.

estimación de movimiento grueso

La estimación de movimiento aproximado predice patrones de movimiento en puntos clave, es decir, flujo óptico inverso TS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}tS DTS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}tS DAproximado mediante expansión de Taylor de primer orden cerca de puntos clave.

Supongamos que hay un marco de referencia abstracto R \mathbf RR._ _ De esta manera, necesitamos estimar dos transformaciones: deR \mathbf RRS \mathbf SSTS ← R \mathcal T_{\mathbf S \leftarrow \mathbf R}tS R) y de R \mathbf RR aD \mathbf DDTD ← R \mathcal T_{\mathbf D \leftarrow \mathbf R}tD R). La ventaja de los marcos de referencia abstractos es que nos permiten procesar D de forma independiente \mathbf DDS \mathbf SS. _
Para facilitar la descripción, utiliceX \mathbf XX representaS \mathbf SS oD \mathbf DD,用p 1 , ⋯ , p K p_1,\cdots,p_Kpag1,,pagkRepresenta un marco de referencia abstracto R \mathbf RLas coordenadas de los puntos clave en R se expresan en zzz representa las coordenadas de puntos en otros marcos. Estimamos que en puntos clavep 1 , ⋯ , p K p_1,\cdots,p_Kpag1,,pagkTX alrededor de ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}tX R. Específicamente, consideramos TX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}tX REn puntos clave p 1 , ⋯ , p K p_1,\cdots,p_Kpag1,,pagkAdemás:
TX ← R ( p ) = TX ← R ( pk ) + ( d TX ← R ( p ) dp ∣ p = pk ) ( p − pk ) + o ( ∥ p − pk ∥ ) \mathcal T_{\mathbf X \leftarrow \mathbf R}(p)=\mathcal T_{\mathbf X \leftarrow \mathbf R}(p_k)+(\frac{d \mathcal T_{\mathbf X \leftarrow \mathbf R} (p)} {dp}|_{p=p_k})(p-p_k)+o(\|p-p_k\|)tX R( pag )=tX R( pag.k)+(dp _re TX R( pag )pag = pagk) ( pag.pagk)+o ( pagpagk) Esto puede verse como una transformación afínAX ← R k ∈ R 2 × 3 \mathbf A^k_{\mathbf X \leftarrow \mathbf R} \in \mathbb R^{2 \times 3}AX RkR2 × 3 ,TX ← R ( pk ) \mathcal T_{\mathbf X \leftarrow \mathbf R}(p_k)tX R( pag.k) es el parámetro de traducción,d TX ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf X \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _re TX R( pag )pag = pagkson los parámetros del mapeo lineal.

TX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}tX RLa función K es una función jacobiana de forma libre.
TX ← R ( p ) ≈ { { TX ← R ( p 1 ) , d TX ← R ( p ) dp ∣ p = p 1 } , ⋯ , { TX ← R ( p K ) , d TX ← R ( p ) dp ∣ p = p K } } \mathcal T_{\mathbf X \leftarrow \mathbf R}(p) \approx \{\{ \mathcal T_{\mathbf X \leftarrow \mathbf R}(p_1),\frac{d\mathcal T_{\mathbf X \leftarrow\mathbf R}(p)}{dp}|_{p=p_1}\}, \cdots,\{ \mathcal T_ {\mathbf X \leftarrow \mathbf R}(p_K),\frac{d \mathcal T_{\mathbf X \leftarrow \mathbf R}(p)}{dp}|_{p=p_K}\} \}tX R( pag ){ { TX R( pag.1) ,dp _re TX R( pag )pag = pag1} ,,{ TX R( pag.k) ,dp _re TX R( pag )pag = pagk}}
Suponemos queTX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}tX RLa localidad en cada punto clave es una biyección. Entonces para TS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}tS D,我们有
TS ← D = TS ← R ∘ TD ← R − 1 \mathcal T_{\mathbf S \leftarrow \mathbf D}=\mathcal T_{\mathbf S \leftarrow \mathbf R} \circ \mathcal T^{ -1} _ {\mathbf D \leftarrow \mathbf R}tS D=tS RtD R 1En el caso de la capa límite
TS ← D ( z ) ≈ TS ← R ( pk ) + J k ( z − TD ← R ( pk ) ) J k = ( d TS ← R ( p ) dp ∣ p = pk ) ( d TD ← R ( p ) dp ∣ p = pk ) − 1 \mathcal T_{\mathbf S \leftarrow \mathbf D}(z) \approx \mathcal T_{\mathbf S \leftarrow \mathbf R}(p_k ); + J_k(z-\mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k))\\ J_k=(\frac{d \mathcal T_{\mathbf S \leftarrow \mathbf R}(p)} {dp }|_{p=p_k})(\frac{d \mathcal T_{\mathbf D \leftarrow \mathbf R}(p)}{dp}|_{p=p_k})^{-1}tS D( z )tS R( pag.k)+jk( ztD R( pag.k))jk=(dp _re TS R( pag )pag = pagk) (dp _re TD R( pag )pag = pagk)1 TS ← R ( pk ) \mathcal T_{\mathbf S \leftarrow \mathbf R}(p_k)tS R( pag.k)TD ← R ( pk ) \mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)tD R( pag.k) se predice utilizando la red predictora de puntos clavebasada en U-Net. Prediga un mapa de calor para cada punto clave y prediga K mapas de calor en total. La última capa del decodificador U-Net utiliza softmax para predecir el mapa de confianza de cada punto clave, que es la confianza del punto clave en cada posición de píxel, que satisface ∑ z ∈ ZW k (z) =1 \sum_ {z \in \mathcal Z} \mathbf W^k(z)=1z ZW.a (de)=1 , dondeZ \mathcal ZZ representa todas las posiciones de píxeles.
TS ← R ( pk ) \mathcal T_{\mathbf S \leftarrow \mathbf R}(p_k)tS R( pag.k)TD ← R ( pk ) \mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)tD R( pag.k) es equivalente al parámetro de traducción en la transformación afín. Tenga en cuenta que es bidimensional (z incluye x e y). Los parámetros de traducción se calculan ponderados por el mapa de confianza de puntos clave:
bk = ∑ z ∈ ZW k ( z ) zb^k = \sum_{z \in \mathcal Z} \mathbf W^k(z)zbk=z ZW.k (z)z d TS ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf S \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _re TS R( pag )pag = pagkd TD ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf D \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _re TD R( pag )pag = pagkEquivalentes a la parte de transformación lineal en la transformación afín, se estiman como los 4 parámetros restantes en la transformación afín utilizando los 4 canales adicionales de la red predictora de puntos clave, con 4 canales adicionales para cada punto clave. Utilice P ijk ∈ RH × WP^k_{ij} \in \mathbb R^{H \times W}PAGyokRH × W representa el valor estimado de uno de los canales, dondei, j ∈ { 1, 2 } i,j\in\{1,2\}yo ,j{ 1 ,2 } es la coordenada de la transformación afín. Los parámetros de la transformación lineal se ponderan y fusionan utilizando mapas de confianza de puntos clave:
B k [ i , j ] = ∑ z ∈ ZW k ( z ) P ijk ( z ) \mathbf B^k[i,j] = \sum_ {z \in \mathcal Z} \mathbf W^k(z)P^k_{ij}(z)Bk [yo,j ]=z ZW.k (z)Pyok( z )

estimación de movimiento denso

La estimación de movimiento denso predice el patrón de movimiento T ^ S ← D de cada píxel en la imagen completa \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}t^S D

Usamos una red convolucional de KK.Expansión de Taylor TS en K puntos clave← D ( z ) \mathcal T_{\mathbf S \leftarrow \mathbf D}(z)tS D( z ) y el cuadro de imagen de origenS \mathbf SSsing T ^ S ← D \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}t^S D.
Distorsionar el marco de la imagen fuente S usando transformaciones en puntos clave \mathbf SS , puedes obtenerKKK imágenes transformadasS 1 , ⋯ , SK \mathbf S^1, \cdots, \mathbf S^KS1 ,,Sk._ _ Además, considere una imagen adicionalS 0 = S \mathbf S^0 = \mathbf SS0=S como fondo. Calcule el mapa de calor H k ( z ) \mathbf H_k(z)
para cada punto clavehk( z ) Especifique la suavidad en el movimiento intrínseco
H k ( z ) = exp ( ( TD ← R ( pk ) − z ) 2 σ ) − exp ( ( TS ← R ( pk ) − z ) 2 σ ) \mathbf H_k (z) = exp(\frac{(\mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)-z)^2}{\sigma}) - exp(\frac{(\mathcal T_{\ mathbf S \leftarrow \mathbf R}(p_k)-z)^2}{\sigma})hk( z )=e x p (pag( tD R( pag.k)z )2)e x p (pag( tS R( pag.k)z )2)
H k \mathbf H_khkS 0 , ⋯ , SK \mathbf S^0, \cdots, \mathbf S^KS0 ,,SLa entrada de empalme K esuna red de movimiento denso. estimaciones de la red de movimiento densoK + 1 K+1k+1 máscaraM k , k = 0 , ⋯ , K \mathbf M_k, k = 0, \cdots, KMETROk,k=0 ,,K indica qué transformación local se utiliza para cada posición, cumpliendo∑ k = 0 KM k ( z ) = 1 \sum_{k=0}^K \mathbf M^k(z)=1k = 0kMETROa (de)=1. Definamos la ecuación de la siguiente manera:
T ^ S ← D ( z ) = M 0 z + ∑ k = 1 KM k ( TS ← R ( pk ) + J k ( z − TD ← R ( pk ) ) ) \ .hat{\mathbf T}_{\mathbf S \leftarrow \mathbf D}(z) = \mathbf M_0z + \sum_{k=1}^K \mathbf M_k(\mathbf T_{\mathbf S \ flecha izquierda \mathbf R }(p_k) + J_k(z-\mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)))t^S D( z )=METRO0z+k = 1kMETROk( tS R( pag.k)+jk( ztD R( pag.k) _ 0(z)z + \sum_{k=1}^K \mathbf M^k(z) \mathbf A^k_{\mathbf S \leftarrow \mathbf D} {\begin{bmatrix}{z
}
\\1 \end{bmatriz}}O ( z )=METRO0 (z)z+k = 1kMETROk (z)AS Dk[z1]

Módulo de generación de imágenes

1. Según la predicción T ^ S ← D \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}t^S Da SSEl mapa de características de S después de dos convoluciones de reducción de resolución ξ ∈ RH ′ × W ′ \xi \in \mathbb R^{H'\times W'}XRh ×ancho' Utiliza la operación de deformación.
2. En lasSSCuando hay oclusión en S , D ′ D'D' no se puede obtener completamente mediante la imagen fuente de deformación, pero requiere pintura. Entonces, predice un mapa de oclusiónO ^ S ← D ∈ [ 0 , 1 ] H ′ × W ′ \hat{\mathcal O}_{\mathbf S \leftarrow \mathbf D} \in [0,1 ]^{H '\veces W'}oh^S D[ 0 ,1 ]h ×ancho , que indica el área de la imagen de origen que debe pintarse. El mapa de oclusión se predice agregando una capa después de la red de movimiento densa.
El mapa de características transformado se puede expresar como:
ξ ′ = O ^ S ← D ⊙ fw ( ξ , T ^ S ← D ) \xi' = \hat{\mathcal O}_{\mathbf S \leftarrow \mathbf D} \odot f_w(\xi, \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D})X=oh^S DFw( ξ ,t^S D) fw f_wFwRepresenta la operación de deformación hacia atrás. El mapa de características convertido se ingresa en la capa posterior del módulo de generación de imágenes para su procesamiento y finalmente se genera una imagen.

tren

La pérdida de entrenamiento consta de varios elementos. La primera es la pérdida de reconstrucción basada en la pérdida de percepción. Esta pérdida utiliza la red VGG-19 previamente entrenada como extractor de características para comparar las diferencias de características entre los cuadros reconstruidos y los cuadros reales que impulsan el video.

Además, considerando que el aprendizaje de puntos clave no está etiquetado, lo que conducirá a un rendimiento inestable, se introduce una restricción de equivarianza para su uso en el aprendizaje de puntos clave no supervisado. Supongamos imagen XXX sufre una transformación conocidaTX ← Y \mathcal T_{\mathbf X \leftarrow \mathbf Y}tX YObtener AAY。Solución de restricción de equivarianza:
TX ← R ≡ TX ← Y ∘ TY ← R \mathcal T_{\mathbf X \leftarrow \mathbf R} \equiv \mathcal T_{\mathbf X \leftarrow \mathbf Y} \circ \mathbf Y }; {\mathbf Y\flecha izquierda\mathbf R}tX RtX YtY RRealizando una expansión de Taylor de primer orden en ambos lados y utilizando la pérdida L1 para restringir los valores y jacobiano en los puntos clave, respectivamente.

Referencias

《Modelo de movimiento de primer orden para animación de imágenes》
《Representaciones de movimiento para animación articulada》

Supongo que te gusta

Origin blog.csdn.net/icylling/article/details/130365274
Recomendado
Clasificación