ICCV 2023 | MPI-Flow: 単一ビューから構築されたマルチプレーン画像からのオプティカル フローの学習
出典: ICCV 2023
著者: Yingping Liang 他
機関: 北京工業大学
論文タイトル: MPI-Flow: Learning Realistic Optical Flow with Multiplane Images
論文リンク: https://arxiv.org/abs/2309.06714
オープンソースコード: https://github.com/Sharpiless/MPI-Flow
導入:
学習ベースのオプティカル フロー推定モデルの精度は、トレーニング データ セットの信頼性に大きく依存します。現在、このようなデータセットを生成する方法は、合成データを使用するか、現実性が限定された画像を生成するかのいずれかです。ただし、これらのデータと現実世界のシナリオとの間の領域ギャップにより、トレーニング モデルを現実世界のアプリケーションに一般化することが制限されます。
主な貢献:
この問題を解決するために、この論文では、現実世界の画像から実際のオプティカル フロー データセットを生成することを研究します。
- まず、非常に現実的な新しい画像を生成するために、マルチプラナー画像 (MPI) と呼ばれる、単一ビューの画像から階層的な奥行き表現を構築します。これにより、新しい視点から非常にリアルな画像を生成できるようになります。新しい画像に正確に対応するオプティカル フロー マップを生成するために、カメラ マトリックスとプレーン深度を使用して各プレーンのオプティカル フローを計算します。次に、これらの階層化されたオプティカル フローを、ボリューム レンダリングを使用して出力オプティカル フロー マップに投影します。
- 第二に、動きの信頼性を保証するために、本論文はMPIにおいてカメラと動的なオブジェクトの動きを分離できる独立したオブジェクト動きモジュールを提案する。このモジュールは、オブジェクトの動きを考慮せずにカメラの動きのみによってオプティカル フローが生成される、MPI ベースのシングルビュー手法の欠点に対処します。
- さらに、この論文では、新しい画像を動的オブジェクトと結合し、不自然なモーション オクルージョンを解決するために、深度を意識した内部レンダリング モジュールも設計しています。
この論文では、実際のデータセットに対する広範な実験を通じて、提案された方法の優れたパフォーマンスを実証しています。さらに、提案された方法は、学習ベースのモデルの教師なしトレーニングと教師ありトレーニングの両方で最先端のパフォーマンスを達成します。
モチベーション:
近年、ニューラル ネットワークの急速な発展に伴い、学習ベースのアルゴリズムは従来のモデルベースのアルゴリズムと比較して大幅な進歩を遂げています。従来の手法は主に合成データに依存しており、合成データには正確なオプティカル フロー ラベルとアニメーション画像が含まれています。ただし、合成データと実際のデータの間の領域のギャップにより、現実世界のアプリケーションでのさらなる改善が妨げられます。
最近の研究は、特別な手作りのハードウェアを使用して実データからオプティカル フローを抽出することを目的としています。ただし、厳格な管理と非効率な収集手順により、その適用性は制限されます。この問題を解決するために、Depthstillation [1] と RealFlow [12] が提案され、ランダムな動きを使用して実画像の各ピクセルを新しいビュー フレームに投影し、仮想カメラを介してオプティカル フローを合成します。それにもかかわらず、どちらの方法も画像のリアリズムに欠けており、衝突、穴、アーティファクトなどの問題が発生します。これらの制限により、学習ベースのオプティカル フロー モデルの実際のパフォーマンスが制限されます。
より高い画像のリアリズムを実現するために、この文書では、単一ビューのマルチプレーン画像 (MPI) の使用に注目します。この一連の作業は、重要な単一ビュー画像レンダリング機能を実証し、以前のアプローチでよく見られた衝突、穴、アーティファクトを効果的に軽減します。これらの進歩は画像のリアリズムの向上に貢献しており、当然の疑問が生じます。高忠実度の MPI メソッドを使用して、トレーニング目的で高品質のオプティカル フロー データセットを生成できるか?
この目的を達成するために、この論文では、現実世界の画像からフォトリアリスティックなオプティカル フロー データセットを生成することを目的とした MPI-Flow を提案します。具体的には、本稿ではまず MPI の画像合成パイプラインをレビューし、画像合成を伴うオプティカル フロー生成パイプラインである MPI-Flow を設計します。このステップでは、予測された色と濃度を各層プレーンにワープすることで MPI を構築します。次に、色と密度がボリューム レンダリングを介してリアルな新しいイメージにマッピングされます。レイヤープレーンを利用し、レンダリング画像と実画像から仮想カメラモーションによるオプティカルフローを抽出します。
第二に、MPI は静的なシーンにのみ適用できるため、モーション リアリティが制限されるため、この論文では、この問題を解決するために、独立したオブジェクト モーション モジュールと深度を意識したペイント モジュールを提案します。独立オブジェクト モーション モジュールは、動的オブジェクトを静的シーンから切り離し、異なる仮想カメラ マトリックスを適用して動的部分と静的部分のモーションを計算します。最後に、合成された新しい画像内のオブジェクトの遮蔽を除去するために、深さを認識した画像修復モジュールが導入されています。
アルゴリズムの詳細:
この論文で提案する MPI-Flow フレームワークは、単一ビュー画像を入力として受け取り、深度を推定することによって MPI を構築します。各プレーンの RGB と密度はニューラル ネットワークによって予測され、各プレーンのオプティカル フローは次のように計算されます。カメラマトリックス。新しいビューとオプティカル フロー マップは両方ともボリューム レンダリングによってレンダリングされ、新しいビュー オブジェクト マスクを備えた独立したオブジェクト モーション モジュールによって分離されます。新しい画像は、深さを意識した画像の結合によって作成されます。
オプティカルフローデータの生成
ターゲットの新しいビューでリアルなイメージをレンダリングするために、区別できる方法で元のビューの MPI からピクセルをワープします。具体的には、ニューラル ネットワークを使用して、ソース パースペクティブ ( cn , σ n , dn \mathbf{c}_n, \boldsymbol{\sigma}_n, \mathbf{d}_n) でのカラー チャネル、密度チャネル、深度を予測します。cん、pん、dん):
{ ( cn , σ n , dn ) } n = 1 N = F ( I s , D s ) \left\{\left(\mathbf{c}_n, \boldsymbol{\sigma}_n, \mathbf{d} _n\right)\right\}_{n=1}^N=\mathcal{F}\left(\mathbf{I}_s, \mathbf{D}_s\right){ ( cん、pん、dん) }n = 1N=F(私s、Ds)
其中 I s \mathbf{I}_s 私s和D s \mathbf{D}_sDsオリジナル視点のSSですs 、 NNの下の画像と深度Nは、MPI のプレーンの数を示す事前定義されたパラメーターです。
したがって、新しい視点の下の画像平面上の各ピクセル(xt, yt) (x_t, y_t)( ×た、yた)はnn 番目にマッピングできますn 個のソース MPI プレーン上の(xs, ys) ( x_s, y_s)( ×s、ys):
[ xs , ys , 1 ] T 〜 K ( R − tn T dn ) K − 1 [ xt , yt , 1 ] T \left[x_s, y_s, 1\right]^T \sim \mathbf{K}\left (\mathbf{R}-\frac{\mathbf{tn}^T}{\mathbf{d}_n}\right) \mathbf{K}^{-1}\left[x_t, y_t, 1\right] ^T[ ×s、ys、1 ]T〜K( R−dんトンT)K− 1[ ×た、yた、1 ]T
その中で、R \mathbf{R}R和t \mathbf{t}tは、ソース パースペクティブからターゲット パースペクティブへの回転および平行移動行列KKKはカメラ固有の内部パラメータです。n = [0, 0, 1] \mathbf{n} = [0,0,1]n=[ 0 ,0 、1 ]は法線ベクトルです。したがって、新しい各プレーンの色と濃度は、双線形サンプリングによって取得できます。次に、新しい平面とシーンを通過する光線との間の離散交点を使用して積分を推定します。
I t = ∑ n = 1 N ( cn ′ α n ′ ∏ m = 1 n − 1 ( 1 − α m ′ ) ) \mathbf{I}_t=\sum_{n=1}^N\left(\mathbf {c}_n^{\prime} \boldsymbol{\alpha}_n^{\prime} \prod_{m=1}^{n-1}\left(1-\boldsymbol{\alpha}_m^{\prime }\そうそう)私た=∑n = 1N( cn「あるn「∏m = 1n − 1( 1−あるメートル「) )
その中α n ' = exp ( − δ n σ n ' ) \boldsymbol{\alpha}_n^{\prime}=\exp \left(-\boldsymbol{\delta}_n \boldsymbol{\sigma}_n^{ \プライム}\右)あるn「=経験値( − dんpn「),δ n \boldsymbol{\delta}_ndん平面nnですnとn + 1 n + 1n+1間の距離マッピング
MPI ベースの方法では実際の画像を合成できますが、学習ベースのオプティカル フロー推定モデルをトレーニングするには、信頼性の高いオプティカル フロー マップも必要です。したがって、各プレーンにライト チャネルを追加することをお勧めします。
これを行うには、ピクセル(xs, ys) (x_s, y_s)でソース画像を計算します。( ×s、ys)における n 番目の平面上のオプティカル フローは次
fn = [ xt − xs , yt − ys ] \mathbf{f}_n=\left[x_t-x_s, y_t-y_s\right]fん=[ ×た−バツs、yた−ys】
逆等価形式で後方ワープ プロセスを使用することにより、次のようになります。
[ xt , yt , 1 ] T 〜 K ( R † − t † n T dn ) K − 1 [ xs , ys , 1 ] T \left[x_t, y_t, 1\right]^T \sim \mathbf{K }\left(\mathbf{R}^{\dagger}-\frac{\mathbf{t}^{\dagger} \mathbf{n}^T}{\mathbf{d}_n}\right) \mathbf{ K}^{-1}\left[x_s, y_s, 1\right]^T[ ×た、yた、1 ]T〜K( R†−dんt† nT)K− 1[ ×s、ys、1 ]T
オプティカル フロー マップが新しいビュー イメージと完全に一致することを確認するには、ボリューム レンダリングを使用して最終的なオプティカル フロー ラベルを取得することもお勧めします。
F s → t = ∑ n = 1 N ( fn α n ∏ m = 1 n − 1 ( 1 − α m ) ) \mathbf{F}_{s \rightarrow t}=\sum_{n=1}^N \left(\mathbf{f}_n \boldsymbol{\alpha}_n \prod_{m=1}^{n-1}\left(1-\boldsymbol{\alpha}_m\right)\right)Fs → t=∑n = 1N( fんあるん∏m = 1n − 1( 1−あるメートル) )
独立したオブジェクトの動き
より現実的な動きをシミュレートするために、シーンから抽出されたオブジェクトと静的な背景の仮想的な動きを適用することを提案します。したがって、インスタンス セグメンテーション ネットワークを活用して、ソース イメージ内の主要オブジェクト マスクを抽出します。
次に、背景と前景に異なるカメラの動きを使用して、スポーツ場のシーンをシミュレートします。
図に示すように、独立した動きを追加する前は、オブジェクトとシーンは同じ方向に移動するため、同様のオプティカル フローを持ちます。
独立したモーションを追加すると、オブジェクトとシーンは別々のモーション方向を持つようになり、実際のシーンのモーションとより一貫性が高まります。
深度を考慮した修復
結合された画像には現実的な視覚効果がありますが、カメラの動きやオブジェクトの動きによって生じる深度の変化により、不自然なオクルージョンが発生する可能性もあります。この問題を解決するには、ボリューム レンダリングを使用して、シーンの新しいビューの深度を取得します。
D t = ∑ n = 1 N ( dn ′ α n ′ ∏ m = 1 n − 1 ( 1 − α m ′ ) ) \mathbf{D}_t=\sum_{n=1}^N\left(\mathbf {d}_n^{\prime} \boldsymbol{\alpha}_n^{\prime} \prod_{m=1}^{n-1}\left(1-\boldsymbol{\alpha}_m^{\prime }\そうそう)Dた=∑n = 1N( dn「あるn「∏m = 1n − 1( 1−あるメートル「) )
同じ方法を使用して、新しい視点からオブジェクトの奥行きを取得することもできます。次に、図に示すように、これら 2 つの深度を使用して、新しいビュー間の占有マスクを計算し、オブジェクトとシーンの前面と背面のオクルージョン関係を修復します。
実験結果:
提案された方法の有効性を評価するために、MPI-Flow は広く使用されている実際のオプティカル フロー データセットである KITTI データセットで実験を実施し、さまざまなソースからの生の単眼画像データが結果に与える影響をテストしました。
表 1 は、クロスデータセットの検証結果と、実際の画像またはビデオからの他のデータセット生成方法との比較を示しています。「画像ソース」列は、オプティカル フロー トレーニング データの生成に使用される画像データセットを表します。さまざまな方法を使用してさまざまなデータセットでトレーニングされた RAFT の評価結果をレポートします (C+T を使用して事前トレーニング済み)。RealFlow が COCO からのシングルビュー イメージを処理できないことを考慮すると、この結果は「N/A」としてマークされます。中括弧「{}」はラベルのない評価セットの使用を示し、KITTI 15 トレーニング セットがこの表に示されています。
アブレーション実験では、元の画像の数が同じ場合、より多くのランダムな動きを使用してより多くのデータを合成すると、パフォーマンスがさらに向上する可能性があることが示されています。