1行定義
NeRFとは、複数の視点から撮った写真をもとに、空間の各点の色と密度をニューラルネットワークで表し、撮影していない視点の画像を合成する手法のことです。
くわしく
NeRF(Neural Radiance Fields)は、2020年に発表された、3次元の場面を表現して新しい視点の画像を合成する手法です。ある物を周りから何枚か撮影しておくと、撮っていない角度からの見え方を画像として作れます。
何を学習するのか
NeRFは、1つの場面そのものをニューラルネットワークに覚えさせます。ネットワークは、空間内の位置(x, y, z)と見る方向(θ, φ)の5つの値を受け取り、その点の色と密度を出力します。密度は、その点が光をどれだけさえぎるかを表し、位置だけで決まります。色は見る方向でも変わるため、光沢のように角度で変わる見え方を表せます。ネットワークは、畳み込み層を使わない全結合の多層パーセプトロンです。
画像の作り方と学習
画像を作るときは、カメラから各画素に向けて光線を延ばし、光線上の多数の点で色と密度を求めます。それらを手前から順に重ね合わせて、その画素の色を決めます。これをボリュームレンダリングといいます。
この計算は微分できるため、合成した画像と実際の写真の差が小さくなるように、ネットワークの重みを学習できます。必要なのは、撮影したカメラの位置と向きが分かっている写真の集まりだけです。細かな模様を表せるよう、座標を周波数の異なるsinとcosの値に変換する位置エンコーディングも使います。
特徴と注意点
元のNeRFは、場面ごとにネットワークを学習します。論文では、1つの場面の学習にGPU1台で1〜2日かかると報告されています。その後、学習や描画を速くする研究が数多く進められました。
GANや拡散モデルは、学習データに似た新しい画像を作ります。これに対しNeRFは、実在する1つの場面を別の角度から見せる技術です。商品の3D表示や映像制作などへの応用が検討されています。
覚え方
「写真の束から、場面まるごとをネットワークに覚えさせる」と覚えます。
G検定での出題
出題のされ方
撮影していない視点の画像を合成するという目的、位置と見る方向を入力して色と密度を出力する仕組み、GANや画像変換など、ほかのデータ生成の手法との用途の違いが問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
NeRFで1つの場面を表すネットワークは、画像認識で広く使われる畳み込み層を重ねたCNNである。
答えを見る
答え × 誤り
畳み込み層を使わない、全結合層だけの多層パーセプトロンです。画像全体ではなく、空間内の1点の座標を入力として受け取るためです。
-
NeRFのネットワークでは、密度は位置だけから求め、色は位置と見る方向の両方から求める。
答えを見る
答え ◯ 正しい
色が見る方向で変わるので、光沢や反射を表せます。密度を位置だけで決めるのは、どの角度から見ても形が食い違わないようにするためです。
-
NeRFでは、座標をそのまま入力する代わりに、周波数の異なるsinとcosの値に変換してから入力し、細かな模様を表しやすくしている。
答えを見る
答え ◯ 正しい
位置エンコーディングと呼ばれる工夫です。論文の実験では、これを外すと細部の再現が大きく劣りました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目30 データ生成)
- Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng, NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis, ECCV 2020 (3 Neural Radiance Field Scene Representation、5.1 Positional encoding、5.3 Implementation details)