この記事は画像アニメーションの問題を解決します。ソース画像と走行ビデオがあり、それらに含まれるオブジェクトが同じ種類であると仮定すると、この記事の方法では、ソース画像内のオブジェクトが走行ビデオ内のオブジェクトの動作に従って移動します。
この記事の方法では、同様のオブジェクトのビデオ セットのみが必要で、追加の注釈は必要ありません。
方法
この手法は自己教師あり戦略に基づいており、主な手法はトレーニング ビデオ内の画像フレームと学習されたアクション表現に基づいてトレーニング ビデオを再構成することです。このうち、アクション表現はモーション固有のキーポイントとローカル アフィン変換で構成されます。なお、自己教師あり手法であるため、顔キーポイント検出アルゴリズムにおける特定の意味を人為的に指定したキーポイントとは異なり、キーポイントはアルゴリズムによって学習される。
フレーム図は上の図に示されており、2 つの部分で構成されています。1 つは動き推定モジュール、もう 1 つは画像生成モジュールです。
動き推定モジュールの目的は、運転ビデオ \mathbf D \in \mathbb R^{3\times H \times W} からフレームD ∈ R 3 × H × Wを推定することです。D∈R3 × H × Wからソース画像S ∈ R 3 × H × W \mathbf S \in \mathbb R^{3\times H \times W}S∈R3 × H × Wの高密度モーションフィールド。スポーツ分野TS ← D : R 2 → R 2 \mathcal T_{\mathbf S \leftarrow \mathbf D}: \mathbb R^2 \rightarrow \mathbb R^2TS ← D:R2→R2将D \mathbf DDの各ピクセル位置は、対応するS \mathbf SS。TS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}TS ← D逆方向オプティカル フローとも呼ばれます。双線形サンプリングを使用して微分可能な方法で後方ワーピングを効率的に達成できるため、順方向オプティカル フローの代わりに逆方向オプティカル フローが使用されます。
アフィン変換
まずはラジアル変換(アフィン変換)を思い出してみましょう。
同次座標では、アフィン変換は次の式で表すことができます:
[ 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{bmatrix}}[y1】=[B0、…、0b 1] [バツ1]演算行列の最後の行は演算完了に使用されるため、2 次元画像上のアフィン変換は行列A = [ B , b ⃗ ] ∈ R 2 × 3 \mathbf A = [\ mathbf B, \vec {b}] \in \mathbb R^{2 \times 3}あ=[ B 、b】∈R2 × 3の定義。
動き推定モジュール
動き推定モジュールは 2 つの部分に分かれています。
粗い動き推定
粗い動き推定は、キーポイントでの動きパターン、つまり逆オプティカル フローを予測しますTS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}TS ← DTS ← D \mathcal T_{\mathbf S \leftarrow \mathbf D}TS ← Dキーポイント付近の一次テイラー展開で近似します。
抽象参照フレームR \mathbf Rがあると仮定します。R._ _ このようにして、次の 2 つの変換を推定する必要があります。 fromR \mathbf RRからS \mathbf SS(TS ← R \mathcal T_{\mathbf S \leftarrow \mathbf R}TS ← R) そしてR \mathbf RからRからD \mathbf DD(TD ← R \mathcal T_{\mathbf D \leftarrow \mathbf R}TD ← R)。抽象参照フレームの利点は、D を独立して処理できることです\mathbf DD和S \mathbf SS._ _
説明の便宜上、X \mathbf XX はS \mathbf Sを表しますSまたはD \mathbf DD,用p 1 , ⋯ , p K p_1,\cdots,p_Kp1、⋯、pK抽象参照フレームを表しますR \mathbf RR上のキーポイントの座標はzzz は他のフレーム上の点の座標を表します。キーポイントp 1 , ⋯ , p K p_1,\cdots,p_Kp1、⋯、pKTX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}あたりTX ← R。具体的には、 TX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}を考えます。TX ← Rキーポイントp 1 、⋯ 、p K p_1,\cdots,p_Kp1、⋯、pKさらに:
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( p )=TX ← R( pk)+(dp _dT _X ← R( p )∣p = pk) ( p−pk)+o ( ∥ p−pk∥ )これはアフィン変換AX ← R k ∈ R 2 × 3 \mathbf A^k_{\mathbf X \leftarrow \mathbf R} \in \mathbb R^{2 \times 3} とみなすことができます。あX ← Rk∈R2 × 3 ,TX ← R ( pk ) \mathcal T_{\mathbf X \leftarrow \mathbf R}(p_k)TX ← R( pk)は変換パラメータです。d TX ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf X \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _dT _X ← R( p )∣p = pk線形マッピングのパラメータです。
TX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}TX ← R関数 K は自由形式のヤコビ関数です
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) \about \{\{ \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( p )≈{
{
TX ← R( p1)、dp _dT _X ← R( p )∣p = p1} 、⋯、{
TX ← R( pK)、dp _dT _X ← R( p )∣p = pK}} TX ← R \mathcal T_{\mathbf X \leftarrow \mathbf R}
と仮定します。TX ← R各キーポイントの局所性は全単射です。次に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 ← R○TD ← R− 1境界層の場合
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) \about \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( pk)+Jk( z−TD ← R( pk))Jk=(dp _dT _S ← R( p )∣p = pk) (dp _dT _D ← R( p )∣p = pk)− 1 TS ← R ( pk ) \mathcal T_{\mathbf S \leftarrow \mathbf R}(p_k)TS ← R( pk)和TD ← R ( pk ) \mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)TD ← R( pk)は、U-Net に基づくキーポイント予測ネットワークを。各キー ポイントのヒートマップを予測し、合計 K 個のヒートマップを予測します。U-Net デコーダの最後の層は、ソフトマックスを使用して各キー ポイントの信頼度マップ (キーポイント信頼度マップ) を予測します。これは、∑ z ∈ ZW k ( z ) = 1を満たす、各ピクセル位置でのキー ポイントの信頼度です。\sum_ {z \in \mathcal Z} \mathbf W^k(z)=1∑z ∈ ZWに(の)=1、ここでZ \mathcal ZZ はすべてのピクセル位置を表します。
TS ← R ( pk ) \mathcal T_{\mathbf S \leftarrow \mathbf R}(p_k)TS ← R( pk)和TD ← R ( pk ) \mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)TD ← R( pk)はアフィン変換における平行移動パラメータに相当しますが、2 次元 (z には x と y が含まれます) であることに注意してください。変換パラメータはキー ポイント信頼マップによって重み付けされて計算されます:
bk = ∑ z ∈ ZW k ( z ) zb^k = \sum_{z \in \mathcal Z} \mathbf W^k(z)zbk=z ∈ Z∑Wk (z)z d TS ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf S \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _dT _S ← R( p )∣p = pk和d TD ← R ( p ) dp ∣ p = pk \frac{d \mathcal T_{\mathbf D \leftarrow \mathbf R}(p)}{dp}|_{p=p_k}dp _dT _D ← R( p )∣p = pkアフィン変換の線形変換部分に相当し、キーポイント予測ネットワークの追加の 4 チャネル (キーポイントごとに 4 つの追加チャネル) を使用して、アフィン変換の残りの 4 つのパラメータとして推定されます。P ijk ∈ RH × WP^k_{ij} \in \mathbb R^{H \times W} を使用します。Pijk∈RH × Wはチャネルの 1 つの推定値を表します。ここで、i, j ∈ { 1, 2 } i,j\in\{1,2\}私、j∈{
1 、2 }はアフィン変換の座標です。線形変換のパラメーターは、キーポイント信頼マップを使用して重み付けされ、融合されます。
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 [私、j ]=z ∈ Z∑Wk (z)Pijk( z )
密な動きの推定
密な動き推定は、画像全体の各ピクセルの動きパターンT ^ S ← Dを予測します \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}T^S ← D。
KKの畳み込みネットワークを使用していますKキーポイント← D ( z ) \mathcal T_{\mathbf S \leftarrow \mathbf D}(z)TS ← D( z )とソース画像フレームS \mathbf SSsing T ^ S ← D \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}T^S ← D。
キーポイントでの変換を使用してソース画像フレーム S を歪めます\mathbf SS 、 KKを取得できますK 個の変換された画像S 1 , ⋯ , SK \mathbf S^1, \cdots, \mathbf S^KS1、⋯、SK._ _ さらに、追加の画像S 0 = S \mathbf S^0 = \mathbf SS0=背景としてのS。
各キーポイントのH k ( z ) \mathbf H_k(z)Hk( z )固有運動の滑らかさを指定します。
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 × p (p( TD ← R( pk)−z )2)−e × p (p( TS ← R( pk)−z )2)
将H k \mathbf H_kHk和S 0 , ⋯ , SK \mathbf S^0, \cdots, \mathbf S^KS0、⋯、SKスプライシング入力は、高密度モーション ネットワーク。高密度モーション ネットワークの推定値K + 1 K+1K+1マスクM k , k = 0 , ⋯ , K \mathbf M_k, k = 0, \cdots, KMk、k=0、⋯、K は、各位置にどのローカル変換が使用されるかを示し、∑ k = 0 KM k ( z ) = 1 \sum_{k=0}^K \mathbf M^k(z)=1 を満たします。∑k = 0KMに(の)=1.方程式を次のように定義しましょう:
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 \ leftarrow \mathbf R }(p_k) + J_k(z-\mathcal T_{\mathbf D \leftarrow \mathbf R}(p_k)))T^S ← D( z )=M0z+k = 1∑KMk( TS ← R( pk)+Jk( z−TD ← R( pk)
.
_ 0(z)z + \sum_{k=1}^K \mathbf M^k(z) \mathbf A^k_{\mathbf S \leftarrow \mathbf D} {\begin{bmatrix}{z} \\1 \end{bmatrix}}O ( z )=M0 (z)z+k = 1∑KMk (z)AS ← Dk[z1】
画像生成モジュール
1. 予測T ^ S ← D \hat{\mathcal T}_{\mathbf S \leftarrow \mathbf D}によるとT^S ← DSSへ2 つのダウンサンプリング畳み込み後のSの特徴マップξ ∈ RH ' × W ' \xi \in \mathbb R^{H'\times W'}バツ∈RH「 ×W」'ワープ操作を使用します。2.SS
でS 、 D ' D'にオクルージョンがある場合D'はワープ ソース イメージによって完全に取得することはできませんが、修復が必要です。したがって、オクルージョン マップを予測しますO ^ S ← D ∈ [ 0 , 1 ] H ' × W ' \hat{\mathcal O}_{\mathbf S \leftarrow \mathbf D} \in [0,1 ]^{H '\times W'}○^S ← D∈[ 0 ,1 ]H「 ×W」' は、修復する必要があるソース イメージの領域を示します。オクルージョン マップは、高密度モーション ネットワークの後にレイヤーを追加することで予測されます。
変換された特徴マップは次のように表現できます:
ξ ' = 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})バツ』=○^S ← D⊙fw( ξ ,T^S ← D) fw f_wfwバックワーピング動作を表します。変換された特徴マップは画像生成モジュールの後段に入力されて処理され、最終的に画像が生成されます。
電車
トレーニングロスは複数の項目で構成されます。1つ目は、知覚損失に基づく再構成損失です。この損失では、再構築されたフレームとビデオを駆動する実際のフレームの間の特徴の違いを比較するための特徴抽出器として、事前にトレーニングされた VGG-19 ネットワークが使用されます。
さらに、キーポイントの学習はラベルなしで行われ、パフォーマンスが不安定になることを考慮して、教師なしキーポイント学習で使用するために等分散制約が導入されています。写真XXを想定しますX は既知の変換を受けますTX ← Y \mathcal T_{\mathbf X \leftarrow \mathbf Y}TX ← YYYを取得Y。等分散制約解:
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\左矢印\mathbf R}TX ← R≡TX ← Y○TY ← R両側で一次テイラー展開を実行し、L1 損失を使用してキーポイントの値とヤコビアンをそれぞれ制約します。
参考文献
《画像アニメーションの一次運動モデル》
《多関節アニメーションの運動表現》