空間記憶による 3D 再構成
ヘンギ・ワン、ルルド・アガピト
arXiv 2024
[2024-10-25] Nerfstudio のサポートを追加
[2024-10-18] カメラパラメータの推定を追加
[2024-09-30] @hugoycj が gradio デモを追加しました
[2024-09-20] データセット data_preprocess.md の説明
[2024-09-11] Spann3R のコード
クローンSpann3R
git clone https://github.com/HengyiWang/spann3r.git cd spann3r
conda環境を作成する
conda create -n spann3r python=3.9 cmake=3.14.0 conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=11.8 -c pytorch -c nvidia # use the correct version of cuda for your system pip install -r requirements.txt # Open3D has a bug from 0.16.0, please use dev version pip install -U -f https://www.open3d.org/docs/latest/getting_started.html open3d
RoPE 用の cuda カーネルをコンパイルする
cd croco/models/curope/ python setup.py build_ext --inplace cd ../../../
DUSt3R チェックポイントをダウンロードする
mkdir checkpoints cd checkpoints # Download DUSt3R checkpoints wget https://download.europe.naverlabs.com/ComputerVision/DUSt3R/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth
チェックポイントをダウンロードして、 ./checkpoints
checkpoints の下に配置します。
サンプル データ (map-free-reloc の 2 つのシーン) をダウンロードし、 ./examples
として解凍します。
デモを実行します。
python demo.py --demo_path ./examples/s00567 --kf_every 10 --vis --vis_cam
視覚化の--vis
では、レンダリング ビューを調整するためのウィンドウが表示されます。レンダリングするビューを見つけたら、 space key
クリックしてウィンドウを閉じてください。次に、コードは増分再構築のレンダリングを実行します。
ナーフスタジオ:
# Run demo use --save_ori to save scaled intrinsics for original images python demo.py --demo_path ./examples/s00567 --kf_every 10 --vis --vis_cam --save_ori # Run splatfacto ns-train splatfacto --data ./output/demo/s00567 --pipeline.model.camera-optimizer.mode SO3xR3 # Render your results ns-render interpolate --load-config [path-to-your-config]/config.yml
ここで--save_ori
使用してスケーリングされた組み込み関数をtransform.json
に保存し、元の画像で NeRF/3D ガウスをトレーニングできることに注意してください。
また、エクスペリエンスを向上させるための Gradio インターフェイスも提供しています。次の方法で実行できます。
# Linux および Windows ユーザー (および Intel?? を搭載した macOS) の場合 python app.py
ニーズを満たすために--server_port
、 --share
、 --server_name
引数を指定できます。
モデルのトレーニングには、Habitat、ScanNet++、ScanNet、ArkitScenes、Co3D、および BlendedMVS を使用します。 data_preprocess.mdを参照してください。
モデルをトレーニングするには、次のコマンドを使用してください。
torchrun --nproc_per_node 8 train.py --batch_size 4
次のコマンドを使用してモデルを評価してください。
python eval.py
私たちのコード、データ前処理パイプライン、評価スクリプトは、いくつかの素晴らしいリポジトリに基づいています。
ダスト3R
スプラタム
NeRFスタジオ
MVSネット
ナイススラム
ニューラルRGBD
シンプルリコン
コードを公開してくれた作者に感謝します。
ここで紹介する研究は、UKRI 助成金番号 EP/S021566/1 に基づく Cisco Research および基礎 AI 博士課程トレーニング UCL センターからの後援研究賞によって支援されています。このプロジェクトでは、EPSRC (EP/T022205/1) の資金提供を受けた Tier 2 HPC 施設 JADE2 の時間を利用しました。
私たちのコードや論文が研究に役立つと思われる場合は、引用することを検討してください。
@article{wang20243d, title={3D Reconstruction with Spatial Memory}, author={Wang, Hengyi and Agapito, Lourdes}, journal={arXiv preprint arXiv:2408.16061}, year={2024} }