三维重建 3D Gaussian Splatting:实时的神经场渲染

时间:2025-01-20 11:53:16

目录

概念理解三维高斯喷洒

渲染实例

依赖项:

编译报错:

预训练模型 13G:

win11系统场景报错解决

人体3d重建


原理讲解:

【三维重建】3D Gaussian Splatting:实时的神经场渲染-****博客

概念理解三维高斯喷洒

3D Gaussian Splatting简明教程 - 知乎

源码解读:

3D Gaussian Splatting源码解读 - 知乎

渲染实例

入口,

数据路径:

  1. if ((args.source_path, "sparse")):
  2. scene_info = sceneLoadTypeCallbacks["Colmap"](args.source_path, , args.eval)
  3. elif ((args.source_path, "transforms_train.json")):
  4. print("Found transforms_train.json file, assuming Blender data set!")
  5. scene_info = sceneLoadTypeCallbacks["Blender"](args.source_path, args.white_background, args.eval)
  6. else:
  7. assert False, "Could not recognize scene type!"

github地址:

3D Gaussian Splatting for Real-Time Radiance Field Rendering

依赖项:

pip install plyfile

simple-knn

  1. # distCUDA2 计算点云中的每个点到与其最近的K个点的平均距离的平方
  2. dist2 = torch.clamp_min(distCUDA2(torch.from_numpy(()).float().cuda()), 0.0000001) # (N,)

源码编译:

/dreamgaussian/dreamgaussian/tree/main/simple-knn

diff_gaussian_rasterization

GitHub - graphdeco-inria/diff-gaussian-rasterization

编译报错:

#include <glm/>

解决方法,下载glmc++源码库,把代码拷贝到目录:

diff-gaussian-rasterization-main\third_party\glm

/g-truc/glm/tree/5c46b9c07008ae65cb81ab79cd677ecc1934b903

编译成功:python build

预训练模型 13G:

/fungraph/3d-gaussian-splatting/datasets/pretrained/

win11系统场景报错解决

Could not recognize scene type gaussian-splatting 常见报错-****博客

人体3d重建

HumanGaussian开源:基于Gaussian Splatting,高质量3D人体生成新框架_澎湃号·湃客_澎湃新闻-The Paper