【gaussian-splatting】用自己的数据复现高斯泼溅(一)

1.环境准备

1.1.下载diff-gaussian-rasterization

        这里本来没啥说的,直接从github上下载就行了,但是我踩坑了,下的版本不对,后续运行报错参数个数对不上,特在此给大家避坑,注意一定要下带3dgs版本的diff-gaussian-rasterization,否则后续会报错。

或者直接用我贴的下载地址:

https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/3dgs_accel

不要直接下载main版本的!不要直接下载main版本的!不要直接下载main版本的!

否则就会跟我一样报错:

Number of points at initialisation :  107 [06/08 17:53:37]
Training progress:   0%|                                                                                                                                                                | 0/30000 [00:00<?, ?it/s]Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 36, in renderraster_settings = GaussianRasterizationSettings(
TypeError: GaussianRasterizationSettings.__new__() got an unexpected keyword argument 'antialiasing'
Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 102, in renderrendered_image, radii, depth_image = rasterizer(
ValueError: not enough values to unpack (expected 3, got 2)
Training progress:   0%|

1.2.下载glm

这个没啥特殊注意,直接在github上下载就行

命令下载:

git clone https://github.com/icaven/glm.git

下载完成后将其放在./gaussian-splatting-main/submodules/diff-gaussian-rasterization/third_party/目录下,文件夹名称为glm,如下图

1.3.安装diff-gaussian-rasterization

cd 到diff-gaussian-rasterization目录下,运行:

python setup.py install

正常安装的话应该会如下图所示,有一些warning,不用管它。直至出现Installed /root/anaconda3/envs/gaussian/lib/python3.10/site-packages/diff_gaussian_rasterization-0.0.0-py3.10-linux-x86_64.egg
Processing dependencies for diff-gaussian-rasterization==0.0.0
Finished processing dependencies for diff-gaussian-rasterization==0.0.0

1.4.安装simple-knn

安装没啥注意的,建议都下载下来离线包,再上传上服务器解压安装。

下载地址:

https://github.com/camenduru/simple-knn

将下载的压缩包上传至./gaussian-splatting-main/submodules/下,解压,运行以下命令即可完成安装:

git clone https://github.com/camenduru/simple-knn && cd simple-knn
pip install .

1.5.安装fused-ssim

        同上,先下载离线文件,上传服务器,解压

下载地址:

https://github.com/rahul-goel/fused-ssim

cd到./gaussian-splatting-main/submodules/fused-ssim目录下,运行以下代码实现安装:

pip install . --no-build-isolation

2.训练过程

(gaussian) [root@t97 gaussian-splatting-main]# python train.py -s ./data -m ./output/mydata
Optimizing ./output/mydata
Output folder: ./output/mydata [06/08 18:21:32]
Tensorboard not available: not logging progress [06/08 18:21:32]
Reading camera 4/4 [06/08 18:21:32]
Loading Training Cameras [06/08 18:21:32]
Loading Test Cameras [06/08 18:21:32]
Number of points at initialisation :  107 [06/08 18:21:32]
Training progress:  23%|??????????????????????????                                                                                    | 6990/30000 [00:34<02:03, 186.02it/s, Loss=0.0057908, Depth Loss=0.0000000]
[ITER 7000] Evaluating train: L1 0.004467152804136276 PSNR 40.17698516845704 [06/08 18:22:07][ITER 7000] Saving Gaussians [06/08 18:22:07]
Training progress: 100%|?????????????????????????????????????????????????????????????????????????????????????????????????????????????| 30000/30000 [02:59<00:00, 167.57it/s, Loss=0.0038100, Depth Loss=0.0000000][ITER 30000] Evaluating train: L1 0.002960224240086973 PSNR 44.79262390136719 [06/08 18:24:31][ITER 30000] Saving Gaussians [06/08 18:24:31]Training complete. [06/08 18:24:33]

训练完成会出现

Training complete. [xxxxxxx]

3.输出结果查看

输出的结果保存在./gaussian-splatting-main/output/mydata/point_cloud/iteration_30000/point_cloud.ply

将其下载到本地,用本地软件,如blender打开,或者在浏览器中,在线打开。

在线查看地址:

https://superspl.at/editor

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

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

相关文章

中国移动h10g-01_S905L处理器安卓7.1当贝纯净版线刷机包带root权限_融合终端网关

下载固件之前请先将主板上的屏蔽罩取下&#xff0c;查看处理器型号 是否为S905L型号&#xff0c;然后再下载固件进行刷机&#xff1b; 本页面的固件是采用双公头数据线进行刷机的哈&#xff1b; 安卓4.4.2版本固件下载地址&#xff1a;点此进行下载 安卓7.1版本固件下载地址…

夜天之书 #110 涓滴开源:Cronexpr 的故事

在年初的一篇关于商业开源的博文当中&#xff0c;我介绍了在开发商业软件的过程中&#xff0c;衍生出开源公共软件库的模式。在那篇博文里面&#xff0c;我只是简单罗列了相关开源库的名字及一句话总结。近期&#xff0c;我会结合商业开源实践的最新进展&#xff0c;对其中一些…

完整的登陆学生管理系统(配置数据库)

目录 要求 思路 1. 登录模块&#xff08;LoginFrame.java&#xff09; 2. 学生信息管理模块&#xff08;StudentFrame.java&#xff09; 3. 数据层&#xff08;StudentDAO.java&#xff09; 4. 业务层&#xff08;StudentService.java / UserService.java&#xff09; 5…

译 | 在 Python 中从头开始构建 Qwen-3 MoE

文章出自&#xff1a;基于 2个Expert 的 MoE 架构分步指南 本篇适合 MoE 架构初学者。文章亮点在于详细拆解 Qwen 3 MoE 架构&#xff0c;并用简单代码从零实现 MoE 路由器、RMSNorm 等核心组件&#xff0c;便于理解内部原理。 该方法适用于需部署高性能、高效率大模型&#x…

Spring Boot + ShardingSphere 分库分表实战

&#x1f680;Spring Boot ShardingSphere 实战&#xff1a;分库分表&#xff0c;性能暴增的终极指南&#xff01; ✅ 适用场景&#xff1a;千万级大表、高并发、读写分离场景 ✅ 核心框架&#xff1a;Spring Boot 3.x ShardingSphere-JDBC 5.4.1 ✅ 数据库&#xff1a;MySQL…

MaxKB 使用 MCP 连接 Oracle (免安装 cx_Oracle 和 Oracle Instant Client)

一、背景 安装cx_Oracle包和Oracle Instant Client来操作数据库&#xff0c;比较繁琐同时容易冲突&#xff0c;不同的 Oracle 版本都需要安装不同的插件。这篇文章将介绍使用 MCP 协议的连接方法。 二、操作步骤 1、使用 1Panel 安装 DBhub a) 数据库类型选择 Oracle 类型。…

基于Python的超声波OFDM数字通信链路设计与实现

基于Python的超声波OFDM数字通信链路设计与实现 摘要 本文详细介绍了使用Python实现的超声波OFDM(正交频分复用)数字通信链路系统。该系统能够在标准音响设备上运行&#xff0c;利用高于15kHz的超声波频段进行数据传输&#xff0c;采用48kHz采样率。文章涵盖了从OFDM基本原理、…

滑动窗口相关题目

近些年来&#xff0c;我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨&#xff08;编号1-N&#xff09;&#xff0c;排成一排。一个月后&#xff0c;有M棵胡杨未能成活。现可补种胡杨K棵&#xff0c;请问如何补种&#xff08;只能补种&#xff0c;不能新种&#xff09;&#xf…

Java 工具类的“活化石”:Apache Commons 核心用法、性能陷阱与现代替代方案

在上一篇文章中&#xff0c;我们回顾了 Apache Commons 的经典组件。但作为 Java 世界中资历最老、影响最深远的工具库&#xff0c;它的价值远不止于此。许多开发者可能只使用了它 10% 的功能&#xff0c;却忽略了另外 80% 能极大提升代码质量的“隐藏宝石”。本文将提供一个更…

数据结构——图及其C++实现 多源最短路径 FloydWarshall算法

目录 一、前言 二、算法思想 三、代码实现 四、测试 五、源码 一、前言 前两篇学习的Dijkstra算法和Bellman-Ford算法都是用来求解图的单源最短路径&#xff0c;即从图中指定的一个源点出发到图中其他任意顶点的最短路径。Dijkstra算法不能求解带有负权重的图的最短路径&…

解决微软应用商店 (Microsoft store) 打不开,无网络连接的问题!

很多小伙伴都会遇见微软应用商店 (Microsoft store)打开后出现无网络的问题&#xff0c;一般出现这种问题基本都是因为你的电脑安装了某些银行的网银工具&#xff0c;因为网银工具为了安全会关闭Internet 选项中的最新版本的TLS协议&#xff0c;而微软商店又需要最新的TLS协议才…

Android—服务+通知=>前台服务

文章目录1、Android服务1.1、定义1.2、基本用法1.2.1、定义一个服务1.2.2、服务注册1.2.3、启动和停止服务1.2.4、活动和服务进行通信1.3、带绑定的服务示例1.3.1、定义服务类1.3.2、客户端&#xff08;Activity&#xff09;绑定与交互​1.3.3、AndroidManifest.xml 注册​1.3.…

从基础功能到自主决策, Agent 开发进阶路怎么走

Agent 开发进阶路线大纲基础功能实现核心模块构建环境感知&#xff1a;传感器数据处理&#xff08;视觉、语音、文本等输入&#xff09;基础动作控制&#xff1a;API调用、硬件驱动、简单反馈机制状态管理&#xff1a;有限状态机&#xff08;FSM&#xff09;或行为树&#xff0…

《动手学深度学习》读书笔记—9.6编码器-解码器架构

本文记录了自己在阅读《动手学深度学习》时的一些思考&#xff0c;仅用来作为作者本人的学习笔记&#xff0c;不存在商业用途。 正如我们在9.5机器翻译中所讨论的&#xff0c;机器翻译是序列转换模型的一个核心问题&#xff0c;其输入和输出都是长度可变的序列。为了处理这种类…

DocBench:面向大模型文档阅读系统的评估基准与数据集分析

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 一、数据集概述与核心目标 DocBench 是由研究团队于2024年提出的首个…

Python高级排序技术:非原生可比对象的自定义排序策略详解

引言&#xff1a;超越原生比较操作的排序挑战在Python数据处理中&#xff0c;我们经常需要处理不原生支持比较操作的对象。根据2024年《Python开发者生态系统报告》&#xff0c;在大型项目中&#xff0c;开发者平均需处理28%的自定义对象排序需求&#xff0c;这些对象包括&…

低代码系统的技术深度:超越“可视化操作”的架构与实现挑战

在很多非开发者眼中&#xff0c;低代码平台似乎只是简化流程、快速搭建页面的工具。然而&#xff0c;在真实的企业级应用中&#xff0c;低代码系统必须面对高并发请求、复杂业务规则、多角色权限、跨系统集成与持续演进等一系列工程挑战。高效交付&#xff08;Rapid Delivery&a…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 词云图-微博评论词云图实现

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解词云图-微博评论词云图实现 视频在线地址&…

Webpack核心技能:Webpack安装配置与模块化

一、webpack 的安装和使用1. webpack 简介webpack 是基于模块化的打包 (构建)工具&#xff0c;它把一切视为模块&#xff08;包括 JS、CSS、图片等资源文件&#xff09;。工作原理&#xff1a;以开发时态的入口模块为起点递归分析所有依赖关系经过压缩、合并等处理最终生成运行…

数据结构---二级指针(应用场景)、内核链表、栈(系统栈、实现方式)、队列(实现方式、应用)

一、二级指针的应用场景1、在被调函数中&#xff0c;想要修改主调函数中的指针变量&#xff0c;需要传递该指针变量的地址&#xff0c;形参用二级指针接收。2、指针数组的数组名是一个二级指针&#xff0c;指针数组的数组名作为参数传递时&#xff0c;可用二级指针接收。指针数…