Speridlabs Idol convierte una sola imagen en un splat gaussiano 3D

ComfyUI Wikinews

Speridlabs Idol crea un splat gaussiano 3D desde una sola imagen con un modelo de 0,66B en 7,2 GB de VRAM, con SDK abierto y un nodo ComfyUI comunitario.

Idol se publicó el 28 de octubre de 2026 por Speridlabs: pesos en Hugging Face, página del proyecto, SDK, Space de demostración. Entra una fotografía, un render o una imagen generada, y sale un splat gaussiano 3D en formato .ply estándar, incluyendo los lados que la entrada nunca mostró.

La brecha que Idol ataca es la que normalmente necesita una reconstrucción multivista: tienes una sola imagen de un objeto y quieres algo que puedas rotar. Idol elimina el fondo, encuadra el objeto, codifica la imagen y muestrea un conjunto de gaussianas directamente. La salida se abre en cualquier visor de splats gaussianos y, junto a ella, el modelo escribe la entrada recortada que realmente vio y una cámara predicha en JSON.

Un sillón renderizado producido a partir de una sola imagen de entrada

Uno de los objetos de la galería. Todos los ejemplos de la página del proyecto parten de una sola imagen.

Un pequeño stack de difusión con dos decodificadores

El núcleo generativo de Idol es un transformer de difusión de 370.6M de parámetros, un decodificador de octree de 50.8M de parámetros que decide dónde viven las gaussianas, y un decodificador gaussiano de 237.3M de parámetros que predice sus atributos, para 0.66B de parámetros en total. Alrededor hay tres modelos de apoyo: BiRefNet para la eliminación de fondo, DINOv3 ViT-H+/16 como codificador de imagen y el VAE de FLUX.2, lo que lleva la petición completa a aproximadamente 1.80B de parámetros.

ComponenteParámetrosPesos en VRAM
Denoiser DiT370.6M~0.8 a 1.0 GB
Decodificador de octree50.8M~0.1 a 0.2 GB
Decodificador gaussiano237.3M~0.5 a 0.9 GB
Eliminación de fondo BiRefNet220.7M~0.44 GB
DINOv3 ViT-H+/16840.6M~1.68 GB
VAE de FLUX.284.1M~0.17 GB

La tarjeta sitúa el total en unos 3.7 a 4.4 GB de pesos y un pico de 7.2 GB, que es lo que permite ejecutar el modelo en una tarjeta de 10 GB en lugar de una GPU de centro de datos.

Un aguacate renderizado producido a partir de una sola imagen de entrada

La comida y los objetos pequeños son una de las categorías que cubre la galería, junto con muebles y personajes.

El detalle es un ajuste, no un presupuesto fijo

El número de gaussianas es un argumento en tiempo de ejecución de 32,768 a 1,048,576 en múltiplos de 32, con 262,144 por defecto. En la página del proyecto la misma lámpara llega a 0.4 MB con el ajuste de 32,768 y a 12.2 MB con 1,048,576, así que el mismo objeto puede ser un blockout o un asset final. Otras dos configuraciones dan forma al resultado: 50 pasos de muestreo por defecto, y un modo que cambia el espacio que el recorte deja alrededor del objeto, synthetic para renders e imágenes generadas y real para fotografías.

El muestreo más rápido está activado por defecto en GPU y vale aproximadamente 1.7x con la misma calidad: el denoiser se compila con torch.compile, las pasadas guiada y no guiada se ejecutan como un solo lote, y la atención usa cuDNN con matmuls TF32. La primera imagen de un proceso paga el coste de compilación.

Un ajolote renderizado producido a partir de una sola imagen de entrada

Los personajes y las criaturas salen de la misma receta, sin una ruta de modelo separada.

Benchmarks y tiempos

La tarjeta compara Idol contra TripoSplat, TRELLIS y LGM con 262,144 gaussianas en una H100, puntuando la vista de entrada con PSNR, SSIM, LPIPS e IoU y siete vistas nuevas con DINOv2, CLIP y una distancia de nitidez.

ModeloPSNRSSIMLPIPSIoUDINOv2CLIPDistancia de nitidezTiempo de petición
Idol12.250.7260.2130.8620.7810.8850.816.8 s
TripoSplat11.760.7120.2250.8600.7430.8681.039.9 s
TRELLIS11.890.7160.2350.8450.7540.8680.977.1 s
LGM12.460.7220.2370.8340.5750.7841.221.1 s

LGM mantiene el PSNR más alto mientras produce resultados visiblemente borrosos, algo que la tarjeta atribuye a que el PSNR promedia el error cuadrático por píxel.

En tarjetas de consumo, la misma petición tarda 14.1 s en una RTX 5090, 19.1 s en una RTX 4090 y 46.2 s en una RTX 3080. La línea de "menos de 2 segundos" de la tarjeta no tiene fila correspondiente en su propia tabla, donde la entrada más rápida es una B300 con 3.4 s para 262,144 gaussianas, así que toma la tabla como referencia y la afirmación de menos de dos segundos como un caso óptimo que las cifras publicadas no reproducen.

GPUVRAMTiempo de petición
B300269 GB3.4 s
H10080 GB6.7 s
RTX 509032 GB14.1 s
RTX 409024 GB19.1 s
RTX 308010 GB46.2 s
L422 GB54.6 s
Un racimo de uvas renderizado producido a partir de una sola imagen de entrada

Las estructuras finas y la translucidez son los casos difíciles para un decodificador de splats, y aparecen en la galería junto con los muebles.

Disponibilidad

Idol se distribuye como código Python en lugar de como nodo de ComfyUI. El paquete idol-sdk necesita Python 3.10+, PyTorch 2.5+ y una GPU NVIDIA con CUDA, y se instala con pip install -e .. Los pesos, unos 3 GB, más los dos codificadores se descargan del Hub en la primera ejecución. Ambos codificadores están restringidos: facebook/dinov3-vith16plus-pretrain-lvd1689m debe aceptarse en el Hub, y black-forest-labs/FLUX.2-dev se usa solo por su VAE, así que se requiere un hf auth login o HF_TOKEN antes de la primera generación.

Una sola imagen se procesa desde la línea de comandos, con --mode real para fotografías:

python -m idol.sample --image photo.jpg --mode real
python -m idol.sample --image renders/ --mode synthetic --out outputs

Todavía no hay integración oficial en ComfyUI. El nodo de la comunidad Nynxz/ComfyUI-Idol envuelve los mismos pesos para ComfyUI, mientras que la demo del Space de HF ejecuta el modelo en el navegador.

Comentarios

Inicia sesión con GitHub para unirte a la conversación.

Cargando comentarios…
Speridlabs Idol convierte una sola imagen en un splat gaussiano 3D | ComfyUI Wiki