复现NerfingMVS(更新中)

按以下代码一步步操作

conda create -n NerfingMVS python=3.7
conda activate NerfingMVS
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 -c pytorch
pip install -r requirements.txt

在这里插入图片描述
https://colmap.github.io/install.html

Linux 中

建议的依赖: CUDA(版本至少7.X)

依赖默认Ubuntu仓库:

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

配置和编制COLMAP:

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

在cmake … -GNinja时出现报错

– Boost found.
– Found Boost components: filesystem;graph;program_options;system
– Found FreeImage
– Includes : /usr/include
– Libraries : /usr/lib/x86_64-linux-gnu/libfreeimage.so CMake Error at cmake/FindFreeImage.cmake:96 (target_include_directories): Cannot
specify include directories for imported target
“freeimage::FreeImage”. Call Stack (most recent call first):
cmake/FindDependencies.cmake:15 (find_package) CMakeLists.txt:96
(include)

CMake Error at cmake/FindFreeImage.cmake:98 (target_link_libraries):
Cannot specify link libraries for target “freeimage::FreeImage” which
is not built by this project. Call Stack (most recent call first):
cmake/FindDependencies.cmake:15 (find_package) CMakeLists.txt:96
(include)

– Configuring incomplete, errors occurred! See also “/home/uriky/桌面/NerfingMVS-main/colmap/build/CMakeFiles/CMakeOutput.log”.

尝试更新cmake看看能不能解决

https://github.com/Kitware/CMake/releases/进入下载cmake的安装包

cmake -version
which cmake
sudo ln -sf /home/uriky/cmake-3.29.3-linux-x86_64/bin/* /usr/bin/#将安装包解压之后设置软链接
cmake -version

在这里插入图片描述

重新运行一遍cmake … -GNinja刚刚的错误消失了,猜测可能是cmake的版本问题导致之前的错误,现在出现了新的错误

在这里插入图片描述

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

先解决第一个安装这个LZ4的包,安装代码如下

sudo apt install liblz4-dev

再次进行一遍 cmake … -GNinja,错误解决,但是出现了警告

CMake Warning at cmake/CMakeHelper.cmake:103 (add_executable):
Cannot generate a safe runtime search path for target colmap_main
because files in some directories may conflict with libraries in
implicit directories:

runtime library [libgmp.so.10] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/uriky/anaconda3/lib
runtime library [liblz4.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/uriky/anaconda3/lib
runtime library [libsqlite3.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/uriky/anaconda3/lib
runtime library [libglog.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/uriky/anaconda3/lib
runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/7 may be hidden by files in:
  /home/uriky/anaconda3/lib

Some of these libraries may not be found correctly. Call Stack (most
recent call first): src/colmap/exe/CMakeLists.txt:67
(COLMAP_ADD_EXECUTABLE)
在这里插入图片描述

警告就不管了,解决完错误,继续上述ninja代码 报错了(待解决)在这里插入图片描述

FAILED:
src/colmap/mvs/CMakeFiles/colmap_mvs_cuda.dir/gpu_mat_prng.cu.o
/usr/local/cuda-10.0/bin/nvcc -DBOOST_ALL_NO_LIB
-DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCOLMAP_CGAL_ENABLED -DCOLMAP_CUDA_ENABLED -DCOLMAP_GPU_ENABLED -DCOLMAP_GUI_ENABLED -DCOLMAP_OPENGL_ENABLED -DCOLMAP_OPENMP_ENABLED -DGFLAGS_IS_A_DLL=0 -DGLOG_VERSION_MAJOR=0 -DGLOG_VERSION_MINOR=5 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/uriky/桌面/NerfingMVS-main/colmap/src -isystem /home/uriky/anaconda3/inude -isystem /usr/include/eigen3 -isystem
/home/uriky/anaconda3/include/qt -isystem
/home/uriky/anaconda3/include/qt/QtCore -isystem
/home/uriky/anaconda3/./mkspecs/linux-g++ -isystem
/home/uriky/anaconda3/include/qt/QtOpenGL -isystem
/home/uriky/anaconda3/include/qt/QtWidgets -isystem
/home/uriky/anaconda3/include/qt/QtGui -isystem
/usr/local/cuda-10.0/include -Wno-deprecated-gpu-targets
–compiler-options -fPIC --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -O3 -DNDEBUG -std=c++14 “–generate-code=arch=compute_89,code=[sm_89]” -Xcompiler=-fPIC -x cu
-c ‘/home/uriky/桌面/NerfingMVS-main/colmap/c/colmap/mvs/gpu_mat_prng.cu’
-o src/colmap/mvs/CMakeFiles/colmap_mvs_cuda.dir/gpu_mat_prng.cu.o && /usr/local/cuda-10.0/bin/nvcc -DBOOST_ALL_NO_LIB
-DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCOLMAP_CGAL_ENABLED -DCOLMAP_CUDA_ENABLED -DCOLMAP_GPU_ENABLED -DCOLMAP_GUI_ENABLED -DCOLMAP_OPENGL_ENABLED -DCOLMAP_OPENMP_ENABLED -DGFLAGS_IS_A_DLL=0 -DGLOG_VERSION_MAJOR=0 -DGLOG_VERSION_MINOR=5 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/uriky/桌面/NerfingMVS-main/colmap/src -isystem /home/uriky/anaconda3/include -isystem /usr/include/eigen3 -isystem
/home/uriky/ananda3/include/qt -isystem
/home/uriky/anaconda3/include/qt/QtCore -isystem
/home/uriky/anaconda3/./mkspecs/linux-g++ -isystem
/home/uriky/anaconda3/include/qt/QtOpenGL -isystem
/home/uriky/anaconda3/include/qt/QtWidgets -isystem
/home/uriky/anaconda3/include/qt/QtGui -isystem
/usr/local/cuda-10.0/include -Wno-deprecated-gpu-targets
–compiler-options -fPIC --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -O3 -DNDEBUG -std=c++14 “–generate-code=arch=compute_89,code=[sm_89]” -Xcompiler=-fPIC -x cu
-M ‘/home/uriky/桌面/NerfingMVS-main/colmap/src/colmap/mvs/gpu_mat_prng.cu’
-MT src/colmap/mvs/CMakeFil/colmap_mvs_cuda.dir/gpu_mat_prng.cu.o -o src/colmap/mvs/CMakeFiles/colmap_mvs_cuda.dir/gpu_mat_prng.cu.o.d nvcc
fatal : Unsupported gpu architecture ‘compute_89’ [59/213] Building
CXX object src/colmap/mvs/CMakeFiles/colmap_mvs.dir/meshing.cc.o In
file included from /usr/include/CGAL/Triangulation_3.h:62:0,
from /usr/include/CGAL/Delaunay_triangulation_3.h:40,
from /home/uriky/桌面/NerfingMVS-main/colmap/src/colmap/mvs/meshing.cc:37:
/home/uriky/anaconda3/include/boost/bind.hpp:41:1: note: #pragma
message: The practice of declaring the Bind placeholders (_1, _2, …)
in the global namespace is deprecated. Please use
<boost/bind/bind.hpp> + using namespace boost::placeholders, or define
BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior. ) ^
ninja: build stopped: subcommand failed.

成功后进行下一步运行COLMAP:

colmap -h
colmap gui

汇编与 CUDA支助 ,也安装Ubuntu的默认CUDA包:

    sudo apt-get install -y \
    nvidia-cuda-toolkit \
    nvidia-cuda-toolkit-gcc

或者,手动安装最新的CUDA从独的主页。 在CMake配置 指定 CMAKE_CUDA_ARCHITECTURES 为"本土",如果你想要跑COLMAP你 当前的机器,“所有”/“所有主要的”,以便能够将其分发给其他机, 或者一个具体CUDA构,如"75",等等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/608463.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI边缘计算盒子优势有哪些?如何实现低延迟处理?

AI边缘计算盒子作为一种集成人工智能技术的边缘计算设备&#xff0c;其优势主要体现在以下几个方面&#xff0c;万物纵横为您详细介绍&#xff1a; 1. 低延迟处理 AI边缘计算盒子靠近数据产生源头&#xff0c;能够即时处理数据&#xff0c;大幅减少数据传输至云端的时间&#…

深入解析算法效率核心:时间与空间复杂度概览及优化策略

算法复杂度&#xff0c;即时间复杂度与空间复杂度&#xff0c;衡量算法运行时资源消耗。时间复杂度反映执行时间随数据规模增长的关系&#xff0c;空间复杂度表明额外内存需求。优化策略&#xff0c;如选择合适数据结构、算法改进、循环展开等&#xff0c;对于提升程序效率、减…

从抖音阳哥的经验看,选品师项目是否值得你投入?

在抖音这个短视频平台上&#xff0c;无数的创作者分享着他们的知识和经验&#xff0c;其中阳哥作为一个备受关注的博主&#xff0c;他的每一次分享都能引起广大网友的热烈讨论。最近&#xff0c;阳哥分享了一个名为“选品师”的项目&#xff0c;让许多对电商和抖音运营感兴趣的…

RK3576 Android平台SD启动

RK3576 Android平台SD启动 要求 1&#xff0c;Android14及以上版本&#xff1b;2&#xff0c;SD卡制作工具&#xff1a;瑞芯微创建升级磁盘工具V1.78及以上版本&#xff1b;3&#xff0c;SD卡容量8G-32G之间&#xff1b; 软件修改 1&#xff0c;Android部分 修改PRODUCT_BO…

Android 的 Timer 和 TimerTask

Timer 简介(来自Gemini) Timer 是 Java 中用于创建定时任务的类。它位于 java.util 包中。可以使用 Timer 来安排一次性或定期执行的任务。 每个 Timer 对象都对应一个后台线程。此线程负责从任务队列中检索任务并按计划执行它们。 使用 Timer 要使用 Timer&#xff0c;首先…

3D 渲染至少需要多少显存?显存真得越大越好吗?

无论是电影制作、游戏开发还是建筑效果图设计&#xff0c;在今天的计算机图形学领域&#xff0c;都需要强大的图形处理能力。而显存&#xff08;VRAM&#xff09;作为支持这一切的重要组成部分&#xff0c;对于高效3D渲染同样至关重要。在本文中&#xff0c;我们将一起探讨显存…

Cmake-learning

可以把cmake看成一款自动生成 Makefile的工具&#xff0c;所以编译流程就变成了&#xff1a;cmake—>make–>可执行文件 在哪个目录执行cmake txt位置 就会在哪个目录生成构造文件和可执行文件 project(HELLO): 非强制&#xff0c;指明项目名称 add_executable(he…

【算法】滑动窗口——水果成篮

本篇博客是我对“水果成篮”这道题由暴力解法到滑动窗口思路的具体思路&#xff0c;有需要借鉴即可。 目录 1.题目2.暴力求解3.暴力优化3.1每次right不用回退3.2有些left长度一定不如前一个&#xff0c;不用走&#xff0c;left不回退 4.滑动窗口算法5.总结 1.题目 题目链接&am…

怎么用AI软件设计字体

一 工具准备 软件&#xff1a;Adobe illustrator 如下网盘自取 链接&#xff1a;https://pan.baidu.com/s/1hlImpN4QlsSkOLLUxINOGA 提取码&#xff1a;love 安装的时候看不全界面&#xff0c;多按几下tab键就能看到按钮。 直接找一款喜欢的字体修改&#xff0c;字体包如下…

物联网网关制造生产全流程揭秘!

如果您正有开发和定制物联网网关的计划&#xff0c;找一个专业的物联网设备厂商协助您制造生产物联网网关可以节省大量时间和成本&#xff0c;可以让您能专注于当前核心业务&#xff0c;而无需将精力过多地投入到自己不擅长的领域。 当然&#xff0c;了解物联网网关的测试和制…

基于JSP动漫论坛的设计与实现(二)

目录 3. 系统开发环境及技术介绍 3.1 开发环境 3.2 开发工具 3.2.1 MyEclipse8.5 3.2.2 MySql 3.3 相关技术介绍 3.3.1 JSP技术简介 3.3.2 JDBC技术技术简介 3.3.3 MVC模式与Struts框架技术 4. 总体设计 4.1 系统模块总体设计 4.1.1 普通用户模块设计 4…

数据库的使用基础-SQL语句

一、在MYSQL中&#xff0c;创建数据库&#xff0c;语法如下&#xff1a; CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];[ ]中的内容是可选的。语法说明如下&#xff1a; <数据库…

LeetCode738:单调递增的数字

题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 332 代码 class Solution { public:int monotoneIncreasingDigits(…

Imagine Flash、StyleMamba 、FlexControl、Multi-Scene T2V、TexControl

本文首发于公众号&#xff1a;机器感知 Imagine Flash、StyleMamba 、FlexControl、Multi-Scene T2V、TexControl You Only Cache Once: Decoder-Decoder Architectures for Language Models We introduce a decoder-decoder architecture, YOCO, for large language models, …

QT---day4事件

1、思维导图 2、 头文件 #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类 #include<QPushButton> //按钮…

AJAX知识点(前后端交互技术)

原生AJAX AJAX全称为Asynchronous JavaScript And XML,就是异步的JS和XML&#xff0c;通过AJAX可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无需刷新就可获取数据。 AJAX不是新的编程语言&#xff0c;而是一种将现有的标准组合在一起使用的新方式 …

【进程等待】阻塞等待 | options非阻塞等待

目录 waitpid 阻塞等待 options&非阻塞等待 pid_t返回值 阻塞等待VS非阻塞等待 waitpid 回顾上篇&#xff1a; pid_ t waitpid(pid_t pid, int *status, int options); 返回值&#xff1a; 当正常返回的时候waitpid返回收集到的子进程的进程ID&#xff1b;如果设置了…

C++容器之vector类

目录 1.vector的介绍及使用1.1vector的介绍1.2vector的使用1.2.1 vector的定义1.2.2 vector iterator 的使用1.2.3 vector 空间增长问题1.2.4 vector 增删查改1.2.5vector 迭代器失效问题1.2.6 vector 在OJ中的使用。 2.vector深度剖析及模拟实现2.1 std::vector的核心框架接口…

金三银四面试题(二十五):策略模式知多少?

什么是策略模式 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;旨在定义一系列算法&#xff0c;将每个算法封装到一个独立的类中&#xff0c;使它们可以互换。策略模式让算法的变化独立于使用它们的客户端&#xff0c;使得客户端可以根据…

车载测试系列:入行车载测试分享

车载测试前景如何&#xff1f; 软件定义汽车时代的发展趋势&#xff0c;随着控制器自主开发力度的加强&#xff0c;作为V流程中必备环节&#xff0c;车载测试工程师岗位需求会越来越多&#xff1b;控制器集成化&#xff0c;功能集成程度越来越高&#xff0c;对于测试工程师的知…