3D gaussian-splatting项目环境配置记录

2024-06-12 20:12

本文主要是介绍3D gaussian-splatting项目环境配置记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前景

项目论文:https://arxiv.org/abs/2308.04079

GitHub项目下载地址:https://github.com/graphdeco-inria/gaussian-splatting

git clone时里面的子模块小项目会git不到,需要单独github下来,放入相应文件夹。

sibr_viewersSIBR / SIBR Core · GitLab,

diff_gaussian_rasterization和simple-knn库。其中后两个进入到相应目录pip安装。

环境:ubuntu22.04,cuda11.8,torch2.0,RTX4060。

刚好自己cuda版本的这位博主的相同,便按照其换进安装的虚拟环境:

conda create -n gaussian_splatting python=3.10
conda activate gaussian_splatting
#
pip install torch==2.0.0+cu118 torchvision==0.15.0+cu118 torchaudio==2.0.0+cu118 -f https://download.pytorch.org/whl/torch_stable.html
#
pip install submodules\diff-gaussian-rasterization    ##需要cd /home/xxxx/gaussian_splatting  ## error 降低setuptools的版本,70.0.0以下
pip install submodules\simple-knn
pip install plyfile
pip install tqdm

          一段时间后出现了莫名的错误,之前python环境安装好之后,因为使用jupyter notebook,使用其环境中的python环境,便在系统环境中安装jupyter,ipykernel,只需要在其它环境中安装ipykernel内核,不需要再次安装jupyter,在这个过程中自己创建的conda gaussian_splatting环境突然莫名其妙的不见了,突然不显示其环境了,整个环境什么都没有了。奇怪。只好再次从新创建环境安装一遍。

参考连接:Jupyter Notebook使用Anaconda虚拟环境的python_python -m ipykernel install --user --name myenv-CSDN博客

2. 安装colmap

2.1 步骤安装步骤基本都可以找到自己为ubuntu22.04,4060参考连接:Colmap在Linux下的安装_linux安装colmap-CSDN博客

去掉了评论里的../CMakeLists.txt。

没有使用这种方式安装:colmap三维重建(更新中)——Ubuntu版本(colmap的编译)_ubuntu22.04 colmap-CSDN博客

2.2报错,注意自己的cuda版本和算法89/87/等。

没有安装ceres库,就出现这一个错误。参考连接:

ubuntu20.04安装eigen3.4.0(两种方式)和ceres-solver2.0.0_ceres-solver-2.0.0-CSDN博客

接下来安装很顺利。

3.交互式界面SIBR_Viewers编译

3.1编译sibr
# Dependencies
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
# Project setup
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install

3.2问题

1、sudo apt install -y libgtk-3-dev 时会遇到问题。根据报错,网上很好找到答案。添加source.list中的源。

2、cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release出现错误。找不到assimp库。

在后面添加 -DASSIMP_LIBRARY=/usr/lib/x86_64-linux-gnu/libassimp.so。cmke找不到的可以直接添加。。参考连接:https://zhuanlan.zhihu.com/p/688557162中的第4节。

cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release -DOPENGL_gl_LIBRARY=/usr/lib/x86_64-linux-gnu/libGL.so -DOPENGL_glx_LIBRARY=/usr/lib/x86_64-linux-gnu/libGLX.so -DGLEW_DIR=/usr/lib/x86_64-linux-gnu -DGLEW_SHARED_LIBRARY_DEBUG=libGLEW.so.2.2.0 -DGLEW_SHARED_LIBRARY_RELEASE=libGLEW.so.2.2.0 -DASSIMP_LIBRARY=/usr/lib/x86_64-linux-gnu/libassimp.so -DBoost_DIR=/usr/lib/x86_64-linux-gnu -DBoost_FILESYSTEM_LIBRARY_RELEASE=libboost_filesystem.so -DBoost_SYSTEM_LIBRARY_RELEASE=libboost_system.so -DBoost_CHRONO_LIBRARY_RELEASE=libboost_chrono.so -DBoost_DATE_TIME_LIBRARY_RELEASE=libboost_date_time.so -Dglfw3_DIR=/usr/lib/x86_64-linux-gnu/cmake/glfw3/ -DCMAKE_CUDA_COMPILER=/usr/local/cuda-11.7/bin/nvcc -DCUDAToolkit_BIN_DIR=/usr/local/cuda-11.7/bin -DOpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4/

上述步骤:会build一段时间,Populating xxx library...,在github拉取相关扩展库内容到extlibs文件夹下。

3、cmake --build build -j24 --target install执行过程中,又出现错误了。

No rule to make target 'lib64/libglfw3.a', needed by 'src/core/grapgics/libsibr_graphic.so'. Stop

原因是没有找到这个静态链接库,需要下载下来glfw.zip,make install一下。网上有相关教程。

然后就安装libglfw3.a文件,并连接到正确的位置: sudo ln -s 源文件 目标文件

然后就没有出错了。

4、测试验证

下载github官方提供的models模型,和其它数据集便可测试,可以自己拍视频自己测试,网上有很多详细操作教程。

参考连接

https://github.com/graphdeco-inria/gaussian-splatting

https://zhuanlan.zhihu.com/p/688557162

这篇关于3D gaussian-splatting项目环境配置记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055220

相关文章

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技