4DGS A卡训练与VisionPro渲染

赛博朋克 2027-超梦体验

Share

背景

现在的基于 3D GS 的改进方法和工具大量出现,近期 vision os 27 甚至推出了官方基于 metal 的GS 渲染 API。 于是想尝试使用 A 卡训练+vision pro 渲染 的方式来玩 GS。

先看上的是这篇复旦大学的 4dgs, 看起来加入了时间维度(3d+time=4d?),看起来很科幻,感觉如果能在 Vision Pro 里面用 VR 的方式查看一定很酷炫,就像赛博朋克 2077 里面的超梦一样。

目标是能够用我手机采集的视频,用我家里的台式机训练,用 vision pro 渲染(直接利用 M5 芯片的算力,而不是串流)

超梦体验

实现流程

使用 GPT Pro 辅助开发,架构设计上采用 Client Server 设计,我的windows 7900XTX 主机作为 Server,Vision Pro 作为 Client。

具体技术路线上,

A 卡 Server 使用4DGS 原论文代码接上基于 ROCM的开源 gsplat渲染器(因为A 卡无法跑 CUDA)

Client 端,Vision Pro 使用 Metal Shader 自定义实现了 GS 渲染(之前尝试使用 Apple 官方 API 发现它在 GS 球太多的情况下无法正常显示故放弃)

效果演示

0:00
/0:24

Vision Pro 渲染 4DGS 实机演示-初次训练

如视频所示,采用 4dgs 论文中的样例视频进行训练,Vision Pro 进行渲染,初次训练结果看起来能看出人的轮廓,但是 gs 球颗粒感比较明显, PSNR 仅有 24 db 左右。

经过 调整参数 专门针对 GS 球大小、透明度和颜色进一步专门优化后 PSNR 指标来到了 30db 左右,接近论文中提到的 33db。

0:00
/0:13

调参后的效果,看起来更清晰一些

参考

GitHub - fudan-zvg/4d-gaussian-splatting: [ICLR 2024] Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting
[ICLR 2024] Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting - fudan-zvg/4d-gaussian-splatting
4D Gaussian Splatting for Real-Time Dynamic Scene Rendering
4D Gaussian Splatting for Real-Time Dynamic Scene Rendering

https://cyberpunk.huijiwiki.com/wiki/%E8%B6%85%E6%A2%A6

GaussianSplatResource | Apple Developer Documentation
A container for the splat data and rendering options that a Gaussian splat component displays.

Read more

可多路视频播放的VisionOS 媒体查看器开发

可多路视频播放的VisionOS 媒体查看器开发

开发一款能够同时播放多个视频的vision pro媒体查看器。 0:00 /0:40 1× 缘起 Vision Pro 发布时我就特别想买,毕业工作后终于有资金购入并加入Apple开发者计划,从今年五月到现在也用了快小半年,用起来确实挺爽。 但是有些痛点还是很难受,其中一个痛点就是无法同时播放多个视频音频(实际上VisionOS提供了同时播放音频的API,但是似乎我用的APP都是不遵守🤣 导致都在抢占),因此为了满足我自己的这个痛点,也学习一下Vision OS 的应用开发,甚至完成度足够的话考虑上架App Store,便有了这个目标是多视频同时播放的媒体查看器项目。 现有工作 我购买了4XVR、Infuse、Moon Player、ES 文件助手(这款只有iPad OS版,不是专供Vision OS的),这几个月体验下来,全都存在我提到的和其他APP抢占音频通道,无法同时播放的问题,其他的我的主观的体验如下: 4XVR:使用最多,用起来最舒服,格式支持很全,VR视频也能看,号称全v

By Feiran Yu