
如何快速上手Detector-FreeSfM从安装到运行示例数据集的完整指南【免费下载链接】DetectorFreeSfMCode for Detector-Free Structure from Motion, CVPR 2024项目地址: https://gitcode.com/gh_mirrors/de/DetectorFreeSfMDetector-FreeSfM是一个基于CVPR 2024研究成果的无检测器结构从运动Structure from Motion系统能够从多张图像中重建场景的三维结构尤其擅长处理低纹理物体、深海和月球表面等具有挑战性的真实场景。本文将为你提供从环境配置到运行示例数据集的完整步骤帮助你快速掌握这个强大工具的使用方法。 什么是Detector-FreeSfMDetector-FreeSfM是一种创新的三维重建技术它不需要传统的特征检测器就能实现精确的运动恢复结构。这项技术在2023年图像匹配挑战赛中获得了第一名展示了其在复杂场景下的卓越性能。图Detector-FreeSfM在低纹理物体、深海和月球表面等具有挑战性场景中的重建效果对比 快速安装指南1. 克隆项目仓库首先通过以下命令克隆项目仓库到本地git clone https://gitcode.com/gh_mirrors/de/DetectorFreeSfM cd DetectorFreeSfM2. 初始化第三方模块项目依赖多个第三方库使用以下命令初始化git submodule update --init3. 创建并激活conda环境使用提供的environment.yaml文件创建conda环境conda env create -f environment.yaml conda activate detectorfreesfm注意默认假设CUDA版本为11.7。如果你使用其他CUDA版本请相应修改environment.yaml文件中的第12行。4. 安装RoIAlign模块RoIAlign用于多视图精修匹配阶段执行以下命令安装cd third_party/RoIAlign.pytorch pip install .5. 下载预训练权重从提供的链接下载预训练权重放置在项目目录下并解压tar -xvf weight.tar rm -rf weight.tar6. 安装修改版COLMAPDetector-FreeSfM部分基于COLMAP并对其进行了修改以实现几何精修模块。按照以下步骤安装首先安装依赖项apt-get install -y git \ cmake \ build-essential \ libboost-program-options-dev \ libboost-filesystem-dev \ libboost-graph-dev \ libboost-system-dev \ libboost-test-dev \ libeigen3-dev \ libsuitesparse-dev \ libfreeimage-dev \ libgoogle-glog-dev \ libgflags-dev \ libglew-dev \ qtbase5-dev \ libqt5opengl5-dev \ libcgal-dev \ libmetis-dev \ apt-get install -y libcgal-qt5-dev \ apt-get install -y libatlas-base-dev libsuitesparse-dev然后安装ceres-solvercd path/to/your/desired/ceres/installation/directory git clone https://github.com/ceres-solver/ceres-solver.git cd ceres-solver git checkout 1.14.x mkdir build cd build cmake .. -DBUILD_TESTINGOFF -DBUILD_EXAMPLESOFF make -j make install最后安装修改版COLMAPcd path/to/your/desired/colmap/installation/directory git clone https://github.com/hxy-123/colmap.git cd colmap mkdir build cd build cmake .. make -j如果有sudo权限可以安装COLMAPsudo make install如果没有sudo权限记住colmap可执行文件路径并导出到环境变量export COLMAP_PATH/your/path/colmap/build/src/exe/colmap 数据集准备Detector-FreeSfM的数据集结构组织如下repo_path/SfM_dataset - dataset_name1 - scene_name_1 - images - image_name_1.jpg or .png or ... - image_name_2.jpg - ... - intrins (optional, used for evaluation) - camera_name_1.txt - camera_name_2.txt - ... - poses (optional, used for evaluation) - pose_name_1.txt - pose_name_2.txt - ... - scene_name_2 - ... - dataset_name2 - ...images、intrins和poses文件夹的命名是强制性的以便系统识别。项目已包含一个示例数据集位于SfM_dataset/example_dataset/example_scene/images/目录下包含多张示例图片如00318781_8039756060.jpg (1057x780)01606161_5223112207.jpg (1019x679)02928139_3448003521.jpg (780x1063)▶️ 运行示例数据1. 修改配置文件首先修改hydra_configs/demo/dfsfm.yaml文件的第22行指定项目的绝对路径。2. 运行演示命令执行以下命令运行示例数据集python eval_dataset.py demodfsfm.yaml3. 查看结果SfM结果将以COLMAP格式保存在SfM_dataset/example_dataset/example_scene/DetectorFreeSfM_loftr_official_coarse_only__scratch_no_intrin/colmap_refined目录中可以使用colmap gui命令可视化结果。⚡ 提高运行速度的技巧如果你有多个GPU可以通过启用多处理来加速评估。在配置中设置ray.enableTrue并设置ray.n_workersyour_gpu_number以同时评估数据集中的多个场景。对于包含许多图像的场景如ETH3D数据集中的Bridge可以通过设置sub_use_rayTrue和sub_ray_n_workeryour_gpu_number为粗SfM和多视图精修匹配阶段的图像匹配设置多个工作器。增加多视图精修阶段的批处理大小。目前我们在精修匹配中对轨迹进行分块neuralsfm.NEUSFM_refinement_chunk_size设置为2000以便在VRAM小于12GB的GPU上工作。如果你的设备中的GPU具有更大的VRAM可以考虑增加此值以加快处理速度。 更多资源官方文档INSTALL.md数据集准备指南DATASET_PREPARE.md源代码src/配置文件hydra_configs/通过以上步骤你已经成功安装并运行了Detector-FreeSfM。这个强大的工具能够帮助你在各种具有挑战性的场景中实现精确的三维重建无论是低纹理物体、深海环境还是月球表面。开始探索吧【免费下载链接】DetectorFreeSfMCode for Detector-Free Structure from Motion, CVPR 2024项目地址: https://gitcode.com/gh_mirrors/de/DetectorFreeSfM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考