赞
踩
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,最近的版本都可以使用的。
从github上下载colmap项目
git clone https://github.com/colmap/colmap.git
由于默认分支下项目会编译出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
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
这里如果遇到报错的话就更新下安装包,应该就不报错了
sudo apt update
之后就是使用cmake的过程了
cd colmap
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install
在执行ninjia时会遇到下面的报错,
我们需要先根据自己的GPU类型确定算力,修改colmap文件夹下的CmakeList.txt文件,可以参考这位老哥解答的问题2
我的GPU是4060,属于40系列,因此算力为89。在cmakelist加入
set(CMAKE_CUDA_ARCHITECTURES "89")
然后再次执行就会发现不报错啦,最后可以输入
colmap gui
看到图像化界面就说明colmap安装成功
我选择的是0.6.0版本的pycolmap,然后也别忘记修改cuda的算力,方法同上,否则会报错
git clone https://github.com/colmap/pycolmap.git
cd pycolmap
git checkout 58ddb6d
python -m pip install .
最后就可以看到0.6.0的pycolmap安装成功啦
现在想想自己花了好久的东西其实就这么点步骤,也是很简单的。反思了一下,主要是因为代码版本的问题以及cmake的版本问题导致我卡了好久,但最主要还是经验不足,比如之前一直在服务器上跑代码,没开远程桌面,编译的时候colmap gui老是报错,后来才明白远程服务器我就只有一个终端哪里给我跳出gui来呢,现在想想当时的问题也都很好笑,但当时就是没想到,也就当积累经验吧
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。