目录
一、COLMAP简介
COLMAP 是一款用于3D重建和图像处理的软件,它结合了计算机视觉算法和优化技术,用于从一组图像中构建三维结构。COLMAP 是一个全功能的通用视觉测距和三维建模工具,旨在从常规图像中自动化创建三维模型。这个工具广泛应用于摄影测量、机器人技术、增强现实等领域。
COLMAP 使用了多种计算机视觉和图像处理技术,包括:
-
特征检测与匹配: 使用 SIFT、ORB 等特征描述符自动检测和匹配图像中的特征点。这是进行图像对齐和3D建模的基础。
-
结构从运动(Structure from Motion, SfM): SfM 是一种计算技术,通过分析多个二维图像来重建三维结构。COLMAP 在这方面使用了多种优化算法,如增量式和全局式SfM。
-
稠密重建: 经过初始的稀疏重建后,COLMAP 可以进行像素级的稠密重建,生成更详细的三维模型。
-
多视图立体匹配(Multi-View Stereo, MVS): 通过比较多个视图中的像素信息,确定三维空间中点的位置。
-
优化与求解器: 使用 Ceres Solver 进行优化计算,提高算法的准确性和效率。
COLMAP 的意义主要体现在它能够自动化和精确地从一组普通图片中重建出三维模型,这在多个领域都非常有价值:
-
文化遗产保护: 通过三维重建技术记录和保护重要的历史遗迹和文化遗产。
-
增强现实(AR)与虚拟现实(VR): 为 AR/VR 应用创建精确的三维环境和物体模型。
-
无人机与机器人导航: 使用三维模型来帮助无人机和机器人在复杂环境中进行导航和任务规划。
-
地理信息系统(GIS): 提供详细的三维地理数据,用于城市规划、环境监测等。
总的来说,COLMAP 是一个高度专业化的工具,它的开发和使用推动了计算机视觉技术在三维空间理解和数字化建模方面的应用。
二、ubuntu安装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
git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
cmake .. -GNinja
报错:
-- Detecting CUDA compile features - done
CMake Error at cmake/FindDependencies.cmake:125 (message):
You must set CMAKE_CUDA_ARCHITECTURES to e.g. 'native', 'all-major', '70',
etc. More information at
https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html
Call Stack (most recent call first):
CMakeLists.txt:85 (include)
解决:
cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=native
ninja
sudo ninja install
安装完成。
测试:
colmap -h
测试成功。
三、windows安装COLMAP
下载Colmap:https://demuc.de/colmap/#download
选择cuda版本的进行下载。
解压后,添加到环境变量
E:\openmvg\COLMAP-3.9.1-windows-cuda
安装完成。