e4exp / paper_manager_abstract

0 stars 0 forks source link

Fast and Explicit Neural View Synthesis #664

Open e4exp opened 3 years ago

e4exp commented 3 years ago

本研究では、3Dオブジェクトで構成されたシーンの新しいビュー合成の問題を研究する。 本研究では,連続的でも暗黙的でもない,シンプルで効果的なアプローチを提案し,最近の視点合成のトレンドに挑戦する. 連続的な放射場表現は、その表現力の高さから注目を集めていますが、我々のシンプルなアプローチは、最新のベースラインと比較して、同等またはそれ以上の新規ビューの再構成品質を得ることができ、同時にレンダリング速度が400倍以上向上することを実証しました。 我々のモデルは、カテゴリーにとらわれない方法で学習され、シーンごとの最適化を必要としません。 そのため、学習時には見られなかったオブジェクト・カテゴリに対しても、新規ビュー合成を一般化することができます。 さらに、我々のシンプルな定式化により、明示的な3D監視を行わずに3D形状を効率的に学習するための自己監視信号として、視点合成を使用できることを示しています。

e4exp commented 3 years ago

image

1 はじめに

3D の世界を理解するためには,知的エージェントは, 見たことのない視点からシーンの外観や形状に関する推論を 行うことができなければならない. 疎なソース・ビューが与えられたときに、ターゲット・カメラの視点で画像を効率的に合成できることは、知的な視覚行動を構築するための基本的な目的である[2, 3, 4]。 新規のビューを合成するための学習問題は、文献で広く研究されており、そのアプローチは、マルチプレーンイメージングに依存する伝統的な小さなベースラインビュー合成[5, 6, 7, 8]、フロー推定[9, 10]から、点群[11]、メッシュ[12]、ボクセル[13]を介して明示的に3Dジオメトリをモデル化するものまで多岐にわたっている。 ここでは,3D信号がボリューム[13]やメッシュ[12]のような離散的な幾何学的構造にエンコードされる離散的な表現とは対照的に,シーンがフィッティングされる信号とその領域を共有する連続的な関数(例えば,3D信号をモデル化するためにR 3の点を入力として受け取る関数)として表現される. 連続的なラジアンスフィールド表現は,解像度が不要であったり,視界に依存する効果をモデル化できるという利点があるものの,リアルタイム性が求められる実世界のユースケースでは効率的ではない.

一般的に,ラジアンスフィールド表現には,以下の2つの問題がある. 1つ目は,暗黙的にモデル化された場合,計算コストがかかることである[15, 17, 18]. 例えば,モデルのパラメータは,オブジェクトやシーンごとに勾配降下法で最適化されるが,コモディティハードウェアでは通常,数十時間かかる. 第二に,レンダリングされるピクセルごとにラジアンスフィールドが独立して評価されるため,ビュー間でレンダリングコストを償却することができません[1, 16]. これは,最新のGPUでは画像のレンダリングが数秒で済むため,ラジアンスフィールドの実用性に大きな影響を与えます.

そこで、次のような疑問が生じます。 連続的なラジアンスフィールドの代わりに,独自の利点を持つ有効な手法はあるのだろうか?この疑問に答えるため、我々は、連続的でも暗黙的でもない新しいビュー合成を行うための、シンプルかつ効果的なアプローチを紹介します。 我々のアプローチには以下の利点がある。

(i)新しいシーンに対して勾配ベースの最適化を必要としないため、シーン表現が迅速に得られること、 (ii)1回のフォワードパスで完全な3Dジオメトリと外観をモデル化し、償却レンダリングを可能にするため、レンダリングが効率的であること。

我々の実験によると、この手法はシンプルであるにもかかわらず、連続的なシーン表現に基づく最新のベースラインと、様々な測定基準や設定において同等もしくはそれ以上の性能を発揮し、正確な新しいビューの再構築を行うとともに、最も性能が高いとされるpixelNeRF [1]と比較して400倍以上の速度でオブジェクトをレンダリングすることができました。 さらに、我々のモデルが教師なしで(つまり、3Dジオメトリを監視しながら学習する必要なしに)学習した3Dジオメトリは非常に魅力的であり、モデルを1回前進させるだけで得られるという非常に実用的なものであることがわかりました。

e4exp commented 3 years ago

image

3 方法論

新規ビュー合成問題を以下のように定義する。 ここで、ビューは、画像I_i∈R^{3×h×w}とそのポーズP_i∈SO(3)として定義される。 我々は、そのポーズP_tを条件としてグランドトゥルースのターゲット画像I_tを再構成できるモデルf_θを学習したい。 我々は、f_θを、償却されたレンダリングを可能にする単純な完全畳み込みモデルとして設計する。 このモデルは、ソースビューを2D U-Netエンコーダ[28]で処理し、逆投影ステップにより潜在的なボリューム表現に投影される特徴マップを生成します。 このボリューム表現は,さらに3D U-Netモデルで処理されてRGBαボリューム1を学習し,これにソースビューとターゲットビュー間の相対的な姿勢変換が適用され,最終的に予測されたターゲットビューにレンダリングされる. 図2は、当社のパイプラインを示したものです。

3.1 エンコード

本モデルの最初のステップは、ソースIs∈R 3×h×wを完全な畳み込みU-Netエンコーダーでエンコードし、ソース画像の空間解像度を保持した特徴マップFs∈R c×h×wを生成することである。 特徴マップFsが得られると,逆投影ステップを実行して,Fsを潜在的な体積テンソルZs∈R c×ds×hs×wsに逆投影する。 ここでds,hs,wsは体積表現2の深さ,高さ,幅である。 ENR[13]のように,2次元の特徴マップを3次元のボリューム表現に再形成するのではなく,逆投影ステップを使用することで,3次元のジオメトリとテクスチャ情報を保持することができることがわかった(経験的な証拠については,4を参照).

3.2 Renderable Volumeの学習

逆投影ステップの後、Zsを3D U-Net[29]モデルで単純に処理し、最終的なボリュームVs∈R 4×ds×h×wを予測する。 この段階でVsは、効率的なレンダリングが可能なオブジェクトやシーンのRGBαボリュームをエンコードする。 1, 13]と同様に、ソースカメラとターゲットカメラのポーズ間の相対的な変換Pst = PtP-1 sをボリューム表現Vsに適用し、ターゲットビューに合わせて変換されたボリューム表現Vtを得る。 この変換操作を、剛体変換P∈SO(3)とボリュームVを入力とし、剛体変換をボリュームに適用する関数T(P, V)と定義する。 なお、ここではP∈SO(3)を定義していますが、我々の定式化は他の変換群(例えば、非剛体変形や自由形状変形)にも自然に拡張されます。

3.3 償却レンダリング

次に、RGBαボリュームVを画像にレンダリングするタスクに移ります。 連続的なニューラル・ラジアンス・フィールドを用いてシーンをモデル化する最近の研究[15]では、ピクセルをモデル化するためにレンダリング方程式[30]を用いることで大きな成果を上げている。 レンダリング時に,[15]はカメラの光線rを近距離面tnから遠距離面tfに追跡することでピクセル値を得ることを提案しており,2次元ピクセルの期待される色は以下のように計算できる(詳細は[15]参照).

image

ここで,T(t)は,近平面と光線に沿った現在の点r(t)との間の累積透過率を表しています。 実際には,連続積分を離散化して計算を実行可能にするために,数値求積法や層状サンプリング戦略が採用されます. しかし,NeRF[15]におけるサンプリング処理の重大な問題は,レンダリング処理をビュー間で償却することができないことです. これは、式1の各光線積分が独立しており、ある光線積分を近似するためにサンプリングされたポイントは、シーン内の他の光線積分には再利用できないためです。

我々のアプローチは、シーンの完全なジオメトリと外観をRGBαボリュームV∈R 4×ds×h×wとしてモデル化することで、サンプリングを行う必要性を回避しています。 これにより、(シーンのすべてのレンダリング画像が同じRGBαボリュームを共有しているため)ビュー間でレンダリングを償却することができ、最近のベースラインと比較して、再構成精度を犠牲にすることなく、劇的なレンダリング速度の向上を得ることができました[1]。 RGBαボリュームVをレンダリングする前に,逆ワーピングとトライリニアサンプリング[31]を用いて,(カメラ固有のパラメータを用いて)ビューイングフラスタムにパースペクティブ変形を適用する(詳細は付録を参照). 与えられたピクセル位置(i, j)に対して,期待される色Cˆは次のように計算される。

image

ここで、c k i,jはVtの最初の3チャンネルでエンコードされたカラー値、α k i,jは最後のチャンネルでの値である。

3.4 複数ビューの集約

我々のモデルは、Sの中の任意の数のソースビューを入力として取ることができる。 これを行うために、まず各ソース・ビューの潜在ボリュームZiを取得します。 そして、ソース・ビューの集合の中の任意のソース・ビューs∗を座標系の原点とする。 潜在ボリュームZiは、対応するソース・ポーズPiとオリジン・ポーズPs∗の間の相対変換Pis∗を用いて、オリジンに整列させます。 整列されたボリュームは、ビュー間の平均値をとってプールします。

image

最後に、プールされたボリューム・ラテントZ¯は、3D U-Netに供給されてRGBαボリュームVを生成し、セクション3.3で説明したように効率的にレンダリングすることができます。

3.5 トレーニング

[13, 1]と同様に、トレーニング時には、ソースビューとターゲットビューのタプルを、それらの相対的な変換(Is, It, Pst)とともにサンプリングします。 モデルfθを用いて、ソースからターゲットを予測し、ˆIt = fθ(Is, Pst)とし、レンダリング損失を最小化します。 レンダリングロスは2ロスとSSIM[32]ロスの加重和であり、以下のように定義される。

image

我々の定式化の利点の1つは、学習時にSSIM [32]のような構造的損失の使用をサポートしていることです。 SSIM損失はビュー合成に有用であることが以前に証明されていますが、計算上の制約から学習時に各画像から疎な光線をランダムにサンプリングするため、NeRFのような手法[1]には直接適用できません。