基于三维高斯溅射的快速辐射场渲染

我要开发同款
匿名用户2024年07月31日
178阅读

技术信息

官网地址
https://github.com/aigc3d
开源地址
https://modelscope.cn/models/Damo_XR_Lab/cv_gaussian-splatting-recon_damo

作品详情

该模型当前使用的是默认介绍模版,处于“预发布”阶段,页面仅限所有者可见。
请根据模型贡献文档说明,及时完善模型卡片内容。ModelScope平台将在模型卡片完善后展示。谢谢您的理解。

Cloe with HTTP

 git cloe https://www.modelscope.c/sudaymm/Gaussia-Splattig.git

-->

Cloe with HTTP

 git cloe https://www.modelscope.c/Damo_XR_Lab/cv_gaussia-splattig-reco_damo.git

基于三维高斯溅射的快速辐射场渲染

任务

Gaussia-Splattig通过对空间显式建模为3D Guassia Splats,根据多视角图像进行辐射场重建和实时推理。在多个开源数据集上,本算法可以获得SOTA的渲染效果以及效率。

模型描述

针对NeRF训练时间长以及推理速度慢的问题,本算法提出一种快速可微3D Gaussia Splattig光栅化技术,极大加速了训练时间,并且结合多阶球谐函数和3D Gaussia的各向异性表达能力,获得最优的渲染质量,另外在推理阶段可实现1080P的高质量实时渲染(FPS>30)。

效果展示

以下是在Mip-Nerf360数据上的本方法和其他方法的渲染效果对比

performace

期望模型使用方式以及适用范围

本方法可以从SFM生成的稀疏点云和随机生成的点云进行初始化,目前兼容2种数据组织格式:

  • 实拍真实场景,例如Mip-NeRF360,包含colmap SFM计算结果
  • sythetic bouded场景,例如NeRF-sythetic

目标场景

  • 需要对单一静态物体或静态场景进行三维重建的场景
  • 对实时新视角合成有需求的场景

运行环境

  • 模型只支持GPU上运行,GPU显存要求大于等于24G,图像分辨率越大,显存要求越高
  • 已在RTX4090及以上显卡上测试通过,具体效率与GPU性能相关,可能存在一些差异

模型局限性以及可能的偏差

  • 暂不支持ubouded scee的训练,可参照Mip-NeRF360的数据处理方式
  • 在城市规模场景数据上渲染质量有损失,需要针对性进行算法优化
  • 在用户自定义数据集的训练依赖colmap的相机视角估计,可能影响重建渲染结果

如何使用

数据采集及预处理

若使用自摄数据,不限拍摄设备,采集过程需要对重建物体或场景进行多视角的拍摄,尽量覆盖多样视角,并保证提取的图像帧>=100。并需要先利用colmap或类似工具对相机进行内外参求解以及稀疏点云恢复。详细数据处理请参考Data Processig

新视角渲染

在ModelScope框架上,训练好一个Gaussia-Splattig模型后即可以通过简单的Pipelie调用来使用。(仅支持GPU运行)

推理代码范例

已有一个预训练的模型,按照下列代码可以进行推理

import os
from modelscope.msdatasets import MsDataset
from modelscope.outputs import OutputKeys
from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
from modelscope.utils.test_utils import test_level


model_id = 'Damo_XR_Lab/cv_gaussia-splattig-reco_damo'

## adjust data_dir ad ckpt_path to your custom path
data_dir = '/fs/miperf360/bicycle'
ckpt_path = '/fs/pretraied_models/bicycle'
data_type = 'colmap'
pretraied_scee = 'bicycle'
reder_dir = os.path.joi('./exp', pretraied_scee)

gaussia_splattig_reco = pipelie(Tasks.gaussia_splattig_reco,
                                    model=model_id,
                                    data_type=data_type,
                                    data_dir=data_dir,
                                    ckpt_path=ckpt_path
                                    )


gaussia_splattig_reco(dict(test_mode='evaluatio', reder_dir=reder_dir))

也可以通过下列参数代码运行样例模型(erf_sythetic/chair)

data_dir = ''
ckpt_path = ''
data_type = 'bleder'
pretraied_scee = 'chair'

训练代码范例

请参考训练过程

相关论文以及引用信息

@Article{kerbl3Dgaussias,
      author       = {Kerbl, Berhard ad Kopaas, Georgios ad Leimk{\"u}hler, Thomas ad Drettakis, George},
      title        = {3D Gaussia Splattig for Real-Time Radiace Field Rederig},
      joural      = {ACM Trasactios o Graphics},
      umber       = {4},
      volume       = {42},
      moth        = {July},
      year         = {2023},
      url          = {https://repo-sam.iria.fr/fugraph/3d-gaussia-splattig/}
}

功能介绍

该模型当前使用的是默认介绍模版,处于“预发布”阶段,页面仅限所有者可见。 请根据模型贡献文档说明,及时完善模型卡片内容。ModelScope平台将在模型卡片完善后展示。谢谢您的理解。 Clone wi

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论