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

news2024/11/28 12:50:39

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GUI编程03-事件监听

事件监听是指当某个事件发生的时候干一些什么。 例如之前在关闭frame窗口时就写过一个window窗口监听,当点击左上角❌时调用System.exit进行程序关闭。 1.按钮监听 下面的例子是监听按钮Button被点击时触发的事件 同时我们将窗口关闭监听事件进行了优化&#xff…

【多线程】进程与线程

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 操作系统2. 进程2.1 进程是什么2.2 进程管理2.3 进程调度2.3 内存管理2.4 进程间通信 3. 线程3.1 线程是什…

Keepalived LVS群集

一、Keepalived案例分析 企业应用中,单台服务器承担应用存在单点故障的危险 单点故障一旦发生,企业服务将发生中断,造成极大的危害 二、Keepalived工具介绍 专为LVS和HA设计的一款健康检查工具 支持故障自动切换(Failover&#…

VLM训练——Trainer源码解读

本文将以LLaVa源码为例,解析如何使用Trainer训练/微调一个VLM。 1. 参数解析ModelArgumentsDataArgumentsTrainingArguments 2. 加载模型3. 加载数据4. 创建Trainer开始训练 1. 参数解析 VLM 和 LLM 相关训练框架都会引入 ModelArguments、DataArguments、Trainin…

高考志愿填报秘籍:个人篇

选择适合自己的大学和专业,对广大考生来说至关重要。从某种程度上来说,决定了考生未来所从事的行业和发展前景。为了帮助广大考生更加科学、合理地填报志愿,选择适合自己的大学和专业,本公众号将推出如何用AI填报高考志愿专栏文章…

Linux环境各种软件安装配置

安装Java 官网 找个喜欢的版本 下载好了传到linux里,xshell的xftp直接拖过去就可以传 #安装rpm包管理 yum install -y rpm or apt-get install rpm #查找Java rpm -qa | grep java\|jdk\|gcj\|jre #卸载java rpm -e --nodeps jdk-1.8-1.8.0_401-10.x86_64 #安装 …

明基的台灯值得入手吗?书客、柏曼真实横向测评对比

近年来人们在工作、学习、娱乐等方面对电子设备的依赖程度也越来越高,长时间使用电子设备会对眼睛造成一定的伤害,如眼疲劳、干涩、近视等。人们对于能够缓解眼疲劳的照明产品的需求逐渐增加。护眼台灯能够更好地模拟自然光,提供更加柔和舒适…

AD24设计步骤

一、元件库的创建 1、AD工程创建 然后创建原理图、PCB、库等文件 2、电阻容模型的创建 注意:防止管脚时设置栅格大小为100mil,防止线段等可以设置小一点,快捷键vgs设置栅格大小。 1.管脚的设置 2.元件的设置 3、IC类元件的创建 4、排针类元件模型创建…

机器学习笔记 - 用于3D数据分类、分割的Point Net简述

一、简述 在本文中,我们将了解Point Net,目前,处理图像数据的方法有很多。从传统的计算机视觉方法到使用卷积神经网络到Transformer方法,几乎任何 2D 图像应用都会有某种现有的方法。然而,当涉及到 3D 数据时,现成的工具和方法并不那么丰富。3D 空间中一个工具就是Point …

14、modbus poll 使用教程小记1

开发平台:Win10 64位 Modbus Slave版本:64位 7.0.0 Modbus Poll版本:64位 7.2.2 因为项目中经常会用到modbus协议,所以就避免不了的要使用modbus测试工具,Modbus Slave/Poll无疑是众多测试工具中应用最广泛的。 文章目…

dll文件丢失了要如何处理?教你一键修复所有dll缺失的方法

dll文件丢失了要如何处理?其实dll文件的丢失还是比较常见的,它的丢失会引起一些程序无法启动,所以我们必须要去修复dll文件,这点是毋容置疑的,其修复方法也是有很多种的,今天就来给大家详细的聊一下dll文件…

BUAA-2024年春-OO第四单元总结

正向建模与开发 在本单元中,我们需要模拟一个小型的图书管理系统,完成图书馆所支持的相关业务,并遵守一定的规章制度。与前几次不同的是,本单元中,我们需要预先将自己的设计思路用UML来实现,然后进行编程。…

Coze+Discord:打造你的免费AI助手(教您如何免费使用GPT-4o/Gemini等最新最强的大模型/Discord如何正确连接Coze)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 准备Discord📝 准备Coze🔌 连接💡 测试效果⚓️ 相关链接 ⚓️📖 介绍 📖 你是否想免费使用GPT-4o/Gemini等最新最强的大模型,但又不想花费高昂的费用?本文将教你如何通过Coze搭建Bot,并将其转发…

RAG系统进阶(五)文本分割优化技巧及代码

背景 前边在介绍RAG系统时提到了文本分割(或分段)的作用和重要性。也提到了分段后所带来的一些问题,比如由于分段导致检索出来的TOP-n的结果可能未包含完整的答案。 粒度太大可能导致检索不精准,粒度太小可能导致信息不全面问题的…

教你一段代码激活计算机系统

方法简单粗暴,再也不用遭受未激活的烦恼了! 新建文本 输入代码,把文件后缀.txt改.bat slmgr /skms kms.03k.org slmgr /ato

2024-2025最新软考系统架构设计师的复习资料教材,解决如何快速高效通过该考试,试题的重点和难点在哪里?案例分析题和论文题的要点和踩坑点分析

目录 引言考试概述 考试结构考试内容 复习策略 制定复习计划学习资源 知识点详解 系统架构基础设计原则与模式系统分析与设计软件开发过程项目管理系统集成性能与优化安全性设计新兴技术 试题解析 选择题案例分析题论文题 重点与难点分析模拟试题与答案参考资料总结 引言 系…

DeepSpeed Pipeline并行

DeepSpeed为了克服一般Pipeline并行的forward时weights,和backward时计算梯度的weights, 二者不相同的问题,退而求其次,牺牲性能,采用gradient-accumulate方式,backward时只累积梯度至local,并不更新weights&#xff1…

css display:grid布局,实现任意行、列合并后展示,自适应大小屏幕

现有6X7列的一个布局&#xff0c;如下图所示 想要用户能组成任意矩形盒子&#xff0c;并展示内容&#xff0c;具体效果如下&#xff08;仅为一个示例&#xff0c;其实可以任意组合矩形&#xff09;&#xff1a; html代码&#xff1a; <div class"grid-container"…

SQL 截取函数

目录 1、substring 2、left 3、right 4、substring_index 1、substring 用途&#xff1a;字段截取从指定开始的字符开始&#xff0c;截取要的数&#xff1b;指定开始的字符数字可以用负的&#xff0c;指定开始的字符从后往前(向左)数&#xff0c;截取要的数不能为负。 语…

BoxSizer布局

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前面的实例中&#xff0c;使用了文本和按钮等控件&#xff0c;并将这些控件通过pos参数布置在pannel画板上。虽然这种设置坐标的方式很容易理解&am…