colmap+pycolmap带cuda编译
背景
由于需要用到pycolmap接口且是CUDA版本的,根据github上colmap的指示,需要源码在windows上编译。
步骤
colmap在windows上的安装和编译
查看https://colmap.github.io/install.html#id2关于在windows上安装colmap的文档,官方建议CUDA版本7.x以上,visual studio 2019以上。我这里用的CUDA v12.6 和 vs2022。
在安装vcpkg和colmap之前,需要先安装vs2022和CUDA v12.6,这部分这里就不复述,可以查看上一篇gsplat部署的文章。
colmap官方推荐vcpkg安装的方式,首先git clone下载vcpkg,然后cd到主目录,执行.bat文件
git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat
接下来安装并且编译colmap
.\vcpkg install colmap[cuda,tests]:x64-windows
此时,会根据你的电脑显卡编译特定版本的colmap, 为了兼容更多显卡架构,可以用下面命令安装和编译
.\vcpkg install colmap[cuda-redist]:x64-windows
接下来,保持网络畅通,并且可能需要翻墙,因为需要下载很多注入boost等依赖项,大概等待1h后,安装和编译成功
使用命令查看安装的colmap版本和功能模块信息
pycolmap的安装和编译
cd到vcpkg\buildtrees\colmap\src\3.11.1-c13b079f3d.clean\pycolmap目录,这里是pycolmap的源码,并提供.toml的安装方式。在此之前,首先在电脑的系统环境变量中添加两个变量和对应的值,那就是
CMAKE_TOOLCHAIN_FILE = 你的放置目录/vcpkg/scripts/buildsystems/vcpkg.cmake
VCPKG_TARGET_TRIPLET = x64-windows
配置完成后,在安装了python的前提下,执行
python -m pip install .
该过程中会下载.toml中的[build-system]中的requirements,若遇到问题,可以离线下载,并且切换到对应的分支即可,譬如pybind11_stubgen我下载遇到了问题,通过离线下载并切换到@sarlinpe/fix-2024-11分支
等待完成安装