浏览器端3D高斯泼溅生成:SHARP模型借助ONNX Runtime Web实现
「开发者将苹果SHARP模型移植到浏览器,实现单图生成3D高斯泼溅并导出.ply文件,基于ONNX Runtime Web与React+TypeScript构建。」
近日,一位名为bring-shrubbery的开发者发布了一个开源项目ml-sharp-web,成功将苹果公司的SHARP(Single High-quality 3D Asset Reconstruction from a Photo)模型移植到浏览器环境中运行。该项目利用ONNX Runtime Web,让用户无需安装任何深度学习框架或本地模型,即可在浏览器中完成从单张图片到3D高斯泼溅(Gaussian Splat)的完整生成流程。
SHARP是苹果公司于2025年发布的一项3D重建技术,能够从单张2D图片快速生成高质量的3D高斯泼溅表示。其核心架构基于Transformer和扩散模型,在推理时通过迭代优化将图像特征映射为3D空间中的高斯参数集合。ml-sharp-web项目将SHARP的PyTorch模型导出为ONNX格式,并利用ONNX Runtime Web的WebAssembly后端在浏览器中执行推理,从而绕过了本地Python环境和GPU依赖。
项目的使用流程非常简洁:用户只需上传一张图片,点击“Generate Splat”按钮,等待数秒后即可在浏览器中预览生成的3D高斯泼溅,并下载.ply格式的文件。整个推理过程完全在客户端完成,不会将图片上传至任何服务器,保障了用户数据的隐私安全。不过,由于SHARP模型本身规模较大(ONNX导出文件约2.4GB),项目默认使用托管模型文件,用户也可以选择自行导出模型。
从技术实现角度看,ml-sharp-web包含几个关键组件:React+TypeScript构建的前端UI、基于Web Worker的ONNX推理线程、浏览器端的高斯后处理(包括从NDC坐标系到度量坐标系的转换)以及PLY文件写入器。预览功能则使用了@mkkellogg/gaussian-splats-3d库,该库专为浏览器端3D高斯泼溅渲染而设计。项目还提供了一个Python脚本,用于将苹果官方SHARP仓库中的PyTorch模型导出为ONNX格式,支持GPU加速(需CUDA环境)和自定义检查点路径。
对于希望自行导出模型的开发者,项目文档给出了详细的步骤:首先克隆苹果官方SHARP仓库并安装依赖,然后运行export_sharp_onnx.py脚本,指定输出路径和可选的检查点文件。导出的ONNX模型包含两个文件:sharp_web_predictor.onnx(图结构和元数据)和sharp_web_predictor.onnx.data(模型权重),两者必须放置在同一个目录下才能被正确加载。项目还支持通过Bun或npm构建静态版本,但需注意模型文件会导致构建输出体积较大。
值得注意的是,苹果SHARP仓库对代码和模型权重采用了不同的许可证:代码部分使用宽松的开源许可,而模型权重则带有研究用途限制(LICENSE_MODEL),用户在使用苹果官方发布的检查点时需遵守该许可条款。ml-sharp-web项目本身也鼓励用户为其加星(Star)以支持后续开发。
这一项目的出现,将原本需要高端GPU和专业环境的3D重建技术带入了普通用户的浏览器中,降低了3D内容创作的门槛。对于3D建模、游戏开发、虚拟现实和电子商务等领域,浏览器端的高斯泼溅生成工具提供了快速原型验证和轻量级部署的可能性。同时,该项目也展示了ONNX Runtime Web在跨平台AI推理方面的潜力,为更多大型模型向浏览器端迁移提供了参考范例。
来源:Heooo AI工具导航