SMERF: ストリーミング可能でメモリ効率の高い Radiance Field
(smerf-3d.github.io)- SMERF は、大規模な 3D シーンを Web ブラウザでリアルタイムに探索するためのビュー合成手法で、最大 300m² 規模と 3.5mm³ の体積解像度を対象とする
- シーンを複数の 独立したサブモデル に分割し、カメラ原点に応じて必要なモデルだけを選択することで、レンダリング中の計算量とメモリ使用量を削減する
- まず Zip-NeRF のオフライン Radiance Field を学習した後、RGB 予測とボリュームレンダリング重みの差を用いて SMERF へ蒸留し、品質を高める
- リアルタイムの新規視点合成で、標準ベンチマークでは 0.78dB、大規模シーンでは 1.78dB の向上を示し、最新の Radiance Field モデルよりフレームレンダリングが 100 倍以上高速
- ブラウザベースの 6DOF ナビゲーションをサポートし、一般的なスマートフォンやノート PC などのコンシューマーデバイスでも大規模シーンをリアルタイムに見て回れる
大規模シーンのリアルタイム探索におけるボトルネック
- リアルタイムのビュー合成技術は急速に進歩し、インタラクティブなフレームレートでも写真に近いシーンレンダリングが可能になっている
- ただし、ラスタライズに適した 明示的なシーン表現 と、レイマーチングベースの ニューラルフィールド(neural fields) の間には、明確なトレードオフが残っている
- 最新のニューラルフィールド方式は品質面で明示的表現を上回るが、リアルタイムアプリケーションには計算コストが大きい
- SMERF は、大規模シーンにおいてリアルタイム方式の中で最高水準の精度を目指すビュー合成アプローチである
- 最大 300m² の空間
- 3.5mm³ の体積解像度
- Web ブラウザ内での 6DOF 探索
- 一般的なスマートフォンやノート PC でのリアルタイムレンダリング
サブモデルベースの表現と蒸留学習
- 大規模な複数部屋のシーンを複数の 独立したサブモデル に分け、表現力を確保する
- 各サブモデルはシーン内の異なる領域に割り当てられる
- レンダリング中はカメラ原点に応じて使用するサブモデルを選ぶ
- 複雑な視点依存効果を扱うため、各サブモデル内にグリッドに整列した deferred MLP パラメータ のコピーを追加で配置する
- これらのパラメータはカメラ原点を基準に三線形補間される
- 各サブモデルはシーン全体を表現しつつ、自身に結び付けられたグリッドセルだけを 高解像度 でモデル化する
- サブモデルごとのローカル座標を収縮させる方式で実装される
- 画像忠実度は 蒸留(distillation) によって高める
- まず最新のオフライン Radiance Field である Zip-NeRF を学習する
- 教師モデルの RGB 色予測を SMERF の教師信号として使用する
- 事前学習済み教師の体積密度値は、教師と生徒のボリュームレンダリング重みの差を最小化するために活用される
性能結果と公開資料
- SMERF はリアルタイムの新規視点合成で、既存の最高水準を上回る
- 標準ベンチマークで 0.78dB 向上
- 大規模シーンで 1.78dB 向上
- 最新の Radiance Field モデルよりフレームレンダリングが 100 倍以上 高速
- リアルタイムのインタラクティブビューアのデモには、Berlin、NYC、Alameda、London、Gardenvase、Bicycle、Kitchen Lego、Stump、Office Bonsai、Full Living Room、Kitchen Counter、Treehill & Flower のシーンが含まれる
- 公開資料として Paper、Video、Code が提供されている
- SMERF モデルは Mip-NeRF 360 および Zip-NeRF のシーンで学習された Zip-NeRF チェックポイントから蒸留されている
- 2 つのデータセットとチェックポイントは CC-BY 4.0 ライセンスで公開されている
- Mip-NeRF 360 のチェックポイントは定量・定性結果に使用され、Zip-NeRF のチェックポイントは 50,000 steps 学習されている
- Zip-NeRF fisheye 資料は Alameda、Berlin、London、NYC を含み、定性結果に使用され、100,000 steps 学習されている
- Zip-NeRF undistorted 資料は定量結果に使用され、100,000 steps 学習されている
1件のコメント
Hacker Newsの意見
Berlinデモの浴室の壁の鏡が、隣の部屋のキッチンにつながっているように見える
深度推定アルゴリズムが視差を使っているようで、鏡を窓のように誤認して起きる現象に見える
キッチン側には、鏡の裏側がキッチンの中に食い込んだようなぼやけた塊ができるが、そのぼやけの向こうに両方の部屋が見える
かなり不気味で、壁を通り抜ける幽霊になったような感覚だった
それが窓の光が金属に反射する効果を正確にまねていて、冷蔵庫の中から部屋全体を「外側へ」見ることもできる
同じシーンの寝室の全身鏡も同様で、鏡の裏に仮想の鏡の部屋が作られているため、のぞき込むと奥行き感が出る
この技術から生まれる、とてもクールで独特な結果だ
なんてことだ、本当に驚き
Matterportがこれを取り込んで推し進めるか、あるいは不動産市場を揺るがすスタートアップが出てきてもおかしくない
スマートフォンでここまで滑らかに動くなんて信じられない
フィードバックを言うなら、スマートフォンのコンパスとジャイロで移動するモードがあるともっと自然になりそう
指で操作しながらxyz次元でどう動けばいいのか把握するのは少しぎこちなかった
ほかの人も言っているように、VRモードがあればすごいことになりそう
丁寧に演出して選んだ写真を使う理由は、人々に実際に物件を見に来てもらうためだ
仮想現実で見たからといって、その家に惚れ込むのは難しいと思う
移動のユーザー体験はもっと改善できると思っている
別の日に解くべき課題だ
2年前のS21 FEでも印象的なほどよく動く
空間を見回すほど追加のデータをストリーミングしてくる仕組みが本当に印象的で、Berlinデモのテレビの反射もとても見事だった
ただし、すべての画像を読み込むのにかなり時間がかかり、最初の約40枚の画像がすべてロードされるまでシーンがレンダリングされなかった
画像が到着し次第、部分的なレンダリングを始められるのか、それとも最初の大規模なレンダリングの前に全部待つ必要があるのか気になる
このアプローチの以前のバージョンであるMERFは特徴ベクトルをPNG画像に保存していたが、ここではそれをバイナリ配列に置き換えている
残念ながら、最初のフレームをレンダリングするにはそうした配列をすべてロードする必要がある
ただし指摘のとおり、SMERFの大きなペイロードサイズは弱点だ
10倍圧縮する方法が見つかれば、体験は完全に変わるだろう
本当に驚き。fulllivingroomデモについて気になる点がある
個人的にはFPSモードのほうがいい
このシーンはmip-NeRF 360ベンチマークの一部で、該当プロジェクトサイトからダウンロードできる: https://jonbarron.info/mipnerf360/
学習には8x V100または16x A100を使っている
詳細な内訳はないが、おおよそ50/50くらい
やる気のあるハッカーなら、JavaScriptコードを修正して自分で試せると思う
ブラウザのDevToolsを開けば、コードは全部見られる
面白い時期だ
https://twitter.com/gracia_vr/status/1731731549886787634
https://www.gracia.ai
“Researchers create open-source platform for Neural Radiance Field development” (2023)
https://news.ycombinator.com/item?id=36966076
NeRF StudioのIncluded Methods、Third-party Methods:
https://docs.nerf.studio/#supported-methods
Neural Radiance Field:
https://en.wikipedia.org/wiki/Neural_radiance_field
Two Minute Papersを通じてこの技術を追っていて、自分で使える日を楽しみにしている
祖父が2年前に亡くなったのだが、振り返ってみると、このデモのように使うために写真を撮っておいたようなものだった
素晴らしい仕事だ
いつかは可能になるはず
本当に驚くべき成果で、これをスマートフォンのWebブラウザで見られているのはすごいことだと思う。
デスクトップでNYCのシーンを最高品質で見ると、たとえばカウンターや棚の上の物の品質がかなり低くて驚いた。
そこでLegoモデルを開いてみると、そちらは非常に細かいので、手法自体の限界には見えない。
入力写真の品質のせいなのか、それとも別の理由があるのか気になる。
空間が大きくなるほど、固定解像度、たとえば 1 mm^3 を維持するには、より多くのボクセル(voxel)が必要になる。
ある時点からは、より大きなシーンを表現するために空間解像度を犠牲にせざるを得ない。
2つ目の制約は、蒸留に使う教師モデル。
Zip-NeRF(https://jonbarron.info/zipnerf/)は優れているが完璧ではない。
SMERFの再構成品質の上限は、教師であるZip-NeRFによって決まる。
不動産仲介業者が写真をアップロードして、売り出し中の住宅のウォークスルーを作る市場はありそう。
こうした探索可能な3Dウォークスルーをキャプチャ・処理・ホスティングするオープンソースのツールチェーンがあるのか気になる。
たとえばオープンソース版Matterportのようなもの。
現在の流れは、DSLRでキャプチャし、COLMAPでカメラパラメータを推定し、あるコードベースで教師モデルを学習し、私たちのコードベースでSMERFを学習し、Webビューアでモデルをレンダリングする、というもの。
チャンスのように聞こえる。
今データを集めておき、より良いツールが出てきたらその時点で処理すればよい。
フォトグラメトリとNeRFの撮影ガイドは、だいたい必要な作業にそのまま適用できる。
こうしたものに見えるのは、非常に正確な、単一の探索可能な3D画像に近い。
まだ見たことがないのは、特徴や物体検出、ブロッキング、抽出。
より効率的でストリーミング可能なコーデックが必要になれば、解析しやすい構造も自然に求められるようになることを期待している。
この領域では良い研究が進んでいるが、道のりは長い。
SMERFは現実的な画像をレンダリングする「ビュー合成」に関するもので、意味理解やセグメンテーションは試みていない。
DuckDuckGoに「nerf sam segment 3d」と入れて見つけた。
SMERFは別の問題を扱っているが、意味情報や検出を統合する方法は間違いなくある。