Research map / Image generation / Fast diffusion sampling
DiffLocks: Generating 3D Hair from a Single Image using Diffusion Models
Read the paperCheck your idea against 108,967 papers
AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.
Builds a 40K-sample synthetic hair dataset with Blender geometry nodes and trains an image-conditioned scalp-texture diffusion transformer (DiffLocks) that decodes per-strand latent codes into 3D hair from a single image.
Problem
Generating detailed 3D hair strand geometry from a single image is hard due to hairstyle diversity and the lack of paired image-to-3D hair data; prior methods rely on low-dimensional intermediate representations that need post-processing.
Approach
Automatically generate a large, diverse synthetic hair dataset with rendered RGB images, then diffuse a 256x256 scalp texture whose texels hold per-strand VAE latent codes (plus a density map), conditioned on DINOv2 features, so strands decode directly without upsampling or post-processing.
Key results
- On the Yuksel et al. dataset at 4mm/40deg threshold, DiffLocks reaches F-score 76.20 versus 68.73 for NeuralHDHair and 57.20 for HairStep.
- On the DiffLocks evaluation set at 4mm/40deg, F-score is 91.17 versus 49.30 for NeuralHDHair and 45.48 for HairStep.
- Total reconstruction time is 2.33 s versus 18.32 s (NeuralHDHair) and 53.40 s (HairStep) on an H100.
Measured effects reported in the paper
| What was changed | Where | Measured | Effect |
|---|---|---|---|
| Use DiffLocks instead of NeuralHDHair | 3D hair reconstruction · Yuksel et al. synthetic dataset, 3/30 | F-score: 57.12 -> 62.41 | Helped |
| Use DiffLocks instead of NeuralHDHair | 3D hair reconstruction · DiffLocks evaluation set, 3/30 | F-score: 35.76 -> 81.68 | Helped |
| Use DiffLocks instead of HairStep | hair reconstruction pipeline · Hair reconstruction pipeline | total time (s): 53.40 -> 2.33 | Helped |
| Replace diffusion with a VAE scalp generator (ablation) | DiffLocks · Scalp texture generation | hair detail | Hurt |
| Remove local feature-map conditioning (ablation) | DiffLocks image conditioning · Image-conditioned hair reconstruction | hair reconstruction quality | Hurt |
Surprising findings
- Generating scalp textures with a VAE instead of diffusion yields overly smooth hair, and removing local DINOv2 feature-map conditioning causes large deviation from the input image.
Limitations
- Synthetic dataset lacks braids, accessories, ponytails and buns.
- Prioritizes local hair detail over exact image alignment.
- Quantitative evaluation uses only a small number of hairstyles (two Yuksel styles and 10 generated).
Experimental setup
Datasets: USC-HairSalon CT2Hair Yuksel et al. synthetic hair dataset
Benchmarks: Yuksel et al. synthetic hair dataset (straight and curly) DiffLocks evaluation set (10 hairstyles)
Metrics: precision recall F-score runtime seconds
Baselines: HairStep NeuralHDHair HAAR
Builds on: HDiT EDM Neural Strands DINOv2 EDM2
Closest papers by meaning
- MonoHair: High-Fidelity Hair Modeling from a Monocular Video (CVPR 2024 · similarity 0.91)
- Doubly Hierarchical Geometric Representations for Strand-based Human Hairstyle Generation (NeurIPS 2024 · similarity 0.91)
- Perm: A Parametric Representation for Multi-Style 3D Hair Modeling (ICLR 2025 · similarity 0.90)
- Dr.Hair: Reconstructing Scalp-Connected Hair Strands without Pre-Training via Differentiable Rendering of Line Segments (CVPR 2024 · similarity 0.89)
- Text-Conditioned Generative Model of 3D Strand-based Human Hairstyles (CVPR 2024 · similarity 0.89)
- Stable-Hair: Real-World Hair Transfer via Diffusion Model (AAAI 2025 · similarity 0.89)
Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.
