入力点群NURBS から標本化した点
NeRF 描画同じ視点からボリュームレンダリング
どちらの画面もドラッグで回転、ホイール/ピンチでズーム(2 画面は同じカメラ)。下の学習画像をクリックするとその視点に移動します。
PSNR学習バッチ(指数平均)と表示視点
学習画像—
高精細:点群 25 万点・学習画像 48 枚 × 192² px・ハッシュ表 2^18 × 16 レベル。1 ステップが約 6 倍重くなります(目安は毎秒 5 ステップ前後)。数分で輪郭が整い、その後も学習率減衰に合わせてゆっくり細部が詰まります。学習は別スレッドで進むので、その間も視点は動かせます。
有理ベジエに分解したパッチ上で、3D 面積に比例した一様サンプリングを行います。各点の色は「曲面ごとの色 × 固定光源のランバート陰影」で、視点に依存しない値です。
点を面積相当の円盤として Z バッファ描画し、2×2 超標本化で RGB・不透明度・深度を作ります。NeRF はこの画像群だけを見て学習します。
位置 x → 多重解像度ハッシュ格子(各レベル 2 特徴)→ MLP(1 隠れ層, ReLU)→ 密度 σ = exp(o₀)、色 c = sigmoid(o₁..₃)。
占有グリッド:点群がある 48³ セル(+隣接)だけを標本化し、空の空間を飛ばします。OFF にすると純粋な NeRF(全区間を標本化)になり、遅くなります。切り替えるとモデルはリセットされます。深度教師:点群の深度を追加の損失に使います(DS-NeRF 風)。学習率減衰:3 万ステップかけて学習率を 1/10 まで下げ、細部を詰めます。画像解像度を変えると、刻み数は画素の幅に合う値へ自動で変わります。