当前位置:   article > 正文

ubuntu安装colmap和pycolmap最新版2024

pycolmap

colmap和pycolmap作为重要的计算机视觉中相机定位,三维重建的重要工具,并且还在一直维护和更新,因此安装的方法也会随着版本更迭而改变,之前很多相关的教程都不太适用现在最新的版本了


前言

最近需要使用hloc项目,因此需要安装colmap,而直接通过 pip install pycolmap下来的不是gpu版本,进行三维重建时会非常的慢,因此需要从源码编译,具体github项目可见https://github.com/colmap/colmap在编译过程参考过很多之前的心相关教程,但多数较低版本的colmap以及pycolmap,现在已经不需要改anaconda名字或者自己安装ceres库等繁琐操作。在安装过程中也是遇到了各种形形色色的坑,花了好几天时间才完成,因此记录一下也方便大家避坑

一、安装前的准备

GPU版本的colmap需要cuda支持,因此需要下载自己GPU适配的cudatoolkit,python版本我这里用的是3.9(3.10我都也尝试过也可以),cudatoolkit我用的cudatoolkit11.8。
另外这里需要更新的cmake的版本,ubuntu自带的cmake版本为3.16,非常的古老,我们需要进行升级,不进行升级的话,编译pycolmap会报找不到python的解释器的错误,因此推荐大家自己从官网重新下一个高版本的,然后用软连接的方式,这样不需要删除自己之前的cmake版本,以免造成一并删除cmake编译的内容。这里我用的cmake版本为3.23.0,最近的版本都可以使用的。

二、安装和编译colmap

1.安装正确版本的colmap

从github上下载colmap项目

git clone https://github.com/colmap/colmap.git
  • 1

由于默认分支下项目会编译出3.10版本的colmap(原因可见cmakelist中的“set(COLMAP_VERSION “3.10-dev”)”),而下载文档给的是针对3.9编译的并且按照3.10编译在后面编译pycolmap也会报版本不对的错误,因此我们需要切换git分支到3.9.1也只能是3.9.1(对于0.6.0的pycolmap来说)

cd colmap
git checkout e990364
  • 1
  • 2

2.编译colmap

colmap的使用文档在此,按照里面的教程一步步安装,不用其他杂七杂八的,首先安装需要的包

sudo apt-get install \
    git \
    cmake \
    ninja-build \
    build-essential \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-system-dev \
    libeigen3-dev \
    libflann-dev \
    libfreeimage-dev \
    libmetis-dev \
    libgoogle-glog-dev \
    libgtest-dev \
    libsqlite3-dev \
    libglew-dev \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev \
    libceres-dev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

这里如果遇到报错的话就更新下安装包,应该就不报错了

sudo apt update
  • 1

之后就是使用cmake的过程了

cd colmap
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在执行ninjia时会遇到下面的报错,
这是我之前下载的错误的截图,当时cuda版本为10.1比较老

我们需要先根据自己的GPU类型确定算力,修改colmap文件夹下的CmakeList.txt文件,可以参考这位老哥解答的问题2
我的GPU是4060,属于40系列,因此算力为89。在cmakelist加入

set(CMAKE_CUDA_ARCHITECTURES "89")
  • 1

然后再次执行就会发现不报错啦,最后可以输入

colmap gui
  • 1

看到图像化界面就说明colmap安装成功
在这里插入图片描述

3.编译pycolmap

我选择的是0.6.0版本的pycolmap,然后也别忘记修改cuda的算力,方法同上,否则会报错

git clone https://github.com/colmap/pycolmap.git
cd pycolmap
git checkout 58ddb6d
python -m pip install .
  • 1
  • 2
  • 3
  • 4

最后就可以看到0.6.0的pycolmap安装成功啦
在这里插入图片描述


总结

现在想想自己花了好久的东西其实就这么点步骤,也是很简单的。反思了一下,主要是因为代码版本的问题以及cmake的版本问题导致我卡了好久,但最主要还是经验不足,比如之前一直在服务器上跑代码,没开远程桌面,编译的时候colmap gui老是报错,后来才明白远程服务器我就只有一个终端哪里给我跳出gui来呢,现在想想当时的问题也都很好笑,但当时就是没想到,也就当积累经验吧

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/768670
推荐阅读
相关标签
  

闽ICP备14008679号