• 【三维重建】Ubuntu18.04安装COLMAP


    Ubuntu18.04安装COLMAP


    前言

    COLMAP是一种通用的运动结构(SfM)和多视图立体(MVS)管道,具有图形和命令行界面。它为有序和无序图像集合的重建提供了广泛的功能,常见的基于nerf算法均需要colmap来计算位姿。源代码可在GitHub上获得。


    安装COLMAP:

    博主参考官方教程进行配置。

    这里有个很坑爹的bug,因为可能存在路径冲突,因此需要将anaconda3/anaconda3的文件名称暂时修改成其他如anaconda31等,让系统找不到该路径,防止编译过程中出现路径冲突!!!!!!!!!!!!

    完成COLMAP安装再将文件名复原。

    安装CUDA, cuDNN

    可以参考博主的博文【ubuntu18.04深度学习环境配置详细教程
    CUDA安装完成

    nvcc -V
    
    • 1


    cuDNN安装完成

    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    
    • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21


    在Ubuntu18.04下,CGAL的CMake配置脚本已损坏,还必须安装CGAL Qt5软件包:

    sudo apt-get install libcgal-qt5-dev
    
    • 1

    安装Ceres优化库

    可能需要安装的依赖
    sudo apt-get install libatlas-base-dev libsuitesparse-dev
    
    • 1
    • 2

    建议建一个colmap的目录,将Ceres的库位置与后续COLMAP的库位置都放在一起。

    git clone https://ceres-solver.googlesource.com/ceres-solver
    cd ceres-solver
    mkdir build
    cd build
    cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF
    make -j24
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7


    可能出现的问题:

    /usr/include/glog/logging.h:638:9: error: ambiguous overload for ?operator<<? (operand types are ?std::ostream {aka std::basic_ostream<char>}? and ?std::nullptr_t?)
    
    • 1


    解放方法:因为下载的glog版本太老导致无法正常安装ceres-solver,可以尝试使用一个较新的glog版本。

    安装glog(可选)

    # 首先先卸载原始的glog
    sudo apt-get remove libgoogle-glog-dev
    
    • 1
    • 2

    官网下载glog-0.6.0版本

    # 解压
    tar -zxvf glog-0.6.0.tar.gz
    cd glog-0.6.0
    mkdir build
    cd build
    cmake ..
    make -j 24
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    配置并编译COLMAP

    # 与Ceres库在同一目录
    git clone https://github.com/colmap/colmap.git
    cd colmap
    mkdir build
    cd build
    cmake ..
    make -j24
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8


    cmake过程中可能出现的问题:

    在colmap/文件内修改CMakeLists.txt内容:

    set(CMAKE_CUDA_ARCHITECTURES "70")
    
    • 1

    运行COLMAP

    colmap -h
    colmap gui
    
    • 1
    • 2


    总结

    尽可能简单、详细的介绍Ubuntu18.04环境配置COLMAP详细教程。

  • 相关阅读:
    烟台专利的类型个人申请专利有哪些好处?
    Linux进程信号
    SPI协议
    什么是分布式锁?几种分布式锁分别是怎么实现的?
    README.md文件使用
    hadoop入门(六):集群测试
    燕之屋通过港交所聆讯:苦战IPO十余年,黄健等人提前精准套现
    [go学习笔记.第十二章.文件操作] 2.json基本介绍
    设计模式之美总结(设计原则篇)
    尚好房 01_搭建环境
  • 原文地址:https://blog.csdn.net/yangyu0515/article/details/132803408