Skip to content

Repository files navigation

NoDrift3R [ECCV 2026]

NoDrift3R: Raymap-Guided Coupling for Drift-Robust Unposed Feed-Forward 3D Reconstruction

Xiangyu Sun1, Liu Liu2, Seungkwon Yang3, Jingbing Han2,
Seungtae Nam3, Zhizhong Su2, Eunbyung Park3
1Sungkyunkwan University, 2Horizon Robotics, 3Yonsei University

Project page arXiv Hugging Face Model

The pose-free framework for feed-forward 3D reconstruction. Our method effectively suppresses the pose drift problem, especially in long-sequences.

Installation

Please clone this project with --recursive first.

Then create the environment (example using conda).

conda create -y -n nodrift3r python=3.10
conda activate nodrift3r
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

Checkpoints

We provide two versions of checkpoints on 🤗 Hugging Face.

  1. Single dataset version:
  • Large Model and Giant Model trained on the dl3dv dataset.
  1. Mixed dataset version for zero-shot generalization:
  • Large Model and Giant Model trained on the seven mixed dataset, same as E-Rayzer.

Data Preparation

Please download datasets from DL3DV and RE10k.

For mipnerf360 datasets, please download it from Mip-NeRF 360.

Training

To train the giant model on the DL3DV dataset:

python3 -m src.main \
+experiment=dl3dv \
wandb.mode=offline \
wandb.name=dl3dv \
tensorboard.enable=true \
model.encoder.model_type='giant'

To train the large model on the DL3DV dataset:

python3 -m src.main \
+experiment=dl3dv \
wandb.mode=offline \
wandb.name=dl3dv \
tensorboard.enable=true \
model.encoder.model_type='large'

Evaluation

We provide pre-trained weights for NoDrift3R-DL3DV and NoDrift3R-mixed-dataset on Hugging Face.

To evaluate NoDrift3R on the DL3DV dataset:

CUDA_VISIBLE_DEVICES=$gpu_id python3 -m src.main \
+experiment=dl3dv \
mode=test \
wandb.name=dl3dv \
wandb.mode=offline \
dataset/view_sampler@dataset.dl3dv.view_sampler=evaluation \
dataset.dl3dv.view_sampler.index_path=assets/dl3dv_start_0_distance_150_ctx_24v_tgt_8v.json \
dataset.dl3dv.view_sampler.num_context_views=24 \
checkpointing.load=$ckpt_dl3dv \
test.save_image=false \
test.align_pose=true \
test.pose_align_steps=100 \
test.no_pose=true

To evaluate NoDrift3R on the zero-shot MipNeRF360 dataset

CUDA_VISIBLE_DEVICES=$gpu_id python3 -m src.main \
+experiment=mipnerf360 \
model.encoder.model_type=giant \
mode=test \
wandb.name=mipnerf360 \
wandb.mode=offline \
checkpointing.load=$ckpt_mix_dataset \
test.save_image=false \
test.align_pose=true \
test.pose_align_steps=100 \
test.no_pose=true \
test.save_mip360_video=false

Acknowledgement

This work is built on follow amazing research works, thanks a lot to all the authors for sharing!

Citation

If you find our work useful, please consider giving a star ⭐ and citing the following paper 📝.

@misc{sun2026nodrift3rraymapguidedcouplingdriftrobust,
      title={NoDrift3R: Raymap-Guided Coupling for Drift-Robust Unposed Feed-Forward 3D Reconstruction}, 
      author={Xiangyu Sun and Liu Liu and Seungkwon Yang and Jingbing Han and Seungtae Nam and Zhizhong Su and Eunbyung Park},
      year={2026},
      eprint={2607.07168},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2607.07168}, 
}

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages