需从 Google Drive 单独下载预训练权重;第一步解析 SfM 与第二步深度估计必须使用相同的 processing_res;输入须组织成 COLMAP 结果格式,且室内外需分别调整 --max_depth。

git clone https://github.com/zju3dv/Murre.git
conda create -n murre python=3.10
pip install -r requirements.txtREADME 未说明显存要求;依赖安装命令指定 cudatoolkit=11.8 与 PyTorch 2.0.1,需按本机 CUDA 版本调整,未提及 CPU 运行或具体 GPU 型号。
用 SfM 稀疏深度引导单目深度估计,做多视角三维重建的 CVPR 2025 开源实现
用 SfM 引导的单目深度估计做多视角三维重建,把稀疏重建的相机位姿和单目深度先验结合起来,提升复杂场景下的重建精度。
核心能力
- 用 SfM 稀疏深度图引导单目深度估计
- 解析 COLMAP 结果生成稀疏深度、内参与位姿
- 按重投影误差与共视视角数过滤不可靠深度
- 对深度图做 TSDF 融合输出重建结果
- 可调处理分辨率权衡推理速度与精度
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Multi-view Reconstruction via SfM-guided Monocular Depth Estimation
Project Page | Paper

Multi-view Reconstruction via SfM-guided Monocular Depth Estimation
Haoyu Guo*, He Zhu*, Sida Peng, Haotong Lin, Yunzhi Yan, Tao Xie, Wenguan Wang, Xiaowei Zhou, Hujun Bao
CVPR 2025 Oral
Installation
Clone this repository
git clone https://github.com/zju3dv/Murre.git
Create the environment
conda create -n murre python=3.10
conda activate murre
Installing dependencies
conda install cudatoolkit=11.8 pytorch==2.0.1 torchvision=0.15.2 torchtriton=2.0.0 -c pytorch -c nvidia # use the correct version of cuda for your system
Installing other requirements
pip install -r requirements.txt
Checkpoint
The pretrained model weights can be downloaded from here.
Inference
Parse SfM output
cd sfm_depth
python get_sfm_depth.py --input_sfm_dir ${your_input_path} --output_sfm_dir ${your_output_path} --processing_res ${your_desired_resolution}
Make sure that the input is organized in the format of COLMAP results. You can specify the processing resolution to trade off between inference speed and reconstruction precision.
The parsed sparse depth maps, camera intrinsics, camera poses will be stored in ${your_output_path}/sparse_depth, ${your_output_path}/intrinsic, and ${your_output_path}/pose respectively.
SfM-guided monocular depth estimation
Run the Murre model to perform SfM-guided monocular depth estimation:
python run.py --checkpoint ${your_ckpt_path} --input_rgb_dir ${your_rgb_path} --input_sdpt_dir ${your_sparse_depth_path} --output_dir ${your_output_path} --denoise_steps 10 --ensemble_size 5 --processing_res ${your_desired_resolution} --max_depth 10.0
For indoor scenes, we recommend setting --max_depth=10.0. For outdoor scenes, consider increasing this value (for example, 80.0).
To filter unreliable SfM depth estimates, adjust:
--err_thr=${your_error_thresh} (reprojection error threshold)
--nviews_thr=${your_nviews_thresh} (minimum co-visible views)
This ensures robustness by excluding noisy depth values with high errors or insufficient observations.
Make sure that the same processing resolution is used as the first step.
TSDF fusion
Run the following to perform TSDF fusion on depth maps produced by Murre:
python tsdf_fusion.py --image_dir ${your_rgb_path} --depth_dir ${your_depth_path} --intrinsic_dir ${your_intrinsic_path} --pose_dir ${your_pose_path}
Please pass in the depth maps produced by Murre and camera parameters parsed in the first step.
Adjust --res to balance reconstruction resolution with performance. Set --depth_max to clip depth maps based on your scene type (e.g., lower values for indoor scenes, higher for outdoor).
Evaluation
Please refer to here.
Citation
If you find this code useful for your research, please use the following BibTeX entry.
@inproceedings{guo2025murre,
title={Multi-view Reconstruction via SfM-guided Monocular Depth Estimation},
author={Guo, Haoyu and Zhu, He and Peng, Sida and Lin, Haotong and Yan, Yunzhi and Xie, Tao and Wang, Wenguan and Zhou, Xiaowei and Bao, Hujun},
booktitle={CVPR},
year={2025},
}
Acknowledgement
We sincerely thank the following excellent projects, from which our work has greatly benefited.