ubuntu20安装colmap

发布于:2024-05-11 ⋅ 阅读:(94) ⋅ 点赞:(0)

系统环境

ubuntu20 ,cuda11.8 ,也安装了anaconda。因为根据colmap的官方文档说的,如果根据apt-get安装的话,默认是非cuda版本的,而我觉得既然都安装了cuda11.8了,自然也要安装cuda版本的colmap。

安装步骤

整体的安装步骤就是参考的官方文档:https://colmap.github.io/install.html

  1. 安装依赖
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

注意这里是安装了ceres这个非线性优化库了,所以也就没必要再自己手动去源码安装。
如果apt-get的时候遇到问题了,可以参考这篇博客:https://www.cnblogs.com/gooutlook/p/17682885.html
我在安装这些依赖的时候没有遇到问题,所以直接下一步。

  1. 克隆代码
git clone https://github.com/colmap/colmap.git
cd colmap
  1. 在编译之前根据文档的提示,需要在CMakeLists中设置参数来使cuda生效。
    就是下面这段原话:

Or, manually install latest CUDA from NVIDIA’s homepage. During CMake configuration specify CMAKE_CUDA_ARCHITECTURES as “native”, if you want to run COLMAP on your current machine only, “all”/”all-major” to be able to distribute to other machines, or a specific CUDA architecture like “75”, etc.

所以在CMakeLists中添加一句:

set(CMAKE_CUDA_ARCHITECTURES "native")

结果如下:
在这里插入图片描述
然后就可以继续下面的编译安装。

  1. 编译安装
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install

在cmake的时候需要注意,如果你是安装了anaconda的话,还需要将anaconda的路径从当前终端去掉,否则很多库会被anaconda覆盖而造成版本不一致报错。具体参考我的这篇博客:anaconda与ros联合使用

在ninja的时候会等待一点时间:
在这里插入图片描述
结果:因为前面的依赖安装很顺利,所以比较轻松的安装好了colmap。

  1. 测试
colmap gui

在这里插入图片描述

打开可以用于3D高斯训练的数据集:File->Import model->data->train->spase->0
可以看到稀疏的火车点云。
在这里插入图片描述

结束

主要是安装依赖的时候,按照官方文档去装,注意配置cmakelist和消去anaconda的影响,就可以装上colmap。