Gaussian-Splatting 训练并导入Unity中

这个周末玩点啥~🐞

  • 🍥环境安装
    • 💡安装C++编译工具
    • 💡安装Python
    • 💡安装CUDA
    • 💡添加ffmpeg到环境变量Path
    • 添加COLMAP-3.8-windows-cuda文件路径到环境变量Path
    • 💡pytorch安装
    • 💡tqdm 安装
    • 💡diff-gaussian-rasterization安装
    • 💡simple-knn安装
  • 🍱路径配置
    • 💡1_视频转序列帧
    • 💡2_生成点云
    • 💡3_检查生成的点云
    • 💡4_训练
    • 💡5_打开训练结果
  • 🍭训练
    • 💡素材准备
    • 💡清空数据
    • 💡视频转序列帧
    • 💡生成点云
    • 💡检查点云
    • 💡训练开始
    • 💡查看训练结果
  • 🍨导入Unity
    • 💡打开示例工程
    • 💡创建资源
    • 💡资源加载
  • 🍔资源下载

请添加图片描述
在这里插入图片描述

🍥环境安装

💡安装C++编译工具

在这里插入图片描述

在这里插入图片描述

💡安装Python


注意勾选自动添加路径到环境变量中,不然要手动添加环境变量哦!
cmd 检查安装是否正常:

python --version

💡安装CUDA

在这里插入图片描述
cmd 检查安装是否正常:

nvcc --version

💡添加ffmpeg到环境变量Path

在这里插入图片描述
把ffmpeg文件夹路径添加到环境变量Path中
在这里插入图片描述

添加COLMAP-3.8-windows-cuda文件路径到环境变量Path

在这里插入图片描述

💡pytorch安装

进入gaussian-splatting,cmd 执行:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

在这里插入图片描述

💡tqdm 安装

接着上面继续执行

pip install plyfile tqdm

💡diff-gaussian-rasterization安装

进入gaussian-splatting\submodules\diff-gaussian-rasterization文件夹 ,cmd执行:

python setup.py install

💡simple-knn安装

进入gaussian-splatting\submodules\simple-knn文件,cmd

python setup.py install

🍱路径配置

把路径换成自己的

💡1_视频转序列帧

视频可以是mp4或mov
在这里插入图片描述

💡2_生成点云

在这里插入图片描述

💡3_检查生成的点云

在这里插入图片描述

💡4_训练

在这里插入图片描述

💡5_打开训练结果

在这里插入图片描述

🍭训练

💡素材准备

拍摄一段视频,1_视频转序列帧.bat中的配置的位置!
在这里插入图片描述

💡清空数据

run/data内的所有文件夹内部的数据都删掉
在这里插入图片描述

💡视频转序列帧

双击1_视频转序列帧.bat,序列帧会放到run/data/input中
在这里插入图片描述

💡生成点云

双击2_生成点云.bat,
在这里插入图片描述

💡检查点云

双击3_检查生成的点云.bat,打开COLMAP后导入生成的点云数据进行查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

💡训练开始

双击4_训练.bat
在这里插入图片描述

💡查看训练结果

双击5_打开训练结果.bat
在这里插入图片描述

🍨导入Unity

💡打开示例工程

任选一个项目打开:UnityGaussianSplatting\projects
在这里插入图片描述

💡创建资源

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

💡资源加载

在这里插入图片描述
在这里插入图片描述

🍔资源下载

传送门🌈

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

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

相关文章

『JavaScript』全面解析JavaScript中的防抖与节流技术及其应用场景

📣读完这篇文章里你能收获到 理解防抖(Debouncing)和节流(Throttling)的概念:了解这两种性能优化技术如何帮助我们更有效地处理频繁触发的事件掌握防抖与节流的实现方法:学习如何在JavaScript中…

WPF+Halcon 培训项目实战(8):WPF+Halcon初次开发

前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享,想要源码或者教学视频可以和他联系一下。 相关链接 微软系列技术教程 WPF 年度公益课程 Halcon开发 CSD…

本地搭建微信小程序或者公众号开发服务器的简单方法

现在小程序开发需要购买服务器,价格还是有点贵的,这里好代码网分享一个可以花费小代价就可以搭建一个本地服务器,可以用来开发小程序和微信公众号等。 1.域名(备案过的) 2.阿里云注册免费的https证书 3.配置本地的ngi…

使用SCP在Linux中安全复制文件:参数详解

SCP(Secure Copy)是一个在Linux和其他类Unix系统中使用的命令行工具,用于在本地和远程主机之间安全地复制文件和目录。本文将详细介绍SCP的多个常用参数,并通过示例进行说明。 基本语法 scp [options] source destination其中&a…

[足式机器人]Part4 南科大高等机器人控制课 CH12 Robotic Motion Control

本文仅供学习使用 本文参考: B站:CLEAR_LAB 笔者带更新-运动学 课程主讲教师: Prof. Wei Zhang 课程链接 : https://www.wzhanglab.site/teaching/mee-5114-advanced-control-for-robotics/ 南科大高等机器人控制课 Ch12 Robotic …

大数据技术发展史

今天我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,也就是我们经常听到的“三驾马车”,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable。 你知道,搜索引擎主要就做两件事…

C语言 volatile关键字

volatile关键字介绍 volatile 是一个关键字,用于修饰变量,表示该变量是易变的,即可能在任何时候被意外地改变。在多线程编程中,当多个线程同时访问同一个变量时,由于线程之间的交互和优化,可能会导致变量的…

JAVA进化史: JDK11特性及说明

JDK 11(Java Development Kit 11)是Java平台的一个版本,于2018年9月发布。这个版本引入了一些新特性和改进,以下是其中一些主要特性。 HTTP Client(标准化) JDK 11引入了一个新的HTTP客户端,用…

【数据库设计和SQL基础语法】--安全性和备份--数据库安全性的重要性

安全性在信息时代的关键性是不可忽视的,随着科技的迅猛发展和数字化转型的推进,信息已成为现代社会最宝贵的资产之一。在这个背景下,数据库作为信息存储和管理的核心枢纽,其安全性显得尤为重要。以下是安全性在信息时代的关键性的…

Python 实现 PDF 到 Word 文档的高效转换(DOC、DOCX)

PDF(Portable Document Format)已成为一种广泛使用的电子文档格式。PDF的主要优势是跨平台,可以在不同设备上呈现一致的外观。然而,当我们需要对文件内容进行编辑或修改,直接编辑PDF文件会非常困难,而且效果…

Vue3.0飘红报警问题

问题一: 问题描述:组件引用找不到模块“”或其对应的类型声明 imort Home from ".../view/Home.vue" 解决方法:安装插件TypeScript Vue Plugin(Volar) 问题二: 问题:vue内置api引用:找不到模块"vue-route".你的意思是将"moduleResolution"选项置…

SimpleCG小游戏开发系列(2)--贪吃蛇

一、前言 在之前的C语言小游戏开发系列我们已经介绍了扫雷游戏的开发,本篇我们继续此系列第二篇,同样是比较简单但好玩的一个游戏--贪吃蛇。因为有了之前的游戏框架,我们只需要直接搬来原来的框架即可,可以省去不少活。 先看看游…

java数据结构与算法刷题-----LeetCode 680. 验证回文串 II

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 思路:双指针 详情见代码注释 class Solution {//贪心双指针&a…

什么是工厂方法模式,工厂方法模式解决了什么问题?

工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但将实际的实例化过程延迟到子类中。这样,客户端代码在不同的子类中实例化具体对象,而不是直接实例化具体类。工厂方法模式允许一个类的实例化延迟到其子类&…

Springboot实现登录注册

功能:1、实现用户的登录 2、实现用户的注册以及重名的判断 LoginControl: package com.example.demo.controls;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; imp…

CEC2017(Python):五种算法(HHO、RFO、OOA、PSO、GWO)求解CEC2017

一、5种算法简介 1、哈里斯鹰优化算法HHO 2、红狐优化算法RFO 3、鱼鹰优化算法OOA 4、粒子群优化算法PSO 5、灰狼优化算法GWO 二、CEC2017简介 参考文献: [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem d…

【PythonRS】基于矢量范围批量下载遥感瓦片高清数据(天地图、高德、谷歌等)

这个是之前写的代码了,正好今天有空所以就和大家分享一下。我们在处理项目时,有时候需要高清底图作为辅助数据源去对比数据,所以可能会需要卫星数据。所以今天就和大家分享一下如何使用Python基于矢量范围批量下载高清遥感瓦片数据。 1 读取矢…

resnet18

ResNet18的基本含义是,网络的基本架构是ResNet,网络的深度是18层。但是这里的网络深度指的是网络的权重层,也就是包括池化,激活,线性层。而不包括批量化归一层,池化层。 transforms.RandomCrop(32, pa…

[Java][IOStream][BufferedReader]的readLine/writeLine方法-游戏储存信息必备

在游戏的信息存储里面,我们经常需要保存一些玩家的属性 比如:生命值/魔法值/攻击力 假设我们将数据储存在一个txt文档中,那么使用这个方法就可以实现逐行的读取 import java.io.BufferedReader; import java.io.FileReader; import java.i…

代码随想录算法训练营第52天|● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

300. 最长递增子序列 已解答 中等 相关标签 相关企业 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,…