Speridlabs Idol:单张图像生成 3D Gaussian Splat
Speridlabs Idol 用 0.66B 参数模型在 7.2 GB 显存内从单张图像构建 3D Gaussian splat,并提供开放 SDK 和社区 ComfyUI 节点。
.ply 格式的 3D Gaussian splat,包括输入从未展示过的侧面。
Idol 所针对的空白,正是通常需要多视角重建的那一类:你只有对象的单张图片,却想要能旋转的东西。Idol 移除背景、框定对象、编码图像,并直接采样一组高斯。输出可在任何 Gaussian splat 查看器中打开,模型还会在旁边写出它实际看到的裁剪输入,以及一个 JSON 格式的预测相机。
图库中的一个对象。项目页面上的每个示例都从单张图像开始。
带两个解码器的小型扩散栈
Idol 的生成核心是一个 370.6M 参数的 diffusion transformer、一个 50.8M 参数的八叉树解码器(决定高斯分布在哪里)和一个 237.3M 参数的高斯解码器(预测高斯属性),总计 0.66B 参数。围绕它还有三个辅助模型:用于背景移除的 BiRefNet、作为图像编码器的 DINOv3 ViT-H+/16,以及 FLUX.2 VAE,使整个请求约为 1.80B 参数。
| 组件 | 参数 | 显存中的权重 |
|---|---|---|
| DiT 去噪器 | 370.6M | ~0.8 至 1.0 GB |
| 八叉树解码器 | 50.8M | ~0.1 至 0.2 GB |
| 高斯解码器 | 237.3M | ~0.5 至 0.9 GB |
| BiRefNet 背景移除 | 220.7M | ~0.44 GB |
| DINOv3 ViT-H+/16 | 840.6M | ~1.68 GB |
| FLUX.2 VAE | 84.1M | ~0.17 GB |
卡片给出的总计约为 3.7 至 4.4 GB 权重、7.2 GB 峰值,这正是该模型能跑在 10 GB 显卡上而非数据中心 GPU 上的原因。
食物和小物件是图库覆盖的分类之一,与家具和角色并列。
细节是一个可调旋钮,而非固定预算
高斯数量是一个运行时参数,范围从 32,768 到 1,048,576,以 32 为倍数,默认 262,144。在项目页面上,同一盏灯在 32,768 设置下为 0.4 MB,在 1,048,576 时为 12.2 MB,因此同一对象既可以是粗模,也可以是最终资产。另外两个设置会影响结果:默认 50 个采样步数,以及一个改变裁剪在对象周围留出多少空间的模式,synthetic 用于渲染图和生成图像,real 用于照片。
更快的采样在 GPU 上默认开启,在相同质量下约快 1.7 倍:去噪器用 torch.compile 编译,引导与非引导传递作为单个批处理运行,注意力使用 cuDNN 和 TF32 矩阵乘法。进程中的第一张图像需要承担编译成本。
角色和生物出自同一套流程,没有单独的模型路径。
基准测试与耗时
卡片在单块 H100 上以 262,144 个高斯将 Idol 与 TripoSplat、TRELLIS 和 LGM 对比,用 PSNR、SSIM、LPIPS 和 IoU 评估输入视角,用 DINOv2、CLIP 和清晰度距离评估七个新视角。
| 模型 | PSNR | SSIM | LPIPS | IoU | DINOv2 | CLIP | 清晰度距离 | 请求时间 |
|---|---|---|---|---|---|---|---|---|
| Idol | 12.25 | 0.726 | 0.213 | 0.862 | 0.781 | 0.885 | 0.81 | 6.8 秒 |
| TripoSplat | 11.76 | 0.712 | 0.225 | 0.860 | 0.743 | 0.868 | 1.03 | 9.9 秒 |
| TRELLIS | 11.89 | 0.716 | 0.235 | 0.845 | 0.754 | 0.868 | 0.97 | 7.1 秒 |
| LGM | 12.46 | 0.722 | 0.237 | 0.834 | 0.575 | 0.784 | 1.22 | 1.1 秒 |
LGM 保持了最高的 PSNR,但结果明显模糊,卡片将此归因于 PSNR 对像素误差的平方取平均。
在消费级显卡上,同样的请求在 RTX 5090 上耗时 14.1 秒,在 RTX 4090 上 19.1 秒,在 RTX 3080 上 46.2 秒。卡片中“低于 2 秒”的说法在它自己的表格里没有对应行,其中最快的条目是 B300 在 262,144 个高斯下的 3.4 秒,因此请把表格作为参考,把低于两秒的说法视为最佳情况,已公布的数字无法复现。
| GPU | 显存 | 请求时间 |
|---|---|---|
| B300 | 269 GB | 3.4 秒 |
| H100 | 80 GB | 6.7 秒 |
| RTX 5090 | 32 GB | 14.1 秒 |
| RTX 4090 | 24 GB | 19.1 秒 |
| RTX 3080 | 10 GB | 46.2 秒 |
| L4 | 22 GB | 54.6 秒 |
细薄结构和半透明是 splat 解码器的难点,它们与家具一同出现在图库中。
可用性
Idol 以 Python 代码形式发布,而非 ComfyUI 节点。idol-sdk 包需要 Python 3.10+、PyTorch 2.5+ 以及带 CUDA 的 NVIDIA GPU,通过 pip install -e . 安装。权重(约 3 GB)加上两个编码器会在首次运行时从 Hub 下载。两个编码器都是受限(gated)的:facebook/dinov3-vith16plus-pretrain-lvd1689m 必须在 Hub 上接受条款,而 black-forest-labs/FLUX.2-dev 仅使用其 VAE,因此在首次生成之前需要 hf auth login 或 HF_TOKEN。
单张图像可从命令行运行,照片使用 --mode real:
python -m idol.sample --image photo.jpg --mode real
python -m idol.sample --image renders/ --mode synthetic --out outputs目前还没有官方 ComfyUI 集成。社区节点 Nynxz/ComfyUI-Idol 为 ComfyUI 封装了相同的权重,而 HF Space 演示则在浏览器中运行该模型。
评论
使用 GitHub 登录后即可参与讨论。