SMERF:可流式传输的内存高效辐射场
Google 的 SMERF 项目展示了可流式传输、内存高效的神经辐射场,让用户即使在较老的智能手机上也能在网页浏览器中穿行于高度逼真的真实空间 3D 重建之中。评论者对其质量、反射和“镜中世界”印象深刻,同时也在探讨大型场景中的空间分辨率、巨大的数据负载以及漫长的多 GPU 训练等权衡。讨论还涉及 SMERF 与 3D Gaussian Splatting 和传统摄影测量的比较、在 VR 和房地产中的潜在应用,以及训练代码和工具链未来开源的可能性。
整体反应与性能
- 许多评论者认为网页演示“惊艳”,而且出奇地流畅,即使在较老的智能手机和中端设备上也是如此。
- 桌面端性能也被报告为非常出色,在高质量设置下可实现实时帧率。
- 一些用户在 Firefox 中遇到 GPU/ANGLE/Direct3D 问题;作者指出该查看器在 Firefox 上没有经过充分测试,目前建议使用 WebKit/Chromium。
可用性、模型与工具链
- 预训练模型已经通过演示提供;运行页面时会下载这些模型。
- 网页查看器源码已在 GitHub 上开源,采用 Apache 2.0 许可;作者鼓励大家基于它进行改造(例如加入 VR、更好的控制)。
- 完整训练代码目前尚未发布,因为它依赖内部库;作者希望在理清这些依赖后将其开源。
- 当前采集流程:相机(通常是 DSLR)、结构光束法(例如 COLMAP)用于相机位姿、教师 NeRF(Zip-NeRF),然后进行 SMERF 训练,最后导出供查看器使用的资源。
技术细节与限制
- 表示方式:一种由稀疏低分辨率体素网格加上稠密高分辨率三平面(“发光雾”式光线行进渲染)支撑的神经辐射场。
- 大空间中的质量受空间分辨率限制;更大的体积需要更多体素,因此大型场景会在细节和覆盖范围之间做权衡。
- SMERF 的质量上限也受 Zip-NeRF 教师模型所限制。
- 反光表面(镜子、光亮金属、电视)会表现出类似“通往镜中世界的窗口”的伪影;用户报告看到诡异的镜子/冰箱/电视“内部”。
- 场景是静态的;训练开销很大:每个场景在大型多 GPU 设置上大约需要 12–48 小时。
- 查看器会流式加载多个子模型并在内存中切换;网络负载很大,压缩是一个悬而未决的问题。
与其他方法的比较
- 与 NeRF 密切相关;Gaussian Splatting 深受其启发,使用类似的输入/输出,但采用不同的表示方式。
- 据称,SMERF 在大型场景上的质量明显高于 3D Gaussian Splatting,在小场景上也略好一些,但训练时间要长得多;在 CUDA GPU 上的渲染速度可比。
- 相关的大规模工作(例如 Block 风格的 NeRF)会为大型环境使用许多区域模型。
应用、想法与批评
- 人们对 VR/AR(包括独立头显)以及房地产漫游表现出强烈兴趣,认为它相比当前的 360 照片导览是一次重大升级。
- 建议包括手机上的运动/陀螺仪控制、渐进式/优先级加载,以及将栅格化游戏角色合成到 SMERF 环境中。
- 也有人对其营销语气、缺少对详细限制的讨论,以及当前对重度优化和逐场景重建的依赖表示怀疑。