Gaussian Splating 需要安装 Colmap 执行 SFM,本文记录安装方法,填几个坑。

简介

COLMAP 是一个通用的运动结构 (SfM) 和多视图立体 (MVS) 管道,具有图形和命令行界面。它为重建有序和无序图像集合提供了广泛的功能。

官方仓库:https://github.com/colmap/colmap

编译安装

操作系统 Ubuntu 22.04

官方文档:https://colmap.github.io/install.html

安装依赖

sudo apt-get install \

git \

cmake \

ninja-build \

build-essential \

libboost-program-options-dev \

libboost-graph-dev \

libboost-system-dev \

libeigen3-dev \

libflann-dev \

libfreeimage-dev \

libmetis-dev \

libgoogle-glog-dev \

libgtest-dev \

libgmock-dev \

libsqlite3-dev \

libglew-dev \

qtbase5-dev \

libqt5opengl5-dev \

libcgal-dev \

libceres-dev

没有安装 CUDA 的可以安装 nvidia-cuda-toolkit

sudo apt-get install -y \

nvidia-cuda-toolkit \

nvidia-cuda-toolkit-gcc

为了 GS 安装的建议直接装 CUDA 11.8 就好了

源码下载

git clone https://github.com/colmap/colmap.git

cd colmap

mkdir build

cd build

编译安装

接下来需要进行 cmake,注意显卡算力是否和cuda 匹配,我的 3060 显卡就报错

nvcc fatal : Unsupported gpu architecture 'compute_native'

查看当前显卡算力:

cd /usr/local/cuda/extras/demo_suite

./deviceQuery | grep "CUDA Capability Major/Minor version number"

--> CUDA Capability Major/Minor version number: 8.6

nvidia-smi --query-gpu=compute_cap --format=csv

-->

compute_cap

8.6

表示我的显卡算力 8.6

执行 CMake 命令

cmake . -GNinja -DCMAKE_CUDA_ARCHITECTURES=86

安装了 anaconda 的注意了,如果看到这步有 warning:

runtime library [libGLU.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/vvd/anaconda3/lib

那么接下来会报错:

/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFFieldTag@LIBTIFF_4.0'

解决方案 为暂时关掉 anaconda 的 bin Path, 即全部注释掉

# >>> conda initialize >>>

# ! Contents within this block are managed by 'conda init' !

#__conda_setup="$('/home/vvd/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

#if [ $? -eq 0 ]; then

# eval "$__conda_setup"

#else

# if [ -f "/home/vvd/anaconda3/etc/profile.d/conda.sh" ]; then

# . "/home/vvd/anaconda3/etc/profile.d/conda.sh"

# else

# export PATH="/home/vvd/anaconda3/bin:$PATH"

# fi

#fi

#unset __conda_setup

# <<< conda initialize <<<

之后换一个终端,确定 echo $PATH 里没有 anaconda 的 bin 后重新执行 cmake 命令

编译安装:

ninja

sudo ninja install

运行测试

colmap -h

colmap gui

Ubuntu 22.04 安装 Colmap

参考资料

https://github.com/colmap/colmap

https://colmap.github.io/install.html

https://github.com/colmap/colmap/issues/2464

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。