当前位置: 首页 > news >正文

【FasterGS】Unbuntu22.04搭建FasterGS(在gaussian-splatting中使用其加速)

文章目录

  • 前言
  • 一、环境搭建
    • 1.1 CUDA12.1安装
    • 1.2 虚拟环境构建
      • 1.2.1 创建环境
      • 1.2.2 安装simple-knn
      • 1.2.3 安装fused-ssim
      • 1.2.4 安装核心光栅化模块diff-gaussian-rasterization_fastgs
    • 1.3 安装 Faster-GS CUDA backend
  • 二、测试
    • 2.1 训练
    • 2.2 渲染
    • 2.3 计算评估指标

前言

主要用于自己搭建环境。
我采用Python 3.10, PyTorch 2.1.0, CUDA 12.1来构建虚拟环境。
将FasterGS加速用在原版gaussian-splatting上。
代码地址:FasterGS以及修改后的gaussian-splatting


一、环境搭建

下载项目文件,并进入文件夹:

gitclone https://github.com/fhahlbohm/gaussian-splatting.git--recursivecdgaussian-splatting

1.1 CUDA12.1安装

如何安装CUDA可参考:Unbuntu22.04中安装多版本的CUDA,可任意切换版本

1.2 虚拟环境构建

1.2.1 创建环境

首先将environment_cuda12.yml文件中的内容改为:

name: gaussian_splatting121 channels: - pytorch - nvidia - conda-forge - defaults dependencies: -python=3.10- pip - plyfile - tqdm - opencv - joblib -pytorch=2.1.0 -torchvision=0.16.0 -torchaudio=2.1.0 - pytorch-cuda=12.1

然后:

condaenvcreate--fileenvironment_cuda12.yml conda activate gaussian_splatting121

1.2.2 安装simple-knn

pipinstall--no-build-isolation ./submodules/simple-knn

报错1

setuptools 没装 / 版本坏了pip uninstall -y setuptools然后pip install setuptools==68.0.0
最后重新pip install --no-build-isolation ./submodules/simple-knn

1.2.3 安装fused-ssim

pipinstall--no-build-isolation ./submodules/fused-ssim

1.2.4 安装核心光栅化模块diff-gaussian-rasterization_fastgs

pipinstall--no-build-isolation ./submodules/diff-gaussian-rasterization

报错:

1.需要降级numpypip install numpy==1.26.4以及pip install colorama pytz
清理旧编译缓存:

cdsubmodules/diff-gaussian-rasterizationrm-rfbuild *.egg-infocd../..

2.rasterizer子模块版本冲突

cdsubmodulesrm-rfdiff-gaussian-rasterizationgitclone https://github.com/graphdeco-inria/diff-gaussian-rasterizationcd..

重新编译:pip install --no-build-isolation ./submodules/diff-gaussian-rasterization

1.3 安装 Faster-GS CUDA backend

pipinstallgit+https://github.com/nerficg-project/faster-gaussian-splatting/#subdirectory=FasterGSCudaBackend --no-build-isolation

二、测试

2.1 训练

在终端进行,位于gaussian_splatting中。
下载数据集:Tanks&Temples and Deep Blending
我将数据集放在gaussian_splatting文件夹下,创建一个datasets文件夹中。
在gaussian_splatting文件夹下打开终端:

conda activate gaussian_splatting121 python train.py-s./datasets/tandt_db/tandt/truck--eval--disable_viewer

出现:

训练结果会保存到output文件夹下:

保存了7000次迭代,我就打断了训练。

与原GS方法对比:
时间:花费50s,而原GS模型在使用sparse_adam 优化器的情况下花费了1:51s,训练速度提高约2.2倍。
文件大小:409.8MB(FastGs) 417.9MB(GS)几乎没变

用3DGS中的3. SIBR查看器可查看结果:

2.2 渲染

python render.py-m./output/ff06f445-f

出现:

渲染结果位于:

2.3 计算评估指标

python metrics.py-m./output/ff06f445-f

结果:

原GS为:

相差不大,比原GS略差。


http://www.jsqmd.com/news/564315/

相关文章:

  • 多平台资源嗅探与下载工具:解决网络资源获取难题的技术方案
  • IP2726快充协议芯片全解析:从选型到实战应用(附完整数据手册)
  • intv_ai_mk11步骤详解:输入提示词→选择参数→点击生成→查看结果四步法
  • 【稀缺首发】Python MCP Server Template V3.2 源码逐行注释版泄露!含生产环境热重载实现细节
  • RexUniNLU异常检测能力:识别虚假评论与垃圾内容
  • 3个步骤掌握Ahk2Exe:从脚本到独立程序的完整路径
  • 3个高效策略清理Windows驱动存储:DriverStore Explorer技术指南
  • 智能农业大棚设计详解
  • Java解析西门子S7协议遭遇“未知Function Code 0x5A”?——深度反编译S7Comm+协议栈,附可商用License-Free解析器源码
  • 别再手动调格式了!用C#和FastReport.Net搞定标签批量打印与90度旋转(附完整源码)
  • 腾讯混元OCR小白友好:5分钟从零到识别,无需技术背景
  • 网络工程师转行能干什么?网络工程师转行选择建议!(超详细版)
  • OTFS Channel Estimation in High-Doppler Scenarios: Techniques and Challenges
  • 基于Xinference-v1.17.1的嵌入式Linux开发指南
  • 阿里千问,有个海外版
  • Mac系统高效部署Node Exporter的两种实践方案
  • GaussDB双机管理实战:gs_ctl命令深度解析与应用场景
  • OFA视觉蕴含模型部署案例:混合云架构下模型服务弹性伸缩实践
  • 告别复杂界面!漫画分镜式UI,用Z-Image Turbo快速创作火影风格作品
  • 三步解锁网盘下载新姿势:告别限速烦恼的高效解决方案
  • 如何用baidupankey解决百度网盘提取码获取难题
  • Wan2.2-I2V-A14B企业应用:电商短视频自动生成+批量API调用落地实践
  • Embedding模型部署避坑指南:用FastAPI把训练好的模型做成稳定API服务
  • 【TCC事务性能瓶颈诊断手册】:压测QPS骤降60%?3步定位Try阶段锁表元凶并提速4.8倍
  • LiuJuan20260223Zimage一文详解:Z-Image模型结构、LoRA注入位置与训练策略
  • YOLOv8模型改进实战:如何添加CBAM注意力模块提升检测精度
  • 如何高效使用JDspyder:京东抢购自动化的完整策略指南
  • SDMatte与卷积神经网络(CNN)结合:实现更精准的前景分割
  • Graphormer部署避坑:Python 3.11 miniconda环境与torch28兼容性验证
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4辅助学术研究:LaTeX论文写作与公式校对