SAFE-Hair: Scalp-Anchored Fields for Exportable Single-View Hair Reconstruction
Organizations: The Hong Kong University of Science and Technology
Abstract
Single-view 3D hair reconstruction has progressed rapidly, but many methods optimize for visual plausibility rather than producing strand assets that can be directly used in grooming, editing, or simulation pipelines. We propose SAFE-Hair, a framework that reconstructs explicit strand grooms from a single portrait by decoding hair from persistent follicles in a canonical scalp-UV domain. Given a fitted template head, SAFE-Hair projects self-supervised image features onto the scalp, uses a conditional Rectified Flow model to generate latent scalp fields, and decodes occupancy, segment directions, length allocation, and total length at a fixed set of scalp follicles. This representation enforces scalp-rooted strand identities by construction and enables direct export with follicle IDs and guide-family metadata. We further introduce attachment, collision, and bending priors to improve geometric validity without per-subject test-time optimization. To evaluate both reconstruction fidelity and asset usability, we introduce HairBench-3D, a benchmark built from public 3D hair assets with standardized alignment, rendering, resampling, and metrics for geometry, direction consistency, invisible-region completion, silhouette agreement, and collision. SAFE-Hair improves Chamfer distance from 3.74 mm to 3.28 mm, F-score from 77.9 to 81.7, invisible-region F-score from 66.1 to 69.8, and penetration ratio from 4.8% to 3.9% over the strongest baseline.
Figures & tables
| Source | #Assets | Main role |
|---|---|---|
| Hair20K [ 43 ] | 1,200 | Diverse hairstyles |
| USC-HairSalon [ 10 ] | 343 | Groom assets |
| Yuksel [ 34 ] | 8 | Varied examples |
| Total | 1,551 | Frozen test set |
| Method | ChamferPts | F-score | F-score (Invisible) | IoU | Penetration Ratio |
|---|---|---|---|---|---|
| Perm [ 7 ] | 5.82 | 61.4 | 42.7 | 0.781 | 8.6 |
| UniHair [ 41 ] | 4.85 | 69.2 | 57.0 | 0.807 | 26.8 |
| NeuralHDHair [ 32 ] | 4.36 | 71.8 | 56.2 | 0.824 | 6.1 |
| Hairstep [ 40 ] | 4.48 | 70.6 | 59.4 | 0.872 | 7.2 |
| DiffLocks [ 26 ] | 3.91 | 76.5 | 63.8 | 0.847 | 5.4 |
| Im2Haircut [ 28 ] | 3.74 | 77.9 | 66.1 | 0.861 | 4.8 |
| Variant | ChamferPts | F-score | F-score (Invisible) | IoU | Penetration Ratio |
|---|---|---|---|---|---|
| W/o Scalp UV | 3.91 | 77.8 | 63.5 | 0.857 | 5.1 |
| W/o Rectified Flow | 3.67 | 78.9 | 64.1 | 0.866 | 4.8 |
| W/o Latent Scalp Field | 3.58 | 79.6 | 66.0 | 0.871 | 4.6 |
| W/o Length Factorization | 3.49 | 80.2 | 67.1 | 0.876 | 4.4 |
| W/o Directions | 3.43 | 80.8 | 68.2 | 0.879 | 6.7 |
| Full SAFE-Hair | 3.28 | 81.7 | 69.8 | 0.884 | 3.9 |
| Method | RootDist | ValidRoot | FollicleStab. | ExportSucc. |
|---|---|---|---|---|
| Perm [ 7 ] | – | – | – | – |
| NeuralHDHair [ 32 ] | 3.8 | 82.1 | – | 71.3 |
| Hairstep [ 40 ] | 2.9 | 87.4 | – | 76.8 |
| DiffLocks [ 26 ] | 2.4 | 89.6 | 0.61 † | 82.5 |
| Im2Haircut [ 28 ] | 1.7 | 93.2 | 0.68 † | 88.1 |
| Ours | 0.2 | 99.8 | 0.91 | 99.6 |
| Input yaw | ChamferPts | F-score | F-score (Invisible) | IoU |
|---|---|---|---|---|
| 3.28 | 81.7 | 69.8 | 0.884 | |
| 3.35 | 81.0 | 68.9 | 0.878 | |
| 3.57 | 79.4 | 66.2 | 0.861 | |
| 3.86 | 77.2 | 62.8 | 0.839 |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Steps | Time (s) | ChamferPts | F-score | F-score (Invisible) |
|---|---|---|---|---|
| 5 | 1.4 | 3.47 | 79.8 | 67.4 |
| 10 | 2.4 | 3.34 | 81.0 | 69.0 |
| 20 | 4.2 | 3.28 | 81.7 | 69.8 |
| 40 | 7.8 | 3.26 | 81.9 | 70.0 |
| Follicles | Points | Time (s) | Memory (GB) | ChamferPts | F-score |
|---|---|---|---|---|---|
| 32,768 | 32 | 4.2 | 7.9 | 3.28 | 81.7 |
| 65,536 | 32 | 6.8 | 12.7 | 3.22 | 82.1 |
| 32,768 | 64 | 5.6 | 10.8 | 3.21 | 82.0 |
| 65,536 | 64 | 9.4 | 18.6 | 3.17 | 82.5 |
| Usage of HairBench-3D test split | Allowed? |
|---|---|
| Training data | No |
| Validation or hyperparameter tuning | No |
| Loss-weight selection | No |
| Filtering-threshold selection | No |
| Qualitative example selection before final evaluation | No |
| Final quantitative evaluation | Yes |
| Perturbation | ChamferPts | F-score | RootDist-to-GT | ValidRoot |
|---|---|---|---|---|
| None | 3.28 | 81.7 | 0.20 | 99.8 |
| Camera rotation ( ) | 3.33 | 81.2 | 0.22 | 99.6 |
| Head-shape deviation | 3.53 | 79.5 | 0.96 | 97.8 |
| Combined | 3.62 | 78.9 | 1.15 | 96.7 |
| Camera rotation | Head-shape deviation | Combined | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Method | CD | F | Root | Valid | CD | F | Root | Valid | CD | F | Root | Valid |
| DiffLocks [ 26 ] | 2.2% | 0.8 | 0.08 | 0.8 | 9.8% | 3.1 | 1.25 | 4.8 | 14.2% | 4.1 | 1.52 | 6.1 |
| Im2Haircut [ 28 ] | 2.0% | 0.7 | 0.05 | 0.5 | 9.4% | 2.8 | 1.02 | 3.8 | 12.6% | 3.7 | 1.24 | 5.0 |
| Ours | 1.5% | 0.5 | 0.02 | 0.2 | 7.6% | 2.2 | 0.76 | 2.0 | 10.4% | 2.8 | 0.95 | 3.1 |
3D Reconstruction
3D reconstruction recovers a scene’s shape, appearance, and camera motion from images, video, depth, or other sensor measurements.
See all 992 papers