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

Ubuntu18.04安装COLMAP

文章目录


前言

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


安装COLMAP:

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

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

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

安装CUDA, cuDNN

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

CUDA安装完成

bash 复制代码
nvcc -V

cuDNN安装完成

bash 复制代码
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装依赖项

bash 复制代码
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

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

bash 复制代码
sudo apt-get install libcgal-qt5-dev

安装Ceres优化库

bash 复制代码
可能需要安装的依赖
sudo apt-get install libatlas-base-dev libsuitesparse-dev

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

bash 复制代码
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

可能出现的问题:

c 复制代码
/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?)

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

安装glog(可选)

bash 复制代码
# 首先先卸载原始的glog
sudo apt-get remove libgoogle-glog-dev

官网下载glog-0.6.0版本

bash 复制代码
# 解压
tar -zxvf glog-0.6.0.tar.gz
cd glog-0.6.0
mkdir build
cd build
cmake ..
make -j 24
sudo make install

配置并编译COLMAP

bash 复制代码
# 与Ceres库在同一目录
git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
cmake ..
make -j24
sudo make install

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

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

bash 复制代码
set(CMAKE_CUDA_ARCHITECTURES "70")

运行COLMAP

bash 复制代码
colmap -h
colmap gui

总结

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

相关推荐
好家伙VCC11 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
前端玖耀里13 小时前
如何使用python的boto库和SES发送电子邮件?
python
serve the people13 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源13 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
喵手13 小时前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手13 小时前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
2601_9491465314 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn14 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
Java面试题总结15 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒15 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr