赞
踩
Gaussian Splatting (高斯泼溅) 是近段时间,三维视觉领域热度极高的一项突破性工作。
2020 年提出的 NeRF 等辐射场方法彻底改变了多张照片或视频主导的场景新视角合成的算法生态,但训练、渲染的速度与质量仍存在瓶颈。Gaussian Splatting 在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是允许在 1080p 分辨率下实现高质量的实时(≥30 fps)的新视图合成。
基于 3D Gaussian Splatting 的 SLAM 不仅全面继承了 NeRF-based SLAM 方法的优点,而且全面补足了其短板(渲染速度慢、图像质量不高、定位精度欠佳等),实现了更好的实时性、更好的渲染质量、更精确的定位精度。
3D Gaussian Splatting对比之前的NeRF算法
Web 端渲染 Gaussian Splatting 目前已经有很多现成的开源库,比如:
遗憾的是 Cesium 是没有相关的渲染库的。
由于没有现成的渲染库,因此只能考虑移植其他的库。这里我移植的是 GaussianSplats3D。
其实实现过程并不算复杂(但确实踩了不少坑),无非就是将 GaussianSplats3D 内部所有的 Three.js 的实现全部换成用 Cesium 来实现即可。
在移植库的过程中,很容易发现,Cesium 不支持 GaussianSplats3D 中使用到的一些 WebGL 2.0 的规范和数据类型。
Cesium 虽然说支持 WebGL 2.0,但是这个 “支持” 其实更多的是 “兼容” ,很多 WebGL 2.0 的规范是没有实现的。
要解决这个问题,目前就只能通过修改 Cesium 的源码去实现。
Cesium加载GaussianSplatting
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。