Rekonstruksi 3D dengan Memori Spasial
Hengyi Wang, Lourdes Agapito
arXiv 2024
[25-10-2024] Tambahkan dukungan untuk Nerfstudio
[2024-10-18] Tambahkan estimasi parameter kamera
[30-09-2024] @hugoycj menambahkan demo gradio
[20-09-2024] Petunjuk untuk kumpulan data data_preprocess.md
[2024-09-11] Kode untuk Spann3R
Klon Spann3R
git clone https://github.com/HengyiWang/spann3r.git cd spann3r
Ciptakan lingkungan 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
Kompilasi kernel cuda untuk RoPE
cd croco/models/curope/ python setup.py build_ext --inplace cd ../../../
Unduh pos pemeriksaan DUSt3R
mkdir checkpoints cd checkpoints # Download DUSt3R checkpoints wget https://download.europe.naverlabs.com/ComputerVision/DUSt3R/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth
Unduh pos pemeriksaan kami dan letakkan di bawah ./checkpoints
Unduh contoh data (2 adegan dari map-free-reloc) dan unzip sebagai ./examples
Jalankan demo:
python demo.py --demo_path ./examples/s00567 --kf_every 10 --vis --vis_cam
Untuk visualisasi --vis
, ini akan memberi Anda jendela untuk menyesuaikan tampilan rendering. Setelah Anda menemukan tampilan untuk dirender, silakan klik space key
dan tutup jendela. Kode kemudian akan melakukan rendering rekonstruksi tambahan.
Studio Nerf:
# 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
Perhatikan bahwa di sini Anda dapat menggunakan --save_ori
untuk menyimpan intrinsik berskala ke transform.json
untuk melatih NeRF/3D Gaussians dengan gambar asli.'
Kami juga menyediakan antarmuka Gradio untuk pengalaman yang lebih baik, cukup dijalankan dengan:
# Untuk pengguna Linux dan Windows (dan macOS dengan Intel??)python app.py
Anda dapat menentukan argumen --server_port
, --share
, --server_name
untuk memenuhi kebutuhan Anda!
Kami menggunakan Habitat, ScanNet++, ScanNet, ArkitScenes, Co3D, dan BlendedMVS untuk melatih model kami. Silakan merujuk ke data_preprocess.md.
Silakan gunakan perintah berikut untuk melatih model kami:
torchrun --nproc_per_node 8 train.py --batch_size 4
Silakan gunakan perintah berikut untuk mengevaluasi model kami:
python eval.py
Kode, pipeline prapemrosesan data, dan skrip evaluasi kami didasarkan pada beberapa repositori yang mengagumkan:
DEBU3R
PercikanTAM
NeRFStudio
MVSNet
BAGUS-SLAM
NeuralRGBD
Rekon Sederhana
Kami berterima kasih kepada penulis karena telah merilis kode mereka!
Penelitian yang dipresentasikan di sini didukung oleh penghargaan penelitian yang disponsori dari Cisco Research dan Pusat Pelatihan Doktoral UCL di bidang AI Dasar di bawah hibah UKRI nomor EP/S021566/1. Proyek ini memanfaatkan waktu pada fasilitas Tier 2 HPC JADE2, yang didanai oleh EPSRC (EP/T022205/1).
Jika Anda merasa kode atau makalah kami berguna untuk penelitian Anda, mohon pertimbangkan untuk mengutip:
@article{wang20243d, title={3D Reconstruction with Spatial Memory}, author={Wang, Hengyi and Agapito, Lourdes}, journal={arXiv preprint arXiv:2408.16061}, year={2024} }