--- license: apache-2.0 library_name: pytorch pipeline_tag: image-to-3d tags: - 3d - anime - hair - hair-cards - vrm - diffusion - arxiv:2610.40599 ---
Yuze He1,* Yixiang Wei1,* Wang Zhao1 Chuhao Chen2 Yanning Zhou3,† Yong-Jin Liu1,†
1Tsinghua University 2Carnegie Mellon University 3The Chinese University of Hong Kong
*Equal contribution. †Corresponding authors.
**HairDeck turns a single character image into stylized hair cards with per-card UVs and colors, and the spring-bone chains that animate them.** Generate hair meshes as GLB files, then attach the hair to the provided avatar body and export a VRM 0.x avatar. ## 🚀 Try HairDeck Start with the [online demo](https://huggingface.co/spaces/hyz317/HairDeck), or run the models locally with the [HairDeck code](https://github.com/hyz317/HairDeck). For local use, follow the [installation instructions](https://github.com/hyz317/HairDeck#installation) for Linux, Python 3.12 and a CUDA GPU. Accept the SAM 3 and DINOv3 licences and log in as described in [model setup](https://github.com/hyz317/HairDeck#model-weights). Then, from the code repository root: ```bash export HAIRDECK_ROOT=/path/to/workspace python scripts/setup/download_weights.py python scripts/image_to_hair.py character.png --out results/my_character --n 4 python -m hairdeck.vrm.export results/my_character/character 0 ``` `download_weights.py` downloads the model bundle and supporting assets. Inference writes four variations under `results/my_character/character/`; the export command creates a VRM and head-turn video for seed 0. Video previews require `ffmpeg`. See the [output guide](https://github.com/hyz317/HairDeck#outputs) for the generated files. ## 🧩 Released models | Model | Role | Weights | |---|---|---| | **Image DiT** | Generates hair-card tokens conditioned on an image. | `ckpt/image_model/model.safetensors` | | **Card VAE** | Decodes each card token's latent into card geometry. | `ckpt/card_vae/model.safetensors` | | **Chain DiT** | Generates spring-bone chains conditioned on the card tokens. | `ckpt/chain_model/model.safetensors` | | **Color DiT** | Predicts the colors along each card, conditioned on the card tokens and the image. | `ckpt/color_model/model.safetensors` | | **Point-cloud DiT** | Generates hair-card tokens conditioned on a point cloud. | `ckpt/pointcloud_model/model.safetensors` | The image pipeline combines **Image DiT + Card VAE + Color DiT + Chain DiT**. The point-cloud model is used by the point-cloud generation and evaluation path. Both paths also need the supplied normalization statistics; use the downloader above to obtain the matching files together. DINOv3, SAM 3, BiRefNet-matting and Dora-VAE are fetched from their own repositories when needed. Their weights are not bundled here. The image model uses DINOv3 ViT-L/16 features, and the point-cloud model uses Dora-VAE 1.1 features. ## 📦 Supporting assets This repository also provides normalization statistics, the canonical head frame, the avatar body used for VRM export, and example images. Evaluation assets are optional and skipped by the default download.