#お役立ちコラム
NeRFとは|写真から3次元空間を再現する仕組みを解説

NeRF(ナーフ)は、複数の写真から、撮影していない視点の画像を作る技術です。
本記事では、NeRFが空間をどう学習するのか、写真からどう作るのか、どのような用途に向くのかを解説します。
執筆: bestat 編集部
NeRFとは
NeRFは Neural Radiance Fields の略で、日本語では「ニューラル放射輝度場」などと訳されます。2020年に発表された原論文は、静止したシーンを連続した5次元の関数として表す方法を示しました(NeRF原論文)。
5次元と聞くと難しく見えますが、入力は次の2種類です。
空間中の場所を表す3つの値:横、縦、奥行き
その場所を見る方向を表す2つの値:上下、左右の向き
この5つをニューラルネットワークへ入力すると、その位置に物がどれくらい存在するかを示す密度と、その方向から見た色が返ります。NeRFは、この問い合わせを何度も繰り返して1枚の画像を作ります。

画像ができる仕組み
NeRFは、画面の各画素から空間へ細い光線を伸ばして画像を作ります。1本の光線上に多数の標本点を置き、それぞれの位置と方向をニューラルネットワークへ入力します。
返ってきた密度と色を手前から奥へ積み重ねると、その画素の色が決まります。密度が高い場所は物の表面として強く見え、密度が低い場所は光が通り抜けます。この処理を画面全体で行うのが、体積レンダリングです。

NeRFが写真のような見え方を作れるのは、位置だけでなく見る方向も入力するためです。金属の光沢のように、角度によって変わる色も表現できます。
一方、画素ごとに光線上の多数の位置を問い合わせるので、原手法は学習にも表示にも計算量がかかります。現在は高速化した派生手法が多数ありますが、速度は「NeRF」という名前だけで決まらず、実装と設定で変わります。
写真からNeRFを作る流れ
基本の流れは、撮影、カメラ位置の推定、学習、表示の4段階です。
撮影する。 対象の周囲を少しずつ移動しながら、重なりのある写真や動画を撮ります。動画を使うツールも、内部では動画から取り出したフレームを画像として扱います。
カメラ位置を求める。 どの写真がどこから撮られたかを推定します。実写を扱ったNeRF原論文では、SfM(Structure from Motion)のソフトウェアであるCOLMAPが使われています。
シーンごとに学習する。 学習用の写真と、現在のNeRFから描画した画像を比べます。損失が小さくなるようにニューラルネットワークを更新し、各写真の見え方を再現できる状態へ近づけます。
新しい視点を表示する。 学習時になかったカメラ位置と向きを与え、そこから見える画像を生成します。連続して位置を変えれば、空間内を移動する映像になります。
撮影で結果が変わる
NeRFの品質は、学習設定だけでなく入力画像に左右されます。同じ場所が複数の写真へ写り、写真どうしの位置関係を求められることが重要です。

撮影では次の点を押さえます。
隣り合う画像を大きく重ねる
対象の周囲を回り込み、裏側や物陰を減らす
ぶれとピンぼけを避ける
露出とホワイトバランスを途中で大きく変えない
人、車、揺れる葉など、撮影中に動く物を減らす
原論文のNeRFは静止シーンを前提としています。写真ごとに人の位置が変わると、1つの場所に複数の見え方が混ざります。動く対象を扱うNeRFの派生手法はありますが、標準的な処理と同じではありません。
透明なガラス、鏡、強い反射も難しい対象です。角度で見え方が変わる性質はNeRFが表現できる一方、カメラ位置の推定に使える模様が乏しかったり、写り込みが写真ごとに大きく変わったりすると処理が不安定になります。
NeRFでできること
NeRFが向くのは、実在する対象や場所を、別の位置から自然に見せる用途です。
建物や室内をオンラインで見学できるようにする
商品、文化財、展示物を多方向から見せる
撮影時の空間を記録し、あとから視点を変えて確認する
VRや映像制作で、実写に近い背景や空間を用意する
コンピュータビジョン研究で、連続したシーン表現を利用する
共通しているのは、成果物を人が見て理解する用途です。写真を並べるだけでは分かりにくい奥行きや位置関係を、視点を動かしながら確認できます。
点群・メッシュ・3DGSとの違い
同じ「3Dデータ」でも、記録しているものが違います。
技術・データ | 主に記録するもの | 得意なこと |
|---|---|---|
NeRF | 場所と見る方向から密度・色を返す関数 | 新しい視点の画像を自然に作る |
点群 | 空間中の点の座標 | 形を座標として扱う |
メッシュ | 頂点と、それを結ぶ面 | 面の編集、CG、3Dプリント |
3DGS | 位置・広がり・透明度・色を持つ粒 | 新しい視点を高速に表示する |
NeRFと3DGSは、どちらも新規視点合成を目的とします。NeRFはシーンをニューラルネットワークの関数として持ち、3DGSは多数の粒として持つ点が違います。標準的な3DGSは粒を画面へ投影して描画するため、対話的な表示へつなげやすい設計です。
フォトグラメトリは、複数写真からカメラ位置と形を求め、点群やメッシュを作る方法です。NeRFの前処理でカメラ位置を求めるためにSfMを使うことはありますが、最終成果物の目的は同じではありません。
NeRFの限界
NeRFは見え方を再現する技術であり、CADモデルや測量成果を直接作る技術ではありません。

写っていない場所は確定しません。 対象の裏側や物陰に写真がなければ、正しい形と見え方を学ぶ手がかりもありません。撮影位置から大きく離れた視点では、ぼけや形の崩れが生じやすくなります。
部品の境界や名前を持ちません。 画面に机が見えていても、「これは机という部品である」という意味情報や、天板と脚の接続関係が自動で入るわけではありません。
寸法の根拠は別に要ります。 距離を表示できるビューアはありますが、その値を測量や検査へ使えるかは、実寸の基準、カメラ位置の精度、撮影範囲、検証方法で決まります。画面に数字が出ることと、測定値として保証できることは別です。
シーンごとの学習が要ります。 原手法は、撮影した1つのシーンごとにニューラルネットワークを最適化します。写真を入れれば即座にどの場所でも完成する汎用モデルではありません。
よくある質問
NeRFは1枚の写真から作れますか
原論文のNeRFは、カメラ位置の異なる複数画像を使います。1枚から新しい視点を推定する派生技術もありますが、写っていない形は学習済みモデルの推定を含むため、実物を多方向から記録したNeRFとは性質が異なります。
スマートフォンの動画でも作れますか
対応するツールなら作れます。端末名より、ゆっくり移動して画像を重ねること、ぶれを抑えること、対象が動かないことが重要です。
NeRFはAIですか
ニューラルネットワークを使い、撮影画像との差が小さくなるように学習するため、機械学習を使った技術です。文章や画像をゼロから作る生成AIとは、入力と目的が異なります。
NeRFをメッシュに変換できますか
NeRFから面を推定する研究やツールはあります。ただし、変換しただけで未撮影部分が正しくなったり、寸法精度が上がったりするわけではありません。利用前に穴、面の位置、縮尺を検証します。
まとめ
NeRFは、空間中の場所と見る方向から密度と色を返すニューラルネットワークです。複数の写真を学習し、撮影していない視点の画像を作ります。
理解のポイントは、物を面の集まりとして作るのではなく、見え方を関数として覚えることです。そのため、空間の閲覧や実写に近い表示には向きますが、CAD編集や精密な計測には別のデータが要ります。
良い結果を得るには、対象を多方向から重ねて撮り、動く物、ぶれ、露出差、隠れた面を減らします。ツールを選ぶ前に、見せたいのか、測りたいのかを決めると、NeRFを使うべき範囲が明確になります。
3D.Core のサービス紹介資料をダウンロードできます。→ 資料ダウンロード
bestat 編集部について
bestat株式会社は、東京大学 松尾研究室発の産業用3Dデータに特化したAIスタートアップです。製造業・インフラ・土木の現場で、画像・動画・点群・360度動画など、現実空間で取得される多様なデータを高精度に3D化し、取得・生成・処理・活用までを一気通貫して支援する「3D.Core」シリーズを開発・提供しています。 https://bestat-data.com/3dcore
参考文献
Ben Mildenhallほか「NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis」ECCV 2020

