HairDeck: tarjetas de pelo y huesos elásticos desde una imagen

ComfyUI Wikinews

HairDeck genera tarjetas de pelo estilizadas como un conjunto a partir de una sola imagen, añade las cadenas de huesos elásticos que las animan y exporta avatares GLB o VRM.

HairDeck convierte una imagen de personaje en tarjetas de pelo estilizadas, las cintas colocadas por el artista que realmente usan los personajes de videojuegos y los avatares de VTuber, y genera las cadenas de huesos elásticos que las animan. Pesos y código: hyz317/HairDeck y hyz317/HairDeck. Artículo: arXiv 2610.40599. Los repositorios aparecieron el 27 y el 29 de octubre de 2026.

El pelo es la parte de un personaje 3D que los pipelines de imagen a 3D suelen equivocar con más frecuencia. La reconstrucción de hebras produce un peinado realista que es pesado de renderizar, y la reconstrucción de malla produce una única masa fusionada que el artista no puede volver a peinar, reestilizar ni animar. Los peinados de tarjetas son los que realmente entrega la producción estilizada, y se hacen a mano, cinta a cinta.

HairDeck trata el peinado como lo que es para un artista: un conjunto no ordenado de primitivas. Cada tarjeta de pelo es un único token, y un transformer de difusión de conjuntos elimina el ruido de todas las tarjetas a la vez, de modo que el modelo nunca tiene que decidir en qué orden viene el pelo. El resultado conserva tarjetas individuales con UVs por tarjeta, además de las cadenas de huesos elásticos que las hacen moverse.

El pipeline de HairDeck

El pipeline: tokens de tarjetas de pelo, difusión de conjuntos condicionada por imagen o por nube de puntos, y tarjetas generadas con cadenas de huesos elásticos.

Tarjetas como conjunto

El único generador previo de tarjetas de pelo estilizadas, CHARM, decodifica un peinado de forma autorregresiva como una larga secuencia de puntos de control. Eso hace que el orden de la secuencia importe, y un error al principio de la secuencia se propaga por el resto del pelo.

HairDeck lo invierte. Un VAE de tarjetas codifica cada tarjeta en un token, el transformer de conjuntos los observa todos a la vez, y el VAE de tarjetas decodifica cada token de vuelta a geometría con sus propias coordenadas UV. Las tarjetas se condicionan con una imagen de forma predeterminada, o con una nube de puntos mediante un cuarto modelo publicado.

Los huesos elásticos vienen con el pelo

La geometría por sí sola no es un recurso. Un peinado de tarjetas en un motor de juego o en un avatar VRM solo parece vivo porque los huesos elásticos tiran de cada tarjeta con un poco de física, y esas cadenas normalmente se construyen a mano y se pintan sus pesos después de terminar la malla.

Un modelo de difusión de cadenas las genera directamente, condicionado por los tokens de las tarjetas, de modo que la exportación incluye el skinning además de la geometría. Entra una imagen y lo que sale es un peinado que se balancea.

Un fotograma de póster del vídeo de demostración

Un fotograma de la demo del proyecto: tarjetas generadas sobre el cuerpo del avatar proporcionado.

El vídeo de demostración del proyecto: una imagen de entrada, cuatro variaciones generadas y la vista previa del giro de cabeza en VRM.

Qué se publica

ModeloRolCheckpoint
DiT de imagenGenera tokens de tarjetas condicionados por una imagenckpt/image_model/model.safetensors
VAE de tarjetasDecodifica el latente de un token de tarjeta en geometría de tarjetackpt/card_vae/model.safetensors
DiT de cadenasGenera cadenas de huesos elásticos condicionadas por los tokens de las tarjetasckpt/chain_model/model.safetensors
DiT de nube de puntosGenera tokens de tarjetas condicionados por una nube de puntosckpt/pointcloud_model/model.safetensors

La ruta de imagen ejecuta el DiT de imagen, el VAE de tarjetas y el DiT de cadenas. El modelo de nube de puntos se usa en la ruta de generación y evaluación con nube de puntos. El repositorio también incluye las estadísticas de normalización, el marco canónico de la cabeza, un avatar de plantilla de VRoid Studio para la exportación a VRM y 100 casos de prueba con su geometría de tarjetas original, de modo que la evaluación puede reproducirse sin el conjunto de entrenamiento.

La inferencia necesita Linux x86-64, Python 3.12 y una GPU NVIDIA CUDA, probada con PyTorch 2.8 y CUDA 12.8. La pila de preprocesamiento es más pesada que los modelos: SAM 3 y DINOv3 ViT-L/16 son descargas con acceso restringido que requieren aceptar sus licencias, BiRefNet-matting se encarga del recorte, y la exportación a VRM maneja Blender 4.2 LTS con el complemento VRM, que el script de configuración puede descargar por sí solo. La ruta de VRM sigue siendo un pipeline de Python y Blender, no un nodo personalizado de ComfyUI.

Un solo comando genera de una a cuatro variaciones, y --no-chains descarta el modelo de huesos elásticos cuando solo se quieren las tarjetas:

python scripts/image_to_hair.py character.png --out results/my_character --n 4
python -m hairdeck.vrm.export results/my_character/character 0

Cifras del artículo

Sobre el propio conjunto de prueba de CHARM, HairDeck reporta una distancia de Chamfer un 44% menor y más de la mitad del error de orientación de tarjetas, mientras se ejecuta 33 veces más rápido. A partir de imágenes individuales, los autores reportan que supera a CHARM, a los pipelines de imagen a 3D y a los métodos basados en hebras, que es la comparación que importa para cualquiera que le pase un personaje generado en lugar de uno renderizado.

Disponibilidad

  • hyz317/HairDeck en Hugging Face: cuatro checkpoints, datos de apoyo, 100 casos de prueba, Apache-2.0
  • hyz317/HairDeck en GitHub: código de inferencia, demo local, evaluación y entrenamiento, actualmente la única ruta compatible
  • Una demo en Space alojada que genera pelo y exporta VRM desde el navegador
  • No hay integración oficial de ComfyUI. Un paquete de la comunidad muy reciente, FengLairh/ComfyUI-HairDeck, envuelve los mismos checkpoints en tres nodos (cargar, generar, guardar) que se ejecutan dentro del propio proceso de Python de ComfyUI y preparan un Blender portátil para la exportación a VRM; apareció el 1 de noviembre y no se ha validado aquí

Comentarios

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

Cargando comentarios…
HairDeck: tarjetas de pelo y huesos elásticos desde una imagen | ComfyUI Wiki