speridlabs/idol
摘要
Sperid Labs 发布 Idol,能将单张物体照片在 2 秒内转换为包含被遮挡面的 3D Gaussian splat(最多约 100 万个高斯),可在消费级 GPU 上以 7.2GB 显存运行。
查看缓存全文
缓存时间: 2026/10/31 03:11
speridlabs/idol · Hugging Face
来源:https://huggingface.co/speridlabs/idol
一张图片,生成一个 3D Gaussian splat。 输入一张物体照片,最多可输出一百万个 3D 高斯,包括照片中从未展示过的侧面。
项目主页 (https://speridlabs.com/research/idol) 代码 (https://github.com/speridlabs/idol-sdk) 演示 (https://huggingface.co/spaces/speridlabs/idol)
Idol 可以将一张物体图片转化为 3D Gaussian splat。无论输入的是渲染图、生成图像还是照片:它会移除背景、框选物体,并生成最多 1,048,576 个高斯,输出为标准 3DGS 格式的 .ply 文件。它可在消费级 GPU 上运行,占用 7.2 GB 显存,最快不到 2 秒即可完成。
示例
https://huggingface.co/speridlabs/idol#examples
Idol 可以将一张物体图片转化为 3D Gaussian splat。无论输入的是渲染图、生成图像还是照片:它会移除背景、框选物体,并生成最多 1,048,576 个高斯,包括照片中从未展示过的侧面。它可在消费级 GPU 上运行,占用 7.2 GB 显存,最快不到 2 秒即可完成。
快速开始
https://huggingface.co/speridlabs/idol#get-started
1. 获取图像编码器的访问权限。
Idol 通过 Hugging Face 上的两个受限模型读取输入。请使用你的 Hugging Face 账号接受它们的使用条款,然后通过 hf auth login 登录一次(或设置 HF_TOKEN):
- facebook/dinov3-vith16plus-pretrain-lvd1689m (https://huggingface.co/facebook/dinov3-vith16plus-pretrain-lvd1689m)
- black-forest-labs/FLUX.2-dev (https://huggingface.co/black-forest-labs/FLUX.2-dev)(仅下载其 VAE)
2. 安装代码
git clone https://github.com/speridlabs/idol-sdk.git
cd idol-sdk
pip install -e . # 需要 Python 3.10+、PyTorch 2.5+、支持 CUDA 的 NVIDIA GPU
没有单独的下载步骤:首次运行时,Idol 的权重(约 3 GB,来自本仓库)和两个图像编码器会自动下载到 Hugging Face 缓存中。如果编码器尚不可访问,Idol 会在下载任何内容之前停止,并提示缺少什么。
3. 生成 3D 物体
python -m idol.sample --image photo.jpg --mode real
python -m idol.sample --image renders/ --mode synthetic --out outputs
对于每张图片,会输出 .ply(可在任意 Gaussian splat 查看器中打开)、_input.png(模型看到的图片,经过背景移除和裁剪后)以及 _camera.json(预测的输入相机参数)。
根据你的输入选择模式。它决定了裁剪时在物体周围预留多少空间:
--mode | 适用于 | 裁剪方式 |
|---|---|---|
synthetic(默认) | 单个物体的渲染图和生成图像 | 物体占据画面的 1/1.2 |
real | 照片 | 物体占据画面的 1/1.7 |
在 Python 中使用:
from idol import IdolPipeline
pipeline = IdolPipeline.from_pretrained("speridlabs/idol")
output = pipeline("photo.jpg", mode="real", seed=42, num_gaussians=1_048_576)
output.gaussian.save_ply("photo.ply")
参数选项
https://huggingface.co/speridlabs/idol#flags
| 参数 | 默认值 | 说明 |
|---|---|---|
--seed | 42 | 固定种子可再次得到相同的物体。 |
--steps | 50 | 采样步数。步数越少速度越快,但会损失一些细节。 |
--cfg_strength | 3.0 | 无分类器引导:物体对图像的跟随程度。 |
--rescale_t | 3.0 | 时间偏移:数值越高,更多步数用于整体形状;数值越低,更多步数用于精细细节。 |
--num_gaussians | 262144 | 32,768 到 1,048,576,必须是 32 的倍数。 |
--dinov3_dtype | bf16 | fp32 以全精度运行 DINOv3 编码器(多占 1.7 GB 内存)。 |
--weights | speridlabs/idol | Hugging Face 仓库或本地文件夹。 |
--no_optimize | optimized | 关闭快速采样。GPU 上默认启用快速采样(约 1.7 倍加速,输出质量相同):去噪器使用 torch.compile 编译,引导和非引导的前向过程合并为一个批次运行,采样时注意力使用 cuDNN 配合 TF32 矩阵乘法。进程中的第一张图片会因编译而较慢。 |
模型详细信息
https://huggingface.co/speridlabs/idol#more-details-about-the-model
| 组件 | 参数量 | GPU 上的精度 | 显存中的权重 |
|---|---|---|---|
| DiT(去噪器) | 370.6M | FP16 transformer 块;FP32 嵌入和归一化 | 约 0.8–1.0 GB |
| 八叉树解码器 | 50.8M | FP16 transformer 块;FP32 嵌入和归一化 | 约 0.1–0.2 GB |
| 高斯解码器 | 237.3M | FP16 transformer 块;FP32 嵌入和归一化 | 约 0.5–0.9 GB |
| BiRefNet(背景移除) | 220.7M | FP16 | 约 0.44 GB |
| DINOv3 ViT-H+/16 | 840.6M | bf16 | 约 1.68 GB |
| FLUX.2 VAE | 84.1M | bf16(FP32 检查点,加载时转换) | 约 0.17 GB |
| 完整请求 | 约 1.80B | 大部分 FP16 / bf16,部分 FP32 | 约 3.7–4.4 GB 权重,峰值 7.2 GB |
基准测试
https://huggingface.co/speridlabs/idol#benchmark
Idol、TripoSplat、TRELLIS 和 LGM 的对比,在输入视角(PSNR、SSIM、LPIPS、IoU)和七个新视角(DINOv2、CLIP、锐度距离)上评分。平均得分,每个模型使用 1 × H100。加粗为各列最佳结果。
| 模型 | 设置 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | IoU ↑ | DINOv2 ↑ | CLIP ↑ | 锐度距离 ↓ | 请求耗时 ↓ |
|---|---|---|---|---|---|---|---|---|---|
| Idol | 50 步,262,144 高斯 | 12.25 | 0.726 | 0.213 | 0.862 | 0.781 | 0.885 | 0.81 | 6.8 s |
| TripoSplat | 50 步,262,144 高斯 | 11.76 | 0.712 | 0.225 | 0.860 | 0.743 | 0.868 | 1.03 | 9.9 s |
| TRELLIS | 论文设置,50 + 50 步 | 11.89 | 0.716 | 0.235 | 0.845 | 0.754 | 0.868 | 0.97 | 7.1 s |
| LGM | 默认,65,536 高斯 | 12.46* | 0.722 | 0.237 | 0.834 | 0.575 | 0.784 | 1.22 | 1.1 s |
* LGM 的 PSNR 最高,尽管结果明显模糊,因为 PSNR 计算的是像素误差的平方平均值。
跨 GPU 对比
https://huggingface.co/speridlabs/idol#across-gpus
一张图片生成 262,144 个高斯耗时 3.4 秒。50 步时的请求耗时:8 张图片的中位数,每台机器一个 GPU,所有 GPU 使用相同的代码和设置。
| GPU | 显存 | 请求耗时 |
|---|---|---|
| B300 | 269 GB | 3.4 s |
| B200 | 179 GB | 3.6 s |
| H200 | 140 GB | 6.6 s |
| H100 | 80 GB | 6.7 s |
| RTX 5090 | 32 GB | 14.1 s |
| A100 | 80 GB | 16.3 s |
| L40S | 45 GB | 16.6 s |
| RTX 4090 | 24 GB | 19.1 s |
| RTX 3080 | 10 GB | 46.2 s |
| L4 | 22 GB | 54.6 s |
由 speridlabs.com (https://speridlabs.com/) 用心打造 ❤️
相似文章
speridlabs/iris-3b
Sperid Labs 发布 Iris-3B,一个 30 亿参数的像素空间生成模型,直接输出每个像素、无需 VAE 或潜空间,并可通过微调完成单目深度估计、图像修复与超分辨率等密集视觉任务。
@TheTuringPost: https://x.com/TheTuringPost/status/2110754592220762198
Turing Post 深度科普指南:讲解 3D Gaussian Splatting 如何作为具身智能机器人的空间记忆,把拍摄场景重建为可搜索、可更新的 3D 表示,并延伸到对物理仿真的理解。
@IndieDevHailey: 群核科技刚上线自研 3D 生成模型 Lux3D。 一张图或一句话,就能出网格 + PBR 材质,极速模式最快约 20 秒。 玻璃、金属、陶瓷这些材质表现是亮点,还支持 Harness 批量生成,能接 Codex / Blender。
群核科技发布了自研3D生成模型Lux3D,支持从图像或文本快速生成网格和PBR材质,最快20秒,并兼容Blender等工具。
Mobile-4DGS:统一的静态-动态实时移动端高斯溅射
Mobile-4DGS 提出了一个统一的轻量级框架,在资源受限的移动设备上实现高保真、实时的静态与动态高斯溅射渲染。该方法通过压缩外观建模、多视角致密化与剪枝,以及紧凑的显式 4D 表示(含静态-动态划分与深度顺序复用),显著降低了存储和渲染开销,同时保持了有竞争力的视觉质量。
harry7557558/spirula-studio
Spirula Studio 是一款开源工具,用于从原始照片或视频训练3D高斯溅射模型,支持通过Vulkan在多个GPU上运行,具有VRAM效率高、原生支持360°相机以及内置SfM和AI遮罩等功能。