NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
在过去的一个月里,高斯泼溅(参见我的第一篇文章)似乎正在经历新研究的寒武纪高斯爆炸。 这篇开创性的论文于 2023 年 7 月发表,从 11 月中旬开始,感觉每天都会有一两篇新论文发表,在某种程度上与高斯泼溅相关。
1、3DGS生态和研究
@MrNeRF 和 @henrypearce4D 维护着与 3DGS 相关的所有内容的优秀列表,请查看他们的 Awesome 3D Gaussian Splatting Resources。
以下绝不是详尽的列表,只是随机选择有趣的部分:
生态系统和工具:
- PlayCanvas 发布了 SuperSplat,一个在线 splat 编辑器(源代码),在引擎 v1.67.0 中添加了 3DGS 支持,并制作了自己的 splat 数据压缩方法(博客文章),该方法在某种程度上基于我的博客文章,是的。
- Luma AI 发布了 Unreal Engine 5 插件和基于 WebGL Three.js 的查看库:Luma WebGL Library。
- Spline 添加了高斯 splat 支持,并带有简单的编辑工具。
- 各种开源工具作者之间关于可能的“通用 splat 格式”的讨论。
研究:
- GaussianEditor:使用 Gaussian Splatting 进行快速且可控的 3D 编辑,将基于 ML 的编辑和修复工具应用于高斯 Splatting。
- 可重新照明的 3D 高斯:使用 BRDF 分解和光线追踪的实时点云重新照明尝试通过关联典型的 PBR 材质参数(法线、BRDF 属性)、入射光信息等来使高斯可重新照明。
- GS-IR:用于逆渲染的 3D 高斯泼溅扩展了 3DGS 管道,以导出表面法线、反照率和粗糙度,以实现高斯泼溅的重新照明。
- LightGaussian:具有 15 倍缩减功能的无界 3D 高斯压缩通过修剪和合并 splat 来减少其数量,从而减少高斯 splat 数据大小,通过比仅仅“删除一些系数”更巧妙地减少球谐函数数据的阶数来减小球谐函数数据,并对最终结果应用多种量化方案 数据。 这是聪明的东西!
- Mip-Splatting 无别名 3D Gaussian Splatting 通过有效地做一些比“仅在此处添加 0.3,哈哈”更聪明的事情,修复了原始 3DGS 论文的一些锯齿和膨胀问题:)
- Compact3D:使用矢量量化压缩高斯分布辐射场模型,对 3DGS 的颜色、旋转、尺度和球谐函数使用 K 均值聚类,以减小数据大小。
- GaussianShader:具有反射表面着色功能的 3D 高斯泼溅是通过估计法线和其他材质参数使高斯可重新照明的另一种尝试。
- Relightable Gaussian Codec Avatars 针对的是人脸头像。 他们将高斯分布在粗糙的 3D 网格上,并使用具有漫反射 SH 和镜面 SG 的可学习辐射传输。 将高斯斑点插入现有的基于网格的头像管道的巧妙方法。
- SuGaR:用于高效 3D 网格重建和高质量网格渲染的表面对齐高斯泼溅将高斯与底层表面更紧密地对齐,然后允许提取网格,然后允许对其进行动画处理或蒙皮。 最终的网格仍然具有“附加”到多边形的高斯斑点。
2、Unity 高斯泼溅
我创建的 Unity Gaussian Splatting 项目的初衷是“呃,让我尝试在 Unity 中制作一个快速玩具 3DGS 渲染器,也许还可以减少数据大小”,但令人惊讶的是,它已经在 GitHub 上获得了 1300 多个 star。 自从上一篇博客文章以来,它得到了一堆随机的东西:
- 除内置渲染管道外,还支持 HDRP 和 URP 渲染管道。
- 选择和删除形式的细粒度splat编辑工具(短视频)。
- 椭圆形和盒形“切口”形式的高级splat编辑工具。 @hybridherbst 完成了最初的实现,不久之后所有其他 3DGS 编辑工具都获得了几乎相同的工作流程。 好的!
- 能够将修改/编辑的 splats 导出回 .PLY 文件。
- 通过更紧凑的屏幕空间四边形(而不是轴对齐的四边形)实现更快的渲染。
- 我将 gaussian splat 渲染+编辑部分制作成了一个实际的包(OpenUPM 页面),并澄清了许可证是 MIT 的。
- (不是 github 版本的一部分,但在最新的主分支中)更细粒度的编辑工具(移动单个 splats),导出 .PLY 时烘焙 splat 变换的能力,以及可以将多个 splats 合并在一起。
该项目包含一些与高斯 splat 无关的特性,但可能在其他地方有用:
- AMD FidelityFX GPU 基数排序的 Unity 端口(着色器,C#)。
- K-means 聚类的 C# 实现(源),具有 Burst 和多线程。
- 使用Unity的EditorToolContext/EditorTool框架(GaussianToolContext、GaussianTool、GaussianMoveTool)实现的编辑工具。
啊啊,说到这里,我想我的闲逛就到此结束了。 我制作了一个玩具渲染器并集成到 Unity 中,在这个过程中学到了一些随机的东西,是时候到此为止并转向其他事情了。 我怀疑明年还会有另一篇与高斯飞溅相关的论文发表。 看看这一切的结局将会很有趣!
原文链接:Gaussian explosion
BimAnt翻译整理,转载请标明出处