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

相关文章

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效