공간 기억을 이용한 3D 재구성
왕헝이, 루르드 아가피토
arXiv 2024
[2024-10-25] Nerfstudio 지원 추가
[2024-10-18] 카메라 매개변수 추정 추가
[2024-09-30] @hugoycj 그라디오 데모 추가
[2024-09-20] 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
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
아래에 배치하세요.
예제 데이터(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스튜디오
MVSNet
나이스슬램
신경 RGBD
SimpleRecon
코드를 공개해 주신 작성자에게 감사드립니다!
여기에 제시된 연구는 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} }