3D-реконструкция с пространственной памятью
Хэнъи Ван, Лурдес Агапито
арXiv 2024
[2024-10-25] Добавлена поддержка Nerfstudio
[2024-10-18] Добавлена оценка параметров камеры
[2024-09-30] @hugoycj добавляет демо-версию градиента
[20.09.2024] Инструкция для наборов данных data_preprocess.md
[2024-09-11] Код для Spann3R
Клон Spann3R
git clone https://github.com/HengyiWang/spann3r.git cd spann3r
Создать среду Конды
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
Скомпилировать ядра cuda для RoPE
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
Загрузите данные примера (2 сцены из Map-Free-Reloc) и разархивируйте их как ./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 (и macOS с Intel??) 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
Наш код, конвейер предварительной обработки данных и сценарии оценки основаны на нескольких замечательных репозиториях:
DUST3R
СПЛАТАМ
НеРФСтудио
МВСнет
НИЦЦА-СЛЭМ
Нейронный RGBBD
SimpleRecon
Благодарим авторов за выпуск своего кода!
Представленное здесь исследование было поддержано спонсируемой исследовательской наградой от Cisco Research и Центра подготовки докторантов в области фундаментального искусственного интеллекта UCL в рамках гранта UKRI под номером EP/S021566/1. В этом проекте использовалось время установки высокопроизводительных вычислений уровня 2 JADE2, финансируемой EPSRC (EP/T022205/1).
Если вы найдете наш код или статью полезными для вашего исследования, пожалуйста, процитируйте:
@article{wang20243d, title={3D Reconstruction with Spatial Memory}, author={Wang, Hengyi and Agapito, Lourdes}, journal={arXiv preprint arXiv:2408.16061}, year={2024} }