COLMAP安装问题汇总

本文解决在Linux下安装COLMAP时候遇到的如下问题:没有root权限怎么安装colmap?ERROR: SiftGPU not fully supported/Could not connect to any X display。Cannot specify include directories for imported target “freeimage::FreeImage”。could not find ZL4。Unable to locate package nvidia-cuda-toolkit-gcc。需要设置CMAKE_CUDA_ARCHITECTURES。

问题0、没有root权限怎么安装colmap?

问题:如果你在实验室里面,发现自己没有权限,无法安装colmap的依赖包。

解决方案:跑到实验室管理账号的大师兄(管理员)面前嚎啕大哭!诉求:1、师兄帮我装colmap。2、跪到地上求师兄给个临时的root权限,不给就赖着不走,抱着他的腿使劲哭。3、把需要root命令的地方发给大师兄、管理员,让他用sudo权限执行这几条命令。4、最后,记得客客气气的夸师兄,并请师兄吃好吃的。

问题1、ERROR: SiftGPU not fully supported/Could not connect to any X display

问题:今天是2023年10月7日,COLMAP已经支持GPU计算一些步骤,当设备包含显卡的时候,通过sudo apt install colmap不能正常使用,导致出现SiftGPU不支持、或者需要显示器的支持。

原因:是sudo apt install colmap导致的,这种预编译的包与自己的设备显卡不适配。

解决方案:卸载apt install的colmap,自己编译一遍。卸载:sudo apt remove colmap,自己安装参见colmap tutorial以及我下文的踩坑记录。

参考:

问题2、Cannot specify include directories for imported target “freeimage::FreeImage”.

git clone https://github.com/colmap/colmap.git
cd colmap
git checkout dev
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install

问题:在Linux上安装colmap的时候,运行到cmake .. -GNinja这一句的时候,出现:Cannot specify include directories for imported target “freeimage::FreeImage”。但是,实际上freeimage已经安装好了。(如果没有安装,就sudo apt-get install libfreeimage3 libfreeimage-dev

定位:在git clone下得colmap/cmake/FindFreeImage.cmake文件中,第96-98行:

	target_include_directories(
        freeimage::FreeImage INTERFACE ${FREEIMAGE_INCLUDE_DIRS})
    target_link_libraries(
        freeimage::FreeImage INTERFACE ${FREEIMAGE_LIBRARIES})

可能原因:cmake版本在3.11之前,target_include_directories命令有一些问题,需要升级cmake版本。通过cmake -version命令查看当前版本。

升级cmake:不要使用apt update cmake的方法,会导致异常。建议在自己的目录下安装新的cmake包,作为优先的cmake路径。

# 下载cmake源码包
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.tar.gz
# 解压
tar -xzvf cmake-3.21.4-linux-x86_64.tar.gz

将下载的cmake-3.21.4文件夹下的/bin加入PATH中,并且放到以前的PATH之前。Linux搜索cmake可执行文件的时候会沿着PATH的路径挨个寻找,如果先遇到cmake-3.21.3/bin路径下的cmake,就会直接使用cmake-3.21,相当于升级了cmake。

cd cmake-3.21.4-linux-x86_64/bin # 得到cmake-3.21的路径
pwd # 查看当前路径,我的路径是/data/zwn21/software/cmake/cmake-3.21.4-linux-x86_64/bin
export PATH=/data/zwn21/software/cmake/cmake-3.21.4-linux-x86_64/bin:$PATH
# 临时的方法,如果有必要就把这句话放到.bashrc文件中。
# where cmake的输出,看到自己的cmake目录排在前面,证明使用了新版本cmake
/data/zwn21/software/cmake/cmake-3.21.4-linux-x86_64/bin/cmake
/usr/bin/cmake

# cmake -version的输出,确实是新版本了。
cmake version 3.21.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).

本问题的参考:

问题3、could not find ZL4

问题:

CMake Error at cmake/FindLZ4.cmake:91 (message):
  Could not find LZ4
Call Stack (most recent call first):
  cmake/FindDependencies.cmake:18 (find_package)
  CMakeLists.txt:86 (include)

原因:可能还没有安装zl4,也可能是没在路径中,找不到这个库。

解决方案:装上它,sudo apt -y install liblz4-dev

参考:

问题4、Unable to locate package nvidia-cuda-toolkit-gcc

问题:在按照colmap教程安装cuda依赖的过程中,出现Unable to locate package nvidia-cuda-toolkit-gcc的问题。

# 命令
sudo apt-get install -y \
    nvidia-cuda-toolkit \
    nvidia-cuda-toolkit-gcc
# 输出
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package nvidia-cuda-toolkit-gcc

解决方案:未必是自己没安装好,只是自己的路径不够完整。

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

参考:

问题5、需要设置CMAKE_CUDA_ARCHITECTURES

问题:在cmake .. -GNinja的过程中,需要

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:86 (include)

解决方案:查看自己显卡的版本号,并按照版本号添加CMAKE_CUDA_ARCHITECTURES的数值。
版本号参见该链接:You must set CMAKE_CUDA_ARCHITECTURES to e.g. ‘native’, ‘all-major’, ‘70’

我是20系的显卡,最后执行命令:
cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES='75'
参考:

我没有别的问题了,最后记得请师兄和帮忙的朋友吃好吃的。

<think>好的,我现在需要帮用户解决关于三维重建PPT资料下载的问题。首先,用户明确提到想找相关的PPT资料,可能用于学习或教学。我需要根据提供的引用内容来寻找相关信息。 先看用户提供的三个引用。引用[2]提到有“视觉三维重建(19讲视频+PPT+源码数据)完整学习资料汇总”,这应该包含PPT资料。用户可能需要这个资源的下载方式。但用户提供的引用中没有直接给出链接,可能需要进一步指引用户如何获取。 接下来,我需要确定是否有其他可能的资源。引用[1]是关于COLMAP的博客,引用[3]是作者关于RGB-D相机的总结,可能没有直接提供PPT。因此,重点应放在引用[2]上。 用户可能需要具体的下载链接,但根据引用内容,资料汇总可能是在某个学习平台或论坛上。由于不能提供外部链接,我需要建议用户通过学术平台如知网、优快云、GitHub等搜索相关关键词,或者联系相关教育机构获取。 另外,考虑到三维重建的资料比较零散,用户可能需要系统性的课程资料,引用[2]提到的19讲视频+PPT+源码数据可能是比较系统的资源,应该重点推荐。但需要提醒用户注意版权问题,确保合法获取。 还需要考虑用户可能遇到的困难,比如资料分散、下载渠道不明,因此建议用户使用特定的关键词搜索,并提及可能的来源,如国内外高校的课程页面,或者专业论坛如Stack Overflow、GitHub等。 最后,总结建议,分点列出,帮助用户一步步找到所需资料,并提醒注意事项,确保回答结构清晰,符合用户要求。</think>### 关于三维重建PPT资料的获取建议 #### 1. 从系统化学习资料中获取 引用[2]明确提到**《视觉三维重建(19讲视频+PPT+源码数据)完整学习资料汇总》**,这是目前公开资料中较为系统的三维重建课程资源。建议通过以下方式获取: - **学术平台搜索**:在知网、万方等平台输入关键词“视觉三维重建 19讲 PPT”进行检索。 - **技术社区查询**:访问优快云、知乎等平台,部分作者会分享相关资源链接或联系方式[^2]。 - **联系教育机构**:部分培训机构或高校实验室可能提供课程资料,需通过邮件或官网咨询。 #### 2. 开源项目与会议论文 三维重建领域的顶级会议(如CVPR、ICCV)论文常附带PPT形式的报告材料: - **会议官网**:访问CVPR或SIGGRAPH官网,搜索“3D reconstruction tutorial”或“slides”关键词。 - **GitHub仓库**:部分研究者会开源课程资料,例如搜索“3D-Reconstruction-PPT”或“SfM-Slides”[^1]。 #### 3. 高校课程资源 国内外高校(如MIT、清华大学)计算机视觉课程可能包含三维重建专题PPT: - **课程网站**:访问MIT OpenCourseWare或清华慕课平台,搜索“3D Reconstruction Course Materials”。 - **公开课平台**:Coursera或edX上的相关课程(如“3D Computer Vision”)通常提供课件下载。 #### 4. 注意事项 - **版权问题**:确保资料用于个人学习,避免商业用途。 - **内容验证**:优先选择近年资料,因三维重建技术(如NeRF、动态重建)更新较快[^3]。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ProfSnail

谢谢老哥嗷

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值