e4exp / paper_manager_abstract

0 stars 0 forks source link

Differentiable Rendering: A Survey #681

Open e4exp opened 3 years ago

e4exp commented 3 years ago

概要-

ディープニューラルネットワーク(DNN)は、物体の検出や画像のセグメンテーションなど、視覚に関連するタスクにおいて顕著な性能向上を示している。 その成功にもかかわらず、一般的には、シーンの3D情報を収集したり、簡単にアノテーションを付けたりすることができないため、画像を形成する3Dオブジェクトの理解が不足しています。 微分レンダリングは、3Dオブジェクトのグラデーションを計算し、画像に伝搬させることができる新しい分野です。 また、3Dデータの収集やアノテーションの必要性を軽減するとともに、様々なアプリケーションで高い成功率を可能にします。 本稿では、既存の文献をレビューし、微分可能なレンダリングの現状とその応用、および未解決の研究課題について議論します。

e4exp commented 3 years ago

image

1 はじめに

ここ数年,ニューラルネットワークが2Dおよび3Dの推論に有効であることが明らかになってきました [1], [2], [3], [4], [5], [6]. しかし,ほとんどの3D推定手法は,教師付きの学習システムとコストのかかるアノテーションに依存しており,3D観測のすべての特性を収集することは困難である. そのため,最近では,入手しやすい2次元の情報や,異なるレベルの監督を利用して,3次元のシーンを理解しようとする取り組みが行われています. その1つが、ニューラルネットワークのパイプラインにグラフィカルなレンダリングプロセスを統合するアプローチです。 これにより、3D推定値を2D画像レベルの証拠に変換して組み込むことができます。 コンピュータグラフィックスにおけるレンダリングとは、ジオメトリ、マテリアル、シーンライト、カメラのプロパティで定義された3Dシーンの画像を生成するプロセスです。 レンダリングは複雑なプロセスであり、その微分は一意に定義されていないため、ニューラルネットワークに簡単に統合することができません。

微分可能なレンダリング(DR)は、レンダリングプロセスの有用なグラデーションを得ることで、エンドツーエンドの最適化のために、このような統合に取り組む技術の一群です。 レンダリングを区別することで、DRは2Dと3Dの処理方法のギャップを埋め、ニューラルネットワークが2Dの投影を操作しながら3Dエンティティを最適化できるようにします。 図1に示すように、3Dシーンのパラメータの最適化は、レンダリング出力に関するグラデーションをバックプロパゲーションすることで実現できます。 一般的な3D自己教師パイプラインは、レンダリング層を予測されたシーンパラメータに統合し、レンダリング画像と入力画像を様々な方法で比較して損失を適用します。 このプロセスの応用範囲は広く,3Dオブジェクト再構築の画像ベースのトレーニング[7], [8], [9],人間の姿勢推定[10], [11],手の姿勢推定[12], [13],顔の再構築[14], [15]などがある.

その可能性があるにもかかわらず、既存のDR手法を利用したり、新しい手法を開発したりすることは簡単ではありません。 これには4つの理由がある。

これらの欠点に対処するには,DRの現状を適切に調査する必要がある。 しかし,我々の知る限り,この目的のための包括的なレビューはこれまで存在していない。 本論文では,第2節でDRアルゴリズムの現状,第3節で評価指標,第4節で微分可能なレンダリングを使用するアプリケーション,第5節で研究を促進するために現在使用されているライブラリの概要を説明する。 また,既存の手法のサーベイに加えて,未解決の研究課題を議論し,将来の研究への提案を行う.

e4exp commented 3 years ago

スクリーンショット 2021-10-15 19 32 20

まず、目的に応じた数学的な定式化を簡単に定義します。 レンダリング関数Rは、形状パラメータΦs、カメラパラメータΦc、材料パラメータΦm、照明パラメータΦlを入力とし、RGB画像Icまたは深度画像Idを出力する。 入力をΦ={Φs, Φm, Φc, Φl}とし、出力をI={Ic, Id}とする。 なお、一般的なDRの定式化では、さまざまな種類の追加入出力エンティティを持つことができますが、本節では最も一般的なものを参照します。 微分可能なレンダラーは、特定の目標(損失関数)に対して最適化するために、入力パラメータ∂I/∂Φに対する出力画像の勾配を計算します。 このグラデーションの計算は近似的であってもよいが、目的関数を最小化するために必要な意味のある情報を伝達するのに十分な精度が必要である。

レンダリング関数Φへの入力、特に幾何学的パラメータΦsは、微分可能なレンダリングアルゴリズム間の主要な差別化要因の一つです。 それぞれのデータ表現には、特定の問題を解決するのに適した強みがあります。 本研究では、調査されたDRアルゴリズムを、基礎となるデータ表現に基づいて、メッシュ、ボクセル、点群、ニューラル暗黙表現の4つのカテゴリーに分類する。 また、レンダリングとその微分を手動で設計するのではなく、ニューラルネットワークモデルを使用してレンダリングを学習する研究が増えていることから、ニューラルレンダリングについても説明します。

表1に、本節で取り上げる文献を示します。

image

2.1 メッシュ

2.1.1 レンダリングの解析的微分

メッシュは、3D形状を頂点とそれを結ぶ面の集合として表します。 複雑な3D形状をコンパクトに表現できるため、特にコンピュータグラフィックスで広く使われています。 レンダリング入力とピクセルが与えられたとき、その色を決定するプロセスは、

(1)ピクセルに三角形を割り当てること、 (2)割り当てられた三角形の頂点の色に基づいてピクセルの色を計算すること、に分けられます。

前者は、すべてのメッシュの三角形をワールド空間からスクリーン空間に投影し、ピクセルを囲む三角形を決定します。 そして、カメラに最も近い三角形が選択されます。 この選択によって離散的な三角形の識別子が得られるので、この操作はすべてのパラメータに関して微分可能ではありません。

これ以上の操作はすべて微分可能です。 図2は、簡略化した計算の流れを示しています。 まず、三角形、ライトの位置と方向を、ワールド空間からカメラ空間に投影し(図2(c)、(d))、続いてスクリーン空間に変換します(図2(b))。 これらの操作は、単純な行列積で実現されるため、微分可能です。 そして、ピクセル座標は、3つの頂点の重み付けされた和として表現されます。 重みの計算(図2(a))は、(微分可能な)線形プログラムを解くことによって行われ、一方、ピクセルの深さは、カメラ空間における3つの頂点の深さを補間することによって計算されます(図2(d))。

image

同様に、ピクセルのマテリアルと法線のベクトルは、通常、三角形の頂点で定義されたマテリアルと法線のベクトルの加重和で表されます。 局所照明モデルの場合、ピクセルの法線ベクトルだけでなく、マテリアルとライティングのパラメータが与えられれば、反射モデルを使ってピクセルカラーを計算することができます(図2(e))。 Phong[47]、Lambertian[48]、Spherical Harmonics[49]などの一般的な反射モデルはすべて微分可能です。 そのため,入力パラメータに対するピクセル深度と色の導関数は,解析的に計算することができます[16], [17], [18]. 標準的なレンダリングでは,最終的な色の値を計算するために,通常,ピクセルごとにちょうど1つの三角形が選択されますが,これは最適化問題につながる可能性があります. 例として、図3に示すように、1つの白い三角形と2つの黒い三角形で構成されるシーンを考えてみましょう。

image

v^w_iの頂点色を1、v^b_iの頂点色を0とすると、v_p=sum w_i v^w_i、sum w_i=1を満たす偏心座標w_iを用いると、v_pの画素の色は定数c_vp=sum wi c{v^w_i}=1となる。 したがって、v^w_iとv^biに対するc{v_p}の勾配は0となります。 同様に、頂点の位置に対するピクセルの色の導関数は、すべてのピクセルと頂点について常にゼロです。 そのため、この場合、解析的な導関数はジオメトリの最適化には役立ちません。 しかし、実際には、頂点の位置がピクセルカラーに影響を与えます。 例えば、v^w2 が右に移動すると、c{v_p} は 0 に変わります。 したがって、関係のないピクセルの色が隣接する三角形に影響を与えるようにすれば、この問題を解決することができます。 いくつかのレンダリング手法は,このような洞察を反映した近似グラデーションを提供していますが [19], [9], [20], [14],他の手法はラスタライザパスを近似することでこの問題を解決しています [22], [23], [21].

2.1.2 Approximated Gradients

Loper and Black [19]は、OpenDRと名付けられた最初の汎用微分可能レンダラに、近似空間勾配を採用した。 v_pはsum w_i = 1のv_p = sum w_i v^w_iで表され、vpに関するピクセル微分は微分フィルタ(Sobelフィルタなど)を用いて計算できる。 つまり、{ ∂ c{vp} / ∂x , ∂ c{vp} / ∂y } = ∂ c{vp} / ∂ v_p となる。 勾配の計算にはvpの左右に位置する画素が考慮されるため、この定式化では0以外の値を持つことができる。

Katoら[9]は、OpenDRの2つの問題点を指摘し、neural 3D mesh renderer (NMR)と名付けたレンダラーを提案しています。 1つ目の問題は、グラデーション計算のローカル性です。 OpenDRでは差分フィルタの局所性のため、境界ピクセルのグラデーションのみが頂点に向かって流れ、他のピクセルのグラデーションは使用できません。 この特性に基づいて最適化すると、劣悪なローカルミニマムになる可能性があります。 2つ目の問題は、導関数が、画像再構成などの対象アプリケーションの損失勾配を利用していないことです。 例えば、図3のケースでは、目的がv_pの強度を下げることであれば、v^w_2を変位させるべきです。 しかし,強度を上げることが目的であれば,そうすべきではありません. このように、グラデーションは目的を考慮して最適化する必要があります。 OpenDRの目的は正確なグラデーションを提供することではなく、最適化のために有用なグラデーションを提供することなので、この目的のためには損失を考慮したグラデーションフローが必要である。

これらの問題を解決するために、著者らは、損失関数からバックプロパゲートされたピクセルの勾配も使用する非局所的な近似勾配を提案する。 著者らは後に,計算の複雑さを軽減するために,non-local gradientsをOpenDRと同様のlocal gradientsに置き換えた[20]. Genovaら[14]は,各ピクセルに対する各三角形のバリセントリック座標を用いて,ラスタライズ導関数を計算しています. 彼らは,オクルージョンの不連続性を克服するために,三角形の境界の外側にあるピクセルのarycentric座標に負の値を導入しています. 三角形の識別子を省略し、負の逆心座標を採用することで、図形を局所的に平面として扱い、オクルージョン境界を近似することができます。 しかし、このような近似は、平行移動やオクルージョンに対して最適化する際に問題となる可能性があります。

2.1.3 近似レンダリング

バックワードパスを近似する代わりに、有用なグラデーションを計算できるように、レンダリングのラスタライズ(またはフォワードパス)を近似する方法もあります。 Rhodinら[21]は、微分可能性を確保するために、シーンパラメータを再解釈しています。 オブジェクトの境界での不連続性を防ぐために、各オブジェクトは、オブジェクトの中心で最大の不透明度を持ち、境界に向かって透明になる密度パラメータで定義されます。 その結果、レンダリング結果はエッジに向かってぼやけた滑らかなものとなり、シーンパラメータからシャープなコーナーを取り除くことで、差別化を図ることができます。 Liuら[22]も同様のアプローチで、Soft Rasterizerと名付けたレンダラーを提案している。 このソフトラスタライザは、空間的なぼかしに加えて、バニララスタライズ処理のzバッファベースの三角形の選択を、画素piに投影される各三角形が一定の確率でその色に寄与する確率的なアプローチに置き換えている。 実際には、集約関数によって、各ピクセルのすべての色の確率が融合されます。 その結果、各ピクセルの色は、関連する三角形に対応する値の加重和として計算され、この演算は微分可能です。 この加重は、2次元の画面空間における画素と三角形の間の距離、およびカメラと三角形の間の視線方向に沿った距離に基づいています。 そのため,グラデーションは画像全体の情報を確率的に蓄積しますが,OpenDRでは近隣のピクセルから頂点へのバックプロパゲーションのみを行い,NMRでは[min(objx), max(objx)]および[min(objy), max(objy)]内にあるピクセルのグラデーションのみをバックプロパゲーションすることになります.

前節のすべての手法は、後方のグラデーションのみを近似することを目的としているため、前方パスの制御はできないことに注意してください。 Chenら[23]は,DIB-Rを提案している. これは,画像の2つの異なる領域,すなわち,少なくとも1つの顔でピクセルが覆われている前景ピクセルと,顔が全く覆われていない背景ピクセルに独立して着目するものである. DIB-Rでは、ソフトラスタライザのようなぼやけた出力を避けるために、前景画素には、顔の頂点属性のバリセントリック補間によって算出された解析的な導関数を使用することを提案しています。 また、ソフトラスタライザと同様に、顔の情報を距離に基づいて集約することで、背景画素のグラデーションの消失を防ぎます。

2.1.4 グローバルイルミネーション

図2のパイプラインは、グローバルイルミネーションモデルには当てはまりません。 なぜなら、ピクセルの照明は、他のサーフェスポイントからの反射光の影響を受けないからです。 この単純化により、レンダリング時間は短縮されますが、光、ジオメトリ、マテリアルの複雑な相互作用を含むフォトリアリスティックな画像を生成することは不可能です。 ピクセルの色は,グローバル照明モデルにおけるレンダリング方程式のモンテカルロ推定[50]を用いて計算されます. 微分可能なフォトリアリスティックレンダリングの主な課題は,モンテカルロ推定されたレンダリング方程式の積分にオブジェクトのシルエットによる不連続性が含まれている場合に,その積分に対応する微分を推定することである. Liら[24]は,カメラ,光源,ジオメトリなどの任意の入力パラメータに関して,物理ベースのレンダリング画像上のスカラ関数の導関数を計算した最初の研究です. この研究では,モンテカルロ光線追跡法に基づく確率的なアプローチを用いて,ピクセルフィルタの積分値と勾配の両方を推定しています。 エッジやオクルージョンはもともと不連続であるため、積分の計算は滑らかな領域と不連続な領域に分けて行われます。 積分の滑らかな部分には、自動微分を用いた従来のエリアサンプリングを採用します。 不連続な部分については、境界での変化を捉えるために、新しいエッジサンプリング法が導入されています。 この手法では,メッシュに相互浸透がないこと,点光源がないこと,完全な鏡面がないこと,シーンが静止していることなどを仮定しています. Zhangら[25]はよく似た手法を提案している。 Liら[24]とは異なり、彼らの手法は三角形のメッシュに加えてボリュームの微分をサポートしています。

これらの手法の2つの大きな欠点は、レンダリング速度と推定勾配の大きな分散です。 これは,物体のすべてのエッジを見つけてサンプリングするという困難な作業が必要であり,そのために多くのサンプルが必要となるためです. Loubetら[26]は,エッジサンプリングに頼る代わりに,球面領域上のピクセル積分を含む,関連するすべての積分を再パラメトリック化することを提案しています. 不連続性は、シーンパラメータに依存するポイントで発生するため、この依存性を取り除くために積分から変数をリパラメトリックに変更します。 このような再パラメトリック化により、シーンパラメータが変化しても不連続性が生じない空間上での積分が可能となり、不連続性に続く積分を重要視してサンプリングするのと同等の効果が得られます。 この方法は計算効率が良いとはいえ、完全鏡面のマテリアル、ディラックデルタ関数を含む縮退光源、積分値のサポート内にある複数の不連続性には対応していません。 また,グラデーションを近似しているため,必ずしも正確なグラデーションが得られるとは限らない. Zhangら[27]は,経路積分定式化の微分を推定する手法を提案しているが[51],一方で,上記で検討した手法はすべてレンダリング方程式の不連続性の問題に対処している[50]

著者らは、経路積分の微分が内部項と境界項に分離できることを示し、両成分を推定するためのモンテカルロ法を提案している。 提案された手法は,物体のシルエットのエッジを明示的に見つける必要がないため,不偏的で計算効率が良い. しかし,1枚のレンダリング画像に対するグラデーションの計算には数秒から数十秒かかるため,ニューラルネットワークの学習には実用的ではない. マテリアルやライトのパラメータに関するグラデーションは、自動微分によって計算することができます。 しかし、メモリ使用量が大きいため、アプリケーションは単純なシーンに限られる。 この問題を解決するために、NimierDavidら[28]は、勾配計算の効率的なアプローチを提案している。 この手法では、レンダリング時に計算グラフを保存しません。 その代わり、バックプロパゲーションの際に、グラデーションを持つ光線がカメラから投射され、オクルージョンのサーフェスにグラデーションが伝搬されます。 しかし、この方法では、オブジェクトの可視性の変化は微分できず、バックプロパゲーションの際にも考慮されないため、形状の最適化は困難です。

2.2 ボクセル

このセクションでは、データの表現にボクセルを使用する微分可能なレンダリングアルゴリズムについて説明します。 ボクセルとは,3次元空間の単位立方体の表現です. ボクセルは,3次元空間で占有されている体積に関する情報と付加的な情報を含むN次元ベクトルとしてパラメータ化することができます. ボクセル内の占有情報は,2値を用いて符号化するか,非2値を用いて透過性を持たせるのが一般的である。 占有率を予測するアプリケーションでは,通常,非二値の占有率Po∈[pmin, pmax]が格納される。 占有確率が透明度の値と異なっていても、光線行進の操作中に微分可能性を維持するために、同じように解釈することができる。 この場合、確率 Po は、あるポイントでの光線の吸収(透明度)を表します。 材料情報もしばしば保存されます。 形状は、占有率の代わりに、各ボクセルの中心から物体の表面までの最短距離で表現することができます。 この表現では、各ボクセルセルに距離関数(DF)が割り当てられる。 距離関数に,ボクセルが物体の内部にあるか外部にあるかを示す符号付きの値を加えて,符号付き距離関数(SDF)とすることができる. また,オブジェクトの表面までの距離情報のみが重要な場合には,SDFにトランケーションを適用して,TSDF(Truncated Signed Distance Function)を形成することもできる. あるピクセルに投影されるレイに沿って位置するすべてのボクセルは、そのピクセルをレンダリングする際に考慮されます。

結果として得られるピクセルの色を決定するために,いくつかのアプローチがあります [7],[29],[30],[31],[32]. ボクセルの位置は3D空間内で固定されているため,2.1節で述べた形状プリミティブの変位に起因するグラデーションの問題は,ボクセルのレンダリング時には発生しない. レイに沿って配置されているボクセルを集めることが、レンダリング処理の最初のステップとなります。 Tulsianiら[29]とJiangら[32]はこの操作をワールドスペースで行いますが、Yanら[7]とHenzlerら[30]は異なるアプローチをとっています。 彼らは、ボクセルをワールド空間から(カメラのパラメータを使用して)スクリーン空間に投影し、Spatial Transformer [52]と同様のバイリニア・サンプリングを行いますが、これはより計算効率が高いものです。 Lombardiら[31]のアプローチはかなり異なっています。 彼らは、ワープフィールド(テンプレートボリュームと出力ボリュームの間のマッピング)という概念を導入し、見かけ上の解像度を向上させ、ギザギザの動きに伴うグリッド状のアーチファクトを低減しています。 ラップ値の逆数が評価され、ワープされた点でテンプレートボリュームがサンプリングされます。 これらの操作はすべて,ボクセルのサブセットに基づいて行われるため,出力はボクセルに対して微分可能です. レイに沿ってボクセルを集約することは、レンダリングプロセスの2番目のステップです。 Yan et al. [7] は,各ピクセルに占有確率を関連付けています. この値は,ピクセルから光線を投射し,関連するすべてのボクセルをサンプリングして,占有確率が最も高いものを選択することで計算されます。 Tulsianiら[29]は,最大値を取る代わりに,光線がある距離で止まる確率を計算しています. この手法の利点は,物体の前景マスクに加えて,深度マップやカラー画像をレンダリングできることです。 Henzlerら[30]は、Tulsianiらと同様のVisual Hull(VH)およびAbsorption Only(AO)モデルに加え、さらに、発光体の双方向発光吸収(EA)光放射モデルを導入しています。 Lombardiら[31]は、各ピクセルから光線を投射し、それに沿って色と不透明度の確率を反復的に累積することで、微分可能な光線行進を採用しています。 光線に沿った不透明度の値の累積合計が最大値に達したとき,残りのボクセルは,その色への影響を防ぐために廃棄される. これらの前述の方法とは異なり,Jiangら[32]は,符号付き距離関数を表すボクセルを扱います. 彼らはピクセルから光線を投射し,その光線に沿ってカメラに最も近い表面ボクセルを見つけます. 最終的なピクセルの色は,表面ボクセルとそれに隣接するボクセルの加重和として計算されます. また、シェーディング値を計算するために、周囲のボクセル値に基づいて、サーフェスポイントの法線ベクトルを計算します。 サーフェスポイントの位置決めは微分可能な操作ではありませんが、ピクセルの色は、サーフェスポイントの周りのボクセルに関して微分可能です。 いくつかの作品では、レンダリング処理中にマテリアルを考慮しています。 Tulsianiら[29]、Henzlerら[30]、Lombardiら[31]は、単にボクセルの色を使ってマテリアルを表現しています。 メッシュレンダリングと同様に、シェーディングモデルのほとんどが微分可能であるため、レンダリング画像はマテリアルのパラメータに対して微分可能です。

2.3 点群

点群は、3D空間の形状を表す点の集まりです。点群は、比較的低いストレージコストで多様なトポロジーを表現できるため、3Dビジョンの分野では広く使われています。 さらに、現在市販されている3Dセンサーのほとんどが、データのエンコードに点群を利用しています。 近年では、点群をディープニューラルネットワークに統合することで、様々な実用的な3D問題を解決できることが示されています[6], [53], [5]。 微分可能なレンダリングの登場と、3D監督を減らしてシーンを理解する可能性を考えると、点群はデータ表現のための自然な選択となっています。

点群のレンダリングは3つのステップで行われます。 まず、3DポイントP^i_xyzのスクリーン空間座標p^i_uvを計算します。 この操作は、メッシュのレンダリングと同様に、行列の乗算によって行われます。 したがって、このステップは微分可能である。 次に、ターゲットピクセルの色に対する各3Dポイントの影響度I_iが計算されます。 第3に、ピクセルの最終的な色の値を決定するために、点はその影響力とZ値に基づいて集約されます。 このステップに対処する方法もいくつか提案されている。 I_iを計算する簡単な方法は、p^i_uvのサイズが1ピクセルであると仮定することである[36]。 しかし,この方法では,非常に疎な画像になってしまう可能性がある. この問題を解決する1つの方法は,画像中のp^i_uvごとに1ピクセルよりも大きな影響を与えることである. いくつかの論文では,切り捨てられたガウスぼかし[33], [34]や,ピクセルとp^i_uvの間の距離に基づく影響値を採用している[35], [37]. これらの操作をオートディフフレームワークで実装すると,生成された画像は点に対して微分可能となる.

しかし、これらの手法では、レンダリング品質と最適化の収束性がトレードオフの関係にあります。 影響度の大きさが大きいと、遠く離れたP^i_xyzに関するピクセルの微分がゼロになるのを防ぐことができるが、レンダリング品質が低下する。 この問題を解決するために,Yifanら[34]は,Katoら[9]と同様に,不可視近似勾配を提案している. 画素の色を計算する方法はいくつか提案されている。 簡単な方法は、点の影響力に基づいて、点の色の加重和を計算する方法である[34]。 しかし、この方法はオクルージョンを考慮していません。 Linら[36]は,与えられたピクセルに対してカメラに最も近い点を選択することでこの問題に対処していますが,これではオクルージョンした点の最適化ができません. 代わりに、Liら[37]は、カメラに最も近いK個の3DポイントP_xyzを選択し、各ピクセルにおける空間的影響力I_iに基づいてそれらを重み付けすることを提案している。 Wilesら[35]は,Liら[22]と同様に,空間的影響力I iによる重み付けに加えて,カメラからPxyzまでの距離に応じて,すべての3DポイントPxyzを重み付けすることを提案している. Insafutdinovら[38]は、ユニークなアプローチをとっている。 Insafutdinovら[38]は,影響値を計算してスクリーン空間のポイントを集約するのではなく,点群から3Dボクセルを生成し,Tulsianiら[8]の手法を用いてレンダリングしています. 深度画像とカメラのパラメータのセットは、点群データを表現する別の方法です。 深度画像を使用することの大きな利点の1つは、その空間情報を直接使用して、点間の三角測量に関する情報を復元できることです。 一方で,奥行き画像を3次元空間に投影すると,距離に反比例して点の密度が低下するという問題がある. 深度画像から別のビューを生成することは,点群のレンダリングの特殊なケースと考えることができる. 単眼深さ推定の自己教師付き学習[39], [40]では,カラー画像を用いて対応する深さを推定し,それを点群に変換して仮想カメラビューに投影する.

2.4 暗黙的表現

近年,ニューラルネットワークにおいて幾何学的情報をパラメトリックに表現することが注目されています[54],[55],[56]. これは,一般にニューラル暗黙表現と呼ばれています. このモデルでは,ある点P^i_xyz∈R 3における幾何学的情報は,ニューラルネットワークF(P^i_xyz)の出力によって記述される。 ボクセルベースの手法とは異なり、暗黙的な表現では、メモリの使用量は空間解像度に対して一定です。 そのため,メモリを過剰に消費することなく,無限の解像度でサーフェスを再構成することができます. ボクセルベースの手法と同様に、幾何学的な情報を表現する方法は3つあります。

第一に、点P^i_xyzが物体によって占有されている確率は、ニューラルネットワークFによってモデル化することができる。 P^i_xyzにおけるグランドトゥルースの占有率が与えられている場合、Fの学習は二値分類問題となり、文献で広く研究されている。 このアプローチは、半透明の物体を表現するのにも、半透明の物体がないシーンの占有率を近似するのにも使用できます。 第三に、物体の表面は、F(P^i_xyz)=0を満たす点P^i_xyzの集合として定義することができ、これはレベルセット法と呼ばれています。 一般的に、F(P^i_xyz)は対象物の表面の境界までの距離を表し、その符号はP^i_xyzが表面の内側にあるか外側にあるかを表す。 他の表現と同様に、実世界のシナリオでは、地表の3D形状を得ることは、多くの場合、高価であるか不可能である。 この問題を解決するために,いくつかの作品では,2次元の情報(デプスマップやマルチビュー画像)を利用し,微分可能なレンダリングの力を活用することが提案されている[41], [42], [43], [44], [45], [46]. 近似占有確率[7]、占有確率と透明度[29]、距離関数による暗黙的な表面[32]など、様々な微分可能なレンダリングアルゴリズムが開発されているボクセルベースの手法と同様に、暗黙的な表現にも、異なる入力タイプを扱うための実装が必要です。

image

表2は、ボクセルに基づく手法と、ニューラル暗示関数に基づく手法の類似点をまとめたものである。 Liuら[41]は,微分可能なレンダリングにおけるニューラル暗黙的表現の最初の使用法を提案しています. 画素p_uvの占有確率を求めるために,p_uvから光線Rが投射されます. そして,光線Rに沿って占有確率の値が最大となる3次元点p_xyzが選択されます. 最後に、p_uv の占有確率に p_xyz の値が割り当てられます。 また,バックプロパゲーションの際には,p_uvの勾配値がp_xyzに割り当てられる. 対照的に,Mildenhallら[42]は,ニューラル・トランスペアレントのための微分可能なレンダリングを提案している. 彼らの論文では,ピクセル値はボリュームレンダリングを用いて,レイに沿ってサンプリングされたすべての点の値を重み付けすることで計算されます. そのため、勾配が複数の点に流れ込み、最適化が安定することが期待されます。 Liuらはシルエットのレンダリングのみをサポートしていますが、MildenhallらはTexture Fieldsを用いたRGB画像のレンダリングをサポートしています[57]。 また、Mildenhallらの研究では、色値を計算する際にレイの方向を考慮しているため、鏡面反射などのビューに依存する現象をサポートしている点も重要なポイントです。

ニューラル暗示関数を採用したいくつかの作品[43],[44],[45],[46]では,レベルセット法によってサーフェイスを表現しています. この方法では,各ピクセルからレイをキャストし,レイとサーフェイスの交点を用いてカメラからサーフェイスまでの距離を計算します. 交差点の色はニューラルネットワークからサンプリングされます。 交差点を基準とした距離の微分は、オートディフフレームワークでは計算できませんが、解析的に計算することができます。 これらの方法では、背景のピクセルでは表面までの距離が無限大になるため、微分可能なシルエット画像をレンダリングすることができません。 そこで、シルエットを考慮しながら最適化するために、前景画素と背景画素でそれぞれ異なる損失関数を採用するのが一般的です。 例えば,Niemeyerら[43]は,シルエットへの投影に遭遇することが偽陽性である場合には交点の占有率を最小化し,投影が偽陰性である場合には光線上のランダムな点の占有率を最大化している. レイ上のポイントをサンプリングすることは、ボクセルベースの手法では、3Dグリッドの離散的な性質により、それに沿ったボクセルの有限セットが存在するため、容易です。 神経暗示表現では、レイに沿って無限の点のセットが存在するため、サンプリングプロセスが困難になります。 この問題に対処するための最も一般的な2つの方法は,ランダムな点またはランダムな摂動を持つ規則的な点をサンプリングすることです[42], [43], [44], [45], [46]. また,3次元空間内のランダムな点をサンプリングし,その点と光線との交点をチェックするという方法もありますが,これは複数のビューがレンダリングされる場合には,さらに効率的になります[41]. さらに最適化するために,多くの手法では,光線上での粗から細へのサンプリング [42],[43],[44]や,境界付近での重要度の高いサンプリング [41]を採用しています.

2.5 ニューラルレンダリング

Eslamiら[58]は、レンダリングの分化を手作業で行うのではなく、データからレンダリングプロセスを学習することを提案している。 このアプローチは一般的にニューラルレンダリングとして知られている。 一般的には,ニューラルシーン表現を出力するシーン生成ネットワークとレンダリングネットワークを,画像再構成誤差を最小化するように共同で学習する. 近年のニューラルネットワークの進歩により、ニューラルレンダリングは高品質な画像を生成できるようになってきており、斬新なビュー合成、セマンティックな写真操作、顔や体の再現、再照明、自由視点映像、フォトリアリスティックなアバターの作成など、多くの用途に利用されています。 手作りのレンダラーは必ずしも物理世界を正確にモデル化できないが、実世界のデータから学習することで、ニューラルレンダリングは実世界のものと見分けがつかないほどの斬新な画像を作り出すことができる。 一方で、学習データとは異なるシーンへの汎化や、複数のオブジェクトで構成されるシーンへのスケーリング、人間による修正能力などには限界がある。 ニューラルレンダリングを向上させるための有望な方向性として、3Dシーンやレンダリングに対する誘導バイアスをニューラルネットワークに加えることが挙げられる[59]、[31]、[60]。 したがって、帰納的バイアスに基づいた微分可能なレンダラーとニューラルレンダリングを組み合わせることは、興味深い研究分野の一つとなるだろう。 なお,ニューラルレンダリングの詳細については,最近のサーベイ[61]を参照されたい.

2.6 まとめ

微分可能なレンダリング技術を、メッシュ、ボクセル、点群、暗黙的な関数の4つのデータ表現タイプに分けて紹介しました。 図4は、これらの表現方法を示したものです。

本節の要点をまとめると以下のようになります。

メッシュベースのアプローチは、グラデーションの近似、レンダリングの近似、グローバルイルミネーションの3つのカテゴリーに分類されます。 グラデーションの近似は、意味のあるグラデーションを手作りすることを目指しながら、効率的で高品質なラスタライズを可能にします。 近似レンダリングでは、ぼやけた出力になる可能性がありますが、すべてのピクセルに対してゼロではないグラデーションを確保します。 グローバルイルミネーションベースの手法は、レンダリング画像と実世界のデータとの間のドメインギャップを低減しますが、計算コストが高いため、現在のところ、ディープニューラルネットワークでの使用は現実的ではありません。

ボクセルベースのアプローチは使いやすいが、大量のメモリとパラメータの使用が必要となる。 レイに沿ってボクセルを集めて集計し、最終的なピクセル値を生成することは、ボクセルベースのアプローチの大きな差別化要因です。 このような手法は簡単で強力であるにもかかわらず,その適用範囲は小さなシーンや低解像度に限られます. SDFベースのボクセルアプローチは、占有グリッドベースのアプローチよりもスムーズにサーフェスを表現できます。

点群ベースのアプローチは、サイジングの曖昧さに直面しながらも、低い計算コストを実現します。

点群は、そのシンプルさと3Dセンサーで広く使われていることから、多くの微分可能なレンダリング手法にとって自然な選択ですが、高密度なサーフェイス情報を捉えることはできません。 適切な点のサイズを選択することや、オクルージョンが発生した場合のレンダリングピクセルの色を決定することは、簡単ではありません。 これらの問題を解決するために、様々な方法が提案されています。

暗黙的な表現は,点群,ボクセル,メッシュに代わる有効な手段となりますが,レイに沿って点をサンプリングする場合には計算コストがかかります. 暗黙的な関数は、3Dポイントにおけるジオメトリを、その占有確率、透明度、またはサーフェスへの距離によって記述します。 幅広いトポロジーを、実質的に無限の解像度で、低メモリコストで表現することができます。 このような利点がある一方で,レイ上のデータを集約するには,データをサンプリングして多数の点でニューラルネットワークを評価する必要があるため,計算が膨大になる可能性がある。 表3は、さまざまな表現方法やレンダリング方法の長所と短所をまとめたものです。

image

2.7 未解決の問題

現在の微分可能なレンダリング手法では解決できない問題がいくつかあります。 3D形状推定や姿勢推定などの多くのアプリケーションは,3D敵対例やスタイル転写を除いて,レンダリング画像とターゲット画像の差を最小化することでニューラルネットワークを学習します. このようなパイプラインでは、通常、レンダリング機能と画像比較機能が別々に開発されます。 そのため、比較機能では、レンダリング機能で得られた豊富な3D情報を活用することができません。 しかし、これらは一緒に考えることもできます。 2.1節で述べたように、微分可能なレンダリングの目的は、正確なグラデーションを提供することではなく、最適化に役立つグラデーションを提供することです。 これは、3Dモデルを受け取って画像を出力する微分可能なレンダリング関数ではなく、3Dモデルと対象となる2D画像を受け取る微分可能なレンダリング&コンペア関数によって実現できます。 この方向での1つの方法は、3Dテンプレート形状の頂点に関連するキーポイントの微分可能な投影と比較です[62]。 このような手法は、タスクに特化したものであるが、レンダリング関数や画像比較関数に3D情報を導入することで、一般化することができる。 このような情報の統合は,まだ未解決の研究領域である.

局所照明に基づく現在の微分可能なレンダリング手法は非常に単純であり、影や反射を表現するフォトリアリスティックな画像を生成することはできない。 さらに、グローバルイルミネーション法は、ニューラルネットワークの学習には遅すぎます。 一方、ゲームエンジンでは、リアルタイムレンダリング手法の進歩により、計算量の多いパストレーシングを行わなくても、非常にリアルな画像を描くことができるようになりました。 しかし、微分可能なレンダリングという意味では、この2つの間の領域は未開拓です。 シャドウマッピングや環境マッピングなど、高速ではあるが複雑なリアルタイムレンダリング手法を統合することは、まだ試みられていないアプローチであり、レンダリング品質を向上させる可能性がある。

また、動画の微分レンダリングも興味深い研究の方向性です。 これを実現するには、微分可能なレンダリングを物理シミュレータと統合する必要があります(追加の物理的制約を組み込むため)。 理論的には、ビデオデータと微分可能な物理シミュレータを組み合わせたエンド・ツー・エンドのパイプラインを訓練することができるはずですが[63]、[64]、これはまだ実験されていません。 レンダリングは,物理モデルを前提として画像を生成するため,物理モデルと実世界との間に大きな乖離があると,レンダリングされた画像は非現実的なものになってしまう. 一方、ニューラルレンダリングは、物理モデルをほとんど想定しないため、非常にリアルな画像を生成することができます。 しかし、このような仮定のなさは、時として物理モデルに反する画像を生み出す可能性があります。 例えば,ニューラルレンダリングでは,視点によって物体の形状が変化することがある. ニューラルネットワークによってレンダリングされた物体の画像[60]やシーンの画像[59]は、異なる視点での形状の一貫性が保証されていない。 物理世界に関する帰納的バイアスをニューラルレンダリングに取り入れる方法も重要だが、学習ベースの手法を微分可能なレンダリングに取り入れることも検討に値する。

人間は、カメラが動くとシーンがどのように変化するかを直感的に瞬時に理解することができます。 この能力は、脳内ですべてのピクセルの値を計算するのではなく、過去の経験に基づいています。 したがって、このような学習により、グラデーション計算が容易になる可能性があります。 学習ベースの手法は、すでにレンダリング時の画像ノイズ除去[65]、[66]や、効率的なレイサンプリング[67]に用いられています。 これらのアプローチは,微分可能なレンダリングにおいても有用であると考えられる.