Colmap 的安装与使用

Colmap是一个用于 SfM (Structure-from-Motion) 和多视图立体视觉 MVS (Multi-View Stereo) 计算的开源软件,可以根据多视角图像恢复三维场景结构,广泛应用于计算机视觉、机器人、无人机等领域。Colmap 的核心功能包括:

  1. 特征检测与匹配:能够自动检测和匹配图像中的特征点。
  2. 相机姿态估计:通过特征匹配来估计相机的位置和方向。
  3. 稀疏重建:通过计算点云来恢复场景的三维结构。
  4. 稠密重建:使用多视图立体算法来生成稠密的三维重建。

本文将梳理 Colmap 的环境配置过程和使用方法,更多教程参考 COLMAP Tutorial

实验环境:

  • 平台:AutoDL
  • 显卡:RTX 4090 24GB
  • 镜像:PyTorch 2.1.2、Python 3.10(ubuntu22.04)、Cuda 11.8

一. COLMAP 安装

先更新软件包索引:sudo apt-get update,然后按照 COLMAP | Installation | Build from Source | Linux 安装即可。配置和编译完 COLMAP 后,验证 colmap -h,如果不报错即为安装成功:
在这里插入图片描述

报错记录

qt.qpa.xcb: could not connect to display.

处理过程中如果遇到 qt.qpa.xcb: could not connect to display. qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. 报错:
在这里插入图片描述

原因是 Qt 显示插件依赖显示器,而远程服务器没有 GUI 环境。设置环境变量 1 即可:export QT_QPA_PLATFORM=offscreen

nvcc fatal : Unsupported gpu architecture ‘compute_native’

执行 ninja 指令时遇到 nvcc fatal : Unsupported gpu architecture 'compute_native' 报错:
在这里插入图片描述
报错的原因是 CUDA 编译器找不到支持的计算架构 2,在 CMake 配置中正确指定该值即可:

nvidia-smi --query-gpu=compute_cap --format=csv		# 89
cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=89

但是又遇到 nvcc fatal : Unsupported gpu architecture 'compute_89' 报错,解决办法为 cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=80,原因未知。

二. 数据准备

上传数据集到 images 文件夹下即可,格式如下:

/path/to/images
+── images
│   +── image1.jpg
│   +── image2.jpg
│   +── ...
│   +── imageN.jpg

三. COLMAP 使用

COLMAP 提供了命令行接口进行自动化重建:colmap automatic_reconstructor --workspace_path $DATASET_PATH --image_path $DATASET_PATH/images 3
在这里插入图片描述
密集重建的过程耗时较长,100 多张视图的场景大概需要 10 个小时。重建完成后格式如下:

/path/to/project
+── sparse
│   +── 0
│   │   +── cameras.bin
│   │   +── images.bin
│   │   +── points3D.bin
│   +── ...
+── dense
│   +── 0
│   │   +── images
│   │   +── sparse
│   │   +── stereo
│   │   +── fused.ply
│   │   +── meshed-poisson.ply
│   │   +── meshed-delaunay.ply
│   +── ...
+── database.db

  1. solved: Could not load the Qt platform plugin “xcb” #300 ↩︎

  2. nvcc fatal : Unsupported gpu architecture ‘compute_native’ #2464 ↩︎

  3. COLMAP | Command-line Interface ↩︎

### Colmap 安装教程 对于希望安装 COLMAP 的用户而言,COLMAP 是一款广泛应用于计算机视觉领域中的多视图几何和 SfM(Structure from Motion)重建工具。为了成功安装 COLMAP 并解决可能遇到的问题,以下是详细的安装指南。 #### 准备工作环境 确保已安装必要的依赖项,包括但不限于 CMake、CUDA 和 cuDNN 等组件。特别是当使用 GPU 加速功能时,设置 CUDA 架构版本至关重要。如果收到错误提示 `CMake Error at cmake/FindDependencies.cmake:124` 关于未指定 `CMAKE_CUDA_ARCHITECTURES` 参数,则需手动配置此参数[^1]。 ```bash sudo apt-get update && sudo apt-get install -y \ build-essential \ cmake \ git \ libboost-all-dev \ libeigen3-dev \ libsuitesparse-dev \ libcgal-dev \ qtbase5-dev \ libglew-dev \ libgoogle-glog-dev \ libprotobuf-dev \ protobuf-compiler \ python3-pip ``` #### 下载并编译源码 获取最新版 COLMAP 源代码: ```bash git clone --recursive https://github.com/colmap/colmap.git cd colmap mkdir build cd build ``` 接着运行 CMake 配置命令,在这里可以定义构建选项以及处理之前提到的 CUDA 架构问题。通过编辑 `cmake/FindDependencies.cmake` 文件或者直接在命令行中传递 `-DCMAKE_CUDA_ARCHITECTURES=70` 来解决问题。 ```bash cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF -DBUILD_GUI=ON -DCMAKE_CUDA_ARCHITECTURES="70" make -j$(nproc) sudo make install ``` 完成上述步骤后,应该能够顺利地完成 COLMAP 的本地化部署过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值