CER-MVS 开源项目使用教程
CER-MVS 项目地址: https://gitcode.com/gh_mirrors/ce/CER-MVS
1、项目介绍
CER-MVS(Cascaded Epipolar RAFT Multiview Stereo)是一个基于RAFT(Recurrent All-Pairs Field Transforms)架构的多视图立体(MVS)重建方法。该项目由Zeyu Ma、Zachary Teed和Jia Deng在2022年的欧洲计算机视觉会议(ECCV)上提出。CER-MVS通过引入五个新的变化来改进RAFT:极线代价体积、代价体积级联、多视图代价体积融合、动态监督和多分辨率深度图融合。与传统的多视图立体方法不同,CER-MVS通过更新视差场而不是3D代价体积来操作,从而显著提高了重建精度。
2、项目快速启动
环境准备
首先,确保你的系统满足以下要求:
- PyTorch 1.7
- Cuda 11.0
- GCC 9
使用以下命令创建并激活CER-MVS的conda环境:
conda env create -f environment.yml
conda activate cer-mvs
安装依赖
编译alt_cuda_corr
模块:
export TORCH_CUDA_ARCH_LIST="6.0;6.1;6.2;7.0;7.5;8.0"
cd alt_cuda_corr && python setup.py install && cd ..
下载数据集
下载所需的DTU数据集和BlendedMVS数据集,并将它们放置在合适的位置。
运行示例
使用以下命令运行CER-MVS的示例脚本:
python demo.py --dataset-dir /path/to/dataset --traj-path /path/to/log_file --ply-path /path/to/point_cloud.ply --out-dir /path/to/save_results
3、应用案例和最佳实践
应用案例
CER-MVS在多个数据集上展示了其优越的性能,特别是在Tanks and Temples数据集上,其重建结果在多个场景中达到了较高的精度。例如,在Lighthouse场景中,CER-MVS的重建精度达到了81.16%。
最佳实践
- 数据预处理:确保输入图像和相机参数的预处理步骤正确无误,这对于获得高质量的重建结果至关重要。
- 动态监督:在训练过程中,使用动态监督策略可以有效提高模型的泛化能力。
- 多分辨率融合:在深度图融合阶段,采用多分辨率策略可以更好地保留细节信息。
4、典型生态项目
RAFT
RAFT(Recurrent All-Pairs Field Transforms)是CER-MVS的基础架构,它最初是为光流估计任务设计的。RAFT通过引入全对场变换和循环更新机制,显著提高了光流估计的精度。
DTU数据集
DTU数据集是一个广泛使用的多视图立体数据集,包含了多个场景的高质量图像和相机参数。CER-MVS在该数据集上的表现证明了其强大的重建能力。
BlendedMVS
BlendedMVS是一个高分辨率的多视图立体数据集,CER-MVS在该数据集上的应用展示了其在复杂场景中的适应性和鲁棒性。
通过以上模块的介绍,您可以快速上手CER-MVS项目,并了解其在实际应用中的表现和最佳实践。