ビデオのリタイミング実例
ビデオ内の人々の動きのタイミングを操作する機能は、ビデオ編集者がエキサイティングな効果を作成し、イベントの認識を変えるのに役立ちます。ビデオ操作は、人々の動きを速くしたり遅くしたりして時間を変更するために、映画で幅広く使用されています。アクション映画のアクション一杯のシーンで悪役とされる『ヴィラン』がフリーズするシーンを何度見たことがありますか?
このレポートでは、複数の人が動いている自然なビデオを取り込むことができる深層学習ベースの方法について説明します。その出力は、人々の動きのタイミングが変更された、ビデオのリアルな再レンダリングです。
論文 | プロジェクトのウェブサイト
前書き
難しい問題となる理由
ビデオ内の人々の動きをリタイミングすることは難しいです。前述のように、リタイミングは映画分野で広く使用されているものの、これまで主にキャラクターアニメーションのコンテキストで研究されてきました。キャラクターアニメーションでは、一連の関節の動きのタイミングを調整することが課題です。ただし、これらの関節の間には時空間的相関が存在します。通常、そのようなキャラクターのグラウンドトゥルース3Dモデルも存在しています。
自然なビデオで人々のタイミングを操作すると想像してみましょう。関節を動かすだけでなく、全身を動かすことです。さらに、写実的な高品質のリタイミング効果を生成するには、人物の影、反射、水のしぶきなど、人物の動きと相関しているシーン内のさまざまな要素が、正確にリタイミングされる必要があります。
ビデオは1人を対象とするものではありません。人物間の相互作用を考慮に入れるべきです。フレーム間のわずかなずれなどの小さなエラーは、視覚的なアーティファクトとして表示される場合があります。
提案された方法の有望さ
-
この方法は、すべてのフレームを一連のレイヤーに分解するために、ビデオごとに最適化されます(RGBAカラー画像、これについては後で詳しく説明します)。最適化プロセスにより、時間の経過に伴う各RGBAレイヤーが、ビデオ内の特定の人物または人々のグループに関連付けられます。このグループ化は事前に定義できるため、最適化はこれに制約されます。レイヤーごとの1つのグループにより、リタイミング効果のロバスト制御が保証されます。
-
モデルは、既存のツールを使用して取得した人々の大きなパラメータ化を使用して、影や反射などのシーン内の相関要素を持つ人々のグループ化を自動的に学習します。
-
グループごとにレイヤーが存在するため、追加のトレーニングや処理を行うことなく、特定のレイヤーの削除、コピー、補間などのレイヤーに対する簡単な操作でリタイミング効果を生成できます。これは、推定フレームを使用した標準の背面から前面へのコンポスティングを使用して、ビデオのオリジナルフレームを再構築できるからです。
-
この方法は、通常の自然なビデオに適用できます。多くのアプリがこの方法に恵まれています。
この論文の著者によってリンクされたビデオをご覧ください。 👇
提案方法の概要
提案された方法は、入力ビデオの層状分解を学習する新しい深層ニューラルネットワークに基づいています。したがって、そのモデルは、影や反射などの相関要素とともに、さまざまなレイヤーでの人々の動きを分解します。
提案されたモデルは、自己監視方式でビデオごとにトレーニングされます。全体像のタスクは、レイヤーを予測してオリジナルビデオを再構築することです。考えてみると、これはとても賢い方法ですよね。では、このモデルについて詳しく見てみましょう。
-
著者は、最初に、AlphaPoseやDensePoseなどの既製の方法を巧みに組み合わせて、各フレームで各人を表現します。
-
この表現はニューラルレンダラーに渡されます。このニューラルレンダラーへの入力には、人物(方法はあとで説明します)と静的な背景のみが含まれます。このレンダラーのタスクは、完全な入力ビデオを再構築するレイヤーを生成することです。すごいですね。これらの推定フレームを使用すると、任意の簡単な編集方法を使用して、リタイミングを実現できます。追加されたメリットは、学習されたレイヤーが相関要素もキャプチャすることです。
図1: 提案された方法の要約。 ソース
提案された方法の要点について見てみましょう。
問題の定式化
入力ビデオVVVが与えられた場合、その目的は、各フレームTt∈VT_t \in VTt∈VをRGBA(カラーチャネル+不透明度)レイヤーのセットに分解することです。これは次のように表されます。
At={Lti}i=1N={Cti,αti}i=1NA_t = \{L_t^i\}_{i=1}^N = \{ C_t^i, \alpha_t^i \}_{i=1}^N
ここで、CtiC_t^iiCtiはカラー画像であり、αti\ αti\alpha_t^iiαtiは不透明度マップです。各ithi^{th}ithレイヤーは、ビデオ内のithi^{th}i^{th}ith人物/グループに関連付けられています。また、$L_t^0$0は背景レイヤーです。推定レイヤーおよびレイヤーの前後の順序を使用して、各ビデオフレームを標準の「オーバー」演算子を使用してレンダリングできます。この操作は次のように表されます。
I^t=Comp(At,ot)\hat I_t = Comp(A_t, o_t)
ここで、oto_t は推定レイヤーの順序です。レンダリングされたフレームが入力フレームとまったく同じである場合、上記の式の等式が存在します。
著者は、各フレームをレイヤーセットに分解するために、自己監視学習を巧みに使用しています。その方法については、トレーニングセクションで説明します。
階層化ニューラルレンダラー
深層ニューラルネットワークベースのアーキテクチャと呼ばれる階層化ニューラルレンダラーを使用して、フレームを一連のレイヤーに分解します。
実世界のビデオは、さまざまな方法で分解できます。フレーム全体を含む単一のレイヤーは、ビデオを完全に分解できます。著者は、これが有用でないと認め、目的した個人固有の分解を実現したソリューションを設計してニューラルレンダラーを制約しました。
レンダラーへの入力は次のように構成されます。
-
ビデオ内の各人物は、単一の人物のテクスチャアトラスTiT^iと、フレームごとのUV座標マップUVtiUV_t^iUVtiUV_t^iiでパラメータ化されます。それは、ItI_tIt内の人物の領域の各ピクセルをテクスチャアトラスにマッピングします。ttt時間でiii人物を表すために、UVtiUV_t^iUVttを使用してディープテクスチャマップTiT^iTiがサンプリングされ、TtiT_t^iが取得されます。
-
背景表現: 背景は、ビデオ全体の単一のテクスチャマップT0T^0で表されます。これは、必要な色を学習するために使用されます。背景からのサンプリングは、UVマップUVt0UV_t^0UVt0に従って実行されます。背景のUVマップは、レンダラーに背景コンテキストを提供するために、各人のUVt0UV_t^0マップの後ろに配置されます。
ニューラルレンダラーは、個別のフィードフォワードパスでレイヤーを予測します。このレンダラーの入出力は次のとおりです。
-
入力: 背景のUVマップは、背景のコンテキストを提供するために、各人のUVマップの後ろに配置されます。したがって、tt時間でのii レイヤーの入力は、サンプリングされたディープテクスチャマップTtiT_t^iであり、サンプリングされた背景テクスチャの上に配置された人物i′si's のサンプリングされたテクスチャで構成されます。
-
出力: レンダラーの出力は、Lti={Cti,αti}Lti=Cti,αtiです。ここで、L_t^i = \{C_t^i, \alpha_t^i \}Lti={Cti,αti}です。ここで、C_t^iCtiは時変カラー画像であり、Ctiは時変カラー画像であり、\alpha_t^i$ iは不透明度マップです。
レンダラーは、予測されたレイヤー(出力)からオリジナルフレームを再構築することを目的としています。
##トレーニング
モデルは、最適なパラメーターθθθを見つけるためにビデオごとにトレーニングされます。著者は以下の3つの損失関数を使用しました。
-
タスクは再構成問題として定式化されているため、明らかな損失関数の1つは、入力フレームとレンダリングされたフレームの間のL_1$ 損失です。正式には、
Erecon=1K∑t∣∣It−Comp(At,ot)∣∣E_{recon} = \frac{1}{K} \sum_{t}||I_t - Comp(A_t, o_t)||
-
これだけでは、ランダムな初期化から最適化を十分に収束できません。著者は、学習したアルファマップαtiαti\alpha_t^i αtがレイヤーiiに関連付けられている人々のセグメントと一致するように巧妙に奨励しました。これはモデルのブートストラップにのみ使用され、最適化が進むにつれてずれていきます。
$E_{mask} = \frac{1}{K} \frac{1}{N} \sum_t \sum_i D(m_t^i, \alpha_t^i)$ Here, $m_t^i$ is a trimap derived from the UV maps $UV_t^i$, and $D$ is a distance function.
-
The authors have also used a regularization loss to the opacities αti\alpha_t^i to encourage them to be spatially sparse. Formally,
Ereg=1K1N∑t∑iγ∣∣αti∣∣1+Φ0(αti)E_{reg} = \frac{1}{K} \frac{1}{N} \sum_t \sum_i γ||\alpha_t^i||_1 + Φ_0(\alpha_t^i)
ここで、mtim_t^imtiはUVマップUVtiUV_t^iUVtiから派生したものであり、DDDは距離関数です。 ここで、 Φ0(x)=2.Sigmoid(5x)−1Φ_0(x) = 2. Sigmoid(5x) -1 Sigmoid(5x) -1Φ0(x)=2.Sigmoid(5x)−1は、アルファマップのゼロ以外の値にゆっくりとペナルティを課します。
総損失は、以下の式から得られます。
Etotal=Erecon+γmEmask+βEregE_{total} = E_{recon} + γ_mE_{mask} + βE_{reg}
結論
このレポートは、映画の編集等に用いられるビデオのリタイミング効果に対して提案された方法の要点を説明しました。この論文は興味深い詳細がたくさんあります。是非一度ご自身で試してみることを強くお勧めします。学習したニューラルレンダラーを使用すると、入力ビデオをレイヤーに分解できます。予測されたレイヤーが手元にあれば、レイヤーの簡単な操作でさまざまなリタイミングや編集効果を生み出すことができます。 ニューラルレンダラーは、人物と、その人物に関連するすべての時空間視覚効果を表します。これには、個人の衣服の動きや、影や反射などの挑戦的な半透明の効果も含まれます。論文の著者は、これを興味深い研究分野とみなし、この論文で巧妙に活用しました。 このレポートを通じて、著者が何を達成しようとしているのかを理解していただければ幸いです。下のコメント欄にあなたのお考えを残してください。