ニューラル放射輝度場(NeRF)は、2次元画像からシーンの3次元表現を再構築するためのニューラル場です。NeRFモデルは、新しい視点合成、シーン形状の再構築、シーンの反射特性の取得といった下流アプリケーションを可能にします。カメラの姿勢などの追加のシーン特性も同時に学習できます。2020年に初めて導入されて以来[ 1 ] 、コンピュータグラフィックスやコンテンツ作成における潜在的なアプリケーションとして大きな注目を集めています。[ 2 ]
NeRFアルゴリズムは、シーンを深層ニューラルネットワーク(DNN)によってパラメータ化された放射輝度場として表現します。このネットワークは、空間位置に基づいて体積密度と視点依存の放射輝度を予測します。そして、オイラー角で表した視線方向。カメラの。カメラ光線に沿って多数の点をサンプリングすることにより、従来のボリュームレンダリング技術は画像を生成できる。[ 1 ]
NeRFは、シーンごとに再学習させる必要があります。最初のステップは、シーンをさまざまな角度から撮影し、それぞれのカメラ姿勢で撮影した画像を収集することです。これらの画像は標準的な2D画像であり、特別なカメラやソフトウェアは必要ありません。設定と撮影方法がSfM(Structure from Motion)の要件を満たしていれば、どのカメラでもデータセットを生成できます。
これには、 SLAM、GPS、慣性推定のいずれかの組み合わせによって、カメラの位置と向きを追跡する必要があります。研究者は、NeRF および関連技術を評価するために合成データを使用することがよくあります。このようなデータの場合、画像 (従来の非学習方法でレンダリングされたもの) とそれぞれのカメラの姿勢は再現可能でエラーがありません。[ 3 ]
提供された各疎な視点(画像とカメラの姿勢)に対して、カメラ光線がシーン内を移動し、特定の放射輝度方向(カメラに向かって)を持つ一連の 3D ポイントが生成されます。これらのポイントに対して、多層パーセプトロン(MLP)を使用してボリューム密度と放射輝度が予測されます。次に、古典的なボリュームレンダリングによって画像が生成されます。このプロセスは完全に微分可能であるため、予測された画像と元の画像との間の誤差は、複数の視点にわたる勾配降下法によって最小化でき、MLP がシーンの一貫性のあるモデルを開発するように促します。[ 1 ]
NeRFの初期バージョンは最適化に時間がかかり、すべての入力ビューを同じカメラで同じ照明条件下で撮影する必要がありました。ドラムセット、植物、小さなおもちゃなどの個々のオブジェクトの周りを周回する場合に最高のパフォーマンスを発揮しました。[ 2 ] 2020年の元の論文以来、NeRFアルゴリズムには多くの改良が加えられ、特殊なユースケース向けのバリエーションも追加されています。
2020年、NeRFのリリース直後、フーリエ特徴マッピングの追加により、トレーニング速度と画像精度が向上しました。ディープニューラルネットワークは、低次元領域で高周波関数を学習するのが苦手です。これはスペクトルバイアスとして知られる現象です。この欠点を克服するために、点群はMLPに入力される前に、より高次元の特徴空間にマッピングされます。
どこは入力点です。は周波数ベクトルであり、は係数です。
これにより、詳細な画像内のピクセルなどの高周波関数への迅速な収束が可能になります。[ 4 ]
NeRF の制限の 1 つは、モデルをトレーニングするために正確なカメラ姿勢を知る必要があることです。多くの場合、姿勢推定方法は完全に正確ではなく、カメラ姿勢を知ることさえ不可能です。これらの不完全さにより、アーティファクトや最適ではない収束が発生します。そこで、ボリューム関数自体とともにカメラ姿勢を最適化する方法が開発されました。バンドル調整ニューラル放射場 (BARF) と呼ばれるこの手法は、動的ローパスフィルタ(DLPF) を使用して粗調整から微調整へと進み、目的の画像への幾何学的変換を見つけることで誤差を最小限に抑えます。これにより、不完全なカメラ姿勢が修正され、NeRF レンダリングの品質が大幅に向上します。[ 5 ]
従来の NeRF は、あらゆる視距離で詳細を表現するのに苦労し、近距離ではぼやけた画像、遠距離では過度にエイリアシングされた画像を生成します。2021 年に、研究者らは、さまざまな視距離でのディテールの鮮明さを向上させる mip-NeRF ( mipmapから派生) と呼ばれる技術を発表しました。この技術は、ピクセルごとに 1 つの光線をサンプリングするのではなく、カメラによって投影される円錐台にガウス関数を適合させます。この改善により、すべての視距離で効果的にアンチエイリアシングが行われます。mip-NeRF はまた、画像全体の誤差を減らし、収束速度が光線ベースの NeRF の約半分のサイズで高速です。[ 6 ]
2021年、研究者らはメタ学習を適用してMLPに初期重みを割り当てました。これにより、勾配降下法においてネットワークに有利なスタートを切らせることで、収束が急速に加速されます。メタ学習により、MLPは特定のシーンタイプの基底表現を学習することも可能になりました。例えば、有名な観光名所のデータセットが与えられた場合、初期化されたNeRFは1枚の画像からシーンを部分的に再構築できます。[ 7 ]
従来の NeRF は、入力画像 (オブジェクト、照明) のわずかな変化に弱く、ゴーストやアーティファクトが発生することがよくあります。そのため、NeRF は、照明の変化や動的なオブジェクトがある賑やかな街路などの動的なシーンを表現するのに苦労します。2021 年に、Google の研究者[ 2 ]は、これらの変化を考慮するための新しい方法、NeRF in the Wild (NeRF-W) を開発しました。この方法では、ニューラルネットワーク (MLP) を 3 つの独立したモデルに分割します。メインの MLP は、静的なボリューム放射輝度をエンコードするために保持されます。ただし、外観埋め込み (照明、カメラの特性の変化) 用の別の MLP と、過渡的埋め込み (シーンオブジェクトの変化) 用の MLP と順次動作します。これにより、NeRF を、1 日のさまざまな時間帯に携帯電話で撮影された写真など、さまざまな写真コレクションでトレーニングできます。[ 8 ]
2021年、研究者たちはNeRFの中核となるMLPにさらに多くの出力を追加しました。出力には、体積密度、表面法線、マテリアルパラメータ、最初の表面交点までの距離(任意の方向)、および任意の方向の外部環境の可視性が含まれるようになりました。これらの新しいパラメータを含めることで、MLPは純粋な放射輝度値ではなく、マテリアル特性を学習できるようになります。これにより、直接照明と全体照明、鏡面反射、影を計算する、より複雑なレンダリングパイプラインが実現します。その結果、NeRFは再学習なしで、あらゆる照明条件下でシーンをレンダリングできます。[ 9 ]
NeRFは高い忠実度を達成しましたが、計算時間が高額なため、VR / ARやインタラクティブコンテンツなど、リアルタイムレンダリングを必要とする多くのアプリケーションには適していませんでした。2021年に導入されたPlenoctrees(plenoptic octrees)は、体積放射輝度関数をオクツリーに分割することで、事前学習済みのNeRFのリアルタイムレンダリングを可能にしました。カメラに放射輝度方向を割り当てる代わりに、ネットワーク入力から視線方向を取り出し、各領域の球面放射輝度を予測します。これにより、従来のNeRFよりも3000倍以上高速なレンダリングが可能になります。[ 10 ]
Plenoctreesと同様に、この手法では事前学習済みのNeRFのリアルタイムレンダリングが可能になりました。各ポイントに対して大規模なMLPに問い合わせることを避けるため、この手法ではNeRFをスパースニューラルラディアンスグリッド(SNeRG)に焼き付けます。SNeRGは、不透明度と色を含むスパースボクセルグリッドで、学習された特徴ベクトルによって視点依存の情報がエンコードされます。次に、軽量でより効率的なMLPを使用して、色と不透明度を変更する視点依存の残差を生成します。この圧縮焼き付けを可能にするために、NeRFアーキテクチャに小さな変更が加えられました。たとえば、MLPを光線に沿った各ポイントに対してではなく、ピクセルごとに1回実行します。これらの改善により、SNeRGは非常に効率的になり、Plenoctreesを凌駕します。[ 11 ]
2022年、Nvidiaの研究者たちは、Instant Neural Graphics Primitivesと呼ばれる技術によってNeRFのリアルタイムトレーニングを実現しました。革新的な入力エンコーディングにより計算量が削減され、NeRFのリアルタイムトレーニングが可能になり、従来の方法よりも桁違いに高速化されました。この高速化は、空間ハッシュ関数の使用によるもので、アクセス時間、および最新のGPU上で高速に動作する並列化アーキテクチャ。[ 12 ]
Plenoxel(plenoptic volume element)は、NeRFに見られるような体積アプローチではなく、疎なボクセル表現を使用します。Plenoxelはまた、MLPを完全に排除し、代わりにボクセル係数に対して直接勾配降下を実行します。Plenoxelは、従来のNeRFと同等の忠実度を、桁違いに短いトレーニング時間で実現できます。2022年に発表されたこの手法は、MLPの重要性を否定し、微分可能なレンダリングパイプラインが重要なコンポーネントであることを示しました。[ 13 ]
ガウススプラッティングは、レンダリング時間と忠実度において NeRF を上回る新しい手法です。シーンをボリューム関数として表現するのではなく、3Dガウス分布の疎なクラウドを使用します。まず、点群が生成され ( Structure from Motionを介して)、初期共分散、色、および不透明度のガウス分布に変換されます。ガウス分布は、入力画像に一致するように確率的勾配降下法によって直接最適化されます。これにより、空隙が除去され、各点に対してニューラルネットワークに問い合わせる必要がなくなるため、計算が節約されます。代わりに、すべてのガウス分布を単にスクリーン上に「スプラット」すると、それらが重なり合って目的の画像が生成されます。[ 14 ]
従来の写真測量はニューラルではなく、堅牢な幾何学的方程式を使用して 3D 計測値を取得します。NeRF は、写真測量法とは異なり、本質的に寸法的に正確な 3D ジオメトリを生成するわけではありません。その結果は、正確なジオメトリを抽出するには十分な場合が多いですが (例: キューブマーチング[ 1 ]による)、ほとんどのニューラル法と同様に、そのプロセスは曖昧です。このため、NeRF は、生のシーンジオメトリではなく、出力画像が重視される場合に限定されます。しかし、NeRF は、照明条件が悪い状況で優れています。たとえば、写真測量法は、シーン内の反射物や透明な物体を再構築しようとすると完全に機能しなくなりますが、NeRF はジオメトリを推測することができます。[ 15 ]
NeRFは幅広い用途があり、ユーザーフレンドリーなアプリケーションに統合されるにつれて人気が高まり始めています。[ 3 ]
NeRFは、オンデマンドのフォトリアリスティックなビューが非常に価値のあるコンテンツ制作において大きな可能性を秘めています。[ 16 ]この技術は、これまで高価なアセットを持つVFXアーティストのチームだけがアクセスできた領域を民主化しました。ニューラル放射場により、カメラさえあれば誰でも魅力的な3D環境を作成できるようになりました。[ 3 ] NeRFは生成AIと組み合わされ、モデリング経験のないユーザーがフォトリアリスティックな3Dシーンの変更を指示できるようになりました。[ 17 ] NeRFは、ビデオ制作、コンピュータグラフィックス、製品設計において潜在的な用途があります。
NeRFのフォトリアリズムは、仮想現実やビデオゲームなど、没入感が重要なアプリケーションにとって魅力的です。NeRFは、従来のレンダリング技術と組み合わせることで、合成オブジェクトを挿入し、信憑性のある仮想体験を作り出すことができます。[ 18 ]
NeRFは、まばらな、あるいは単一のX線画像から3D CTスキャンを再構成するために使用されてきました。このモデルは、胸部と膝部のデータの高忠実度レンダリングを示しました。この方法が採用されれば、患者は過剰な電離放射線被曝を避けることができ、より安全な診断が可能になります。[ 19 ]
NeRFは透明で反射する物体を認識できるという独自の能力を持っているため、そのような環境でロボットが操作する際に役立ちます。NeRFを使用することで、ロボットアームが透明なワイングラスを正確に操作することが可能になりました。これは従来のコンピュータビジョンでは困難な作業です。[ 20 ]
NeRFはフォトリアリスティックな人間の顔を生成することもできるため、人間とコンピュータのインタラクションのための貴重なツールとなる。従来の方法でレンダリングされた顔は不気味なものになりがちで、他のニューラル手法はリアルタイムで実行するには遅すぎる。[ 21 ]