当前位置: 首页 > news >正文

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 安装
    • 报错记录
      • qt.qpa.xcb: could not connect to display.
      • nvcc fatal : Unsupported gpu architecture 'compute_native'
  • 二. 数据准备
  • 三. COLMAP 使用

一. 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 ↩︎

相关文章:

  • 极狐GitLab 17.8 正式发布,多项 DevOps 重点功能解读【二】
  • 11-跳跃游戏
  • UE_C++ —— Unreal Smart Pointer Library
  • typescript快速入门之安装与运行
  • C++入门之《拷贝构造函数》详解
  • 专为Apple Silicon优化的开源机器学习框架:MLX (Machine Learning eXtension)
  • 【C++指南】解锁C++ STL:从入门到进阶的技术之旅
  • 国产编辑器EverEdit - 二进制模式下观察Window/Linux/MacOs换行符差异
  • 高项第六章——项目管理概论
  • 字节二面:DNS是什么?是什么原理?
  • flowable学习
  • 老游戏回顾:GOWpsp
  • 第33课 绘制原理图——放置文本框
  • CAS单点登录(第7版)22.中断通知
  • ES6模块化和CommonJs模块化区别
  • hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况
  • Deesek:新一代数据处理与分析框架实战指南
  • ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
  • Banana Pi OpenWRT One 官方路由器的第一印象
  • Springboot中使用Elasticsearch(部署+使用+讲解 最完整)
  • 陕西三原高新区违法占用土地,被自然资源局罚款10万元
  • 习近平向多哥新任领导人致贺电
  • 美将解除对叙利亚制裁,外交部:中方一贯反对非法单边制裁
  • 古巴外长谴责美国再次将古列为“反恐行动不合作国家”
  • 七旬男子驾“老头乐”酒驾被查,曾有两次酒驾两次肇事记录
  • 加拿大总理宣布新内阁名单