개요
HairDeck은 hyz317이 개발한 도구로, 단일 캐릭터 이미지를 스타일화된 헤어 카드(stylized hair cards)로 변환하며, 각 카드에 UV와 색상을 할당하고 애니메이션을 위한 스프링-본 체인(spring-bone chains)을 생성합니다. 이 이미지 파이프라인은 Image DiT, Card VAE, Color DiT, Chain DiT를 결합합니다. 결과 헤어 메쉬는 GLB 형식으로 내보내기(export)가 가능하며, 제공된 아바타 바디에 연결하여 VRM 0.x 형식으로 내보낼 수 있습니다. 체크포인트는 Apache-2.0 하에서 공개됩니다.
최적 사용 사례
캐릭터 이미지로부터 카드 지오메트리(card geometry), 색상, 스프링-본 체인을 포함하는 애니메이션 준비가 된 스타일화된 헤어 카드 에셋을 생성하는 데 사용합니다. 또한 여러 헤어 변형을 생성하고 헤어가 장착된 아바타를 VRM 0.x로 내보내는 것도 지원합니다.
제한 사항
로컬 설정에는 Linux, Python 3.12, 그리고 CUDA GPU가 필요합니다. SAM 3 및 DINOv3 라이선스에 동의해야 하며, 이들의 가중치(weights)는 BiRefNet-matting 및 Dora-VAE와 함께 번들링되는 것이 아니라 별도로 가져와야 합니다. 비디오 미리보기에는 ffmpeg가 필요합니다. 제공된 증거 자료에서는 지원하는 이미지 크기, GPU 메모리 요구 사항 또는 상세한 입력 이미지 제약 조건을 명시하지 않았습니다.
비교 분석
제공된 초록은 HairDeck을 CHARM과 비교하며, HairDeck의 비정렬 집합 확산(unordered-set diffusion) 접근 방식을 CHARM의 자기회귀적 제어점 시퀀스(autoregressive sequence of control points)와 설명합니다. 이 자료는 더 낮은 Chamfer distance, 더 낮은 카드 방향 오류(card-orientation error), 그리고 CHARM 테스트 세트에서 더 빠른 런타임(runtime)을 보고하지만, 구체적인 수치 평가 세부 사항은 제공하지 않습니다. 다만, Chamfer distance가 44% 낮고, 방향 오류는 절반 이상이며, 런타임은 33배 빠르다는 점만 언급합니다. 이는 일반적인 보장이 아닌 초록에 보고된 결과입니다. HairDeck 연구 자료입니다.
기술 사양
이미지 기반 헤어 파이프라인은 네 가지 공개된 구성 요소로 이루어져 있습니다. Image DiT는 이미지에 조건화된 hair-card 토큰을 생성하고, Card VAE는 카드 토큰 잠재 벡터(latents)를 기하학적 구조(geometry)로 디코드합니다. Color DiT는 토큰과 이미지에 조건화되어 카드별 색상을 예측하며, Chain DiT는 카드 토큰에 조건화된 스프링 본 체인(spring-bone chains)을 생성합니다. 별도의 Point-cloud DiT는 포인트 클라우드에서 토큰을 생성하며, 이는 설명된 이미지 파이프라인이 아닌 포인트 클라우드 생성 및 평가 경로에서 사용됩니다. 이미지 모델은 DINOv3 ViT-L/16 특징(features)을 사용하고, 포인트 클라우드 모델은 Dora-VAE 1.1 특징을 사용합니다. DiT 체크포인트는 EMA 가중치(weights)를 포함하며, Card VAE 체크포인트는 모델 가중치를 포함합니다. 체크포인트는 safetensors 형식이며, 학습 설정은 메타데이터에 있습니다. 제공된 코드는 이를 로드하는 데 사용됩니다. 공급된 모델 문서에는 파라미터 개수, 학습 하드웨어 또는 이미지 파이프라인 벤치마크 측정값이 명시되어 있지 않습니다.
모델 입력 및 출력
입력
주요 워크플로우는 단일 캐릭터 이미지를 사용합니다. 별도의 포인트 클라우드 경로는 포인트 클라우드를 사용하며, 이는 포인트 클라우드 생성 및 평가에 사용됩니다. 두 경로 모두에서 일치하는 정규화 통계(normalization statistics)가 필요합니다. 문서화된 명령어는 --n을 통해 이미지 파일명, 출력 디렉토리, 그리고 변형(variation) 개수를 받습니다.
; 추가적인 이미지 형식이나 해상도 제약 조건은 명시되어 있지 않습니다.
출력
이미지 워크플로우는 카드별 UV 좌표와 색상을 가진 헤어-카드 기하학적 구조, 스프링 본 체인, 그리고 GLB 헤어 메시를 생성합니다. 문서화된 내보내기(export) 워크플로우는 제공된 아바타 몸체에 헤어를 부착하고 VRM 0.x 아바타를 생성하며, 선택된 시드(seed)에 대한 헤드-턴 비디오도 생성합니다. README에는 추론(inference)이 요청된 수의 변형을 작성하며, 비디오 미리보기에는 ffmpeg가 필요하다고 언급되어 있습니다.
시작하기
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
...
자주 묻는 질문
Q: HairDeck은 무엇을 생성하나요?
A: 캐릭터 이미지로부터 카드별 UV와 색상을 가진 스타일화된 헤어 카드를 생성하며, 애니메이션을 위한 스프링 본 체인(spring-bone chains)도 함께 제공합니다. 이 헤어 메시(hair meshes)는 GLB로 내보내져 VRM 0.x 아바타 워크플로우에 사용될 수 있습니다.
Q: 로컬 환경에서 사용하려면 무엇이 필요한가요?
A: 문서화된 설정은 Linux, Python 3.12, 그리고 CUDA GPU입니다. SAM 3 및 DINOv3 라이선스에 동의해야 하며, 여러 지원 모델 가중치(supporting model weights)를 자체 저장소에서 가져와야 합니다.
Q: 포인트 클라우드(point-cloud) 모델이 이미지-투-헤어 생성에 사용되나요?
A: 아닙니다. 문서화된 이미지 파이프라인은 Image DiT, Card VAE, Color DiT, 그리고 Chain DiT를 사용합니다. Point-cloud DiT는 별도의 포인트 클라우드 생성 및 평가 경로를 위한 것입니다.
Q: 필요한 모든 모델 가중치가 체크포인트 번들(checkpoint bundle)에 포함되어 있나요?
A: HairDeck 체크포인트와 지원 에셋은 함께 다운로드되지만, DINOv3, SAM 3, BiRefNet-matting, 그리고 Dora-VAE 가중치는 필요할 때 자체 저장소에서 가져와야 합니다.
Q: --n 4 예제는 무엇을 하나요?
A: 지정된 출력 디렉터리에 네 가지 변형(variations)을 요청합니다. 이후 해당 예제는 시드(seed) 0의 결과를 VRM 및 헤드-턴 비디오로 내보냅니다.
Q: 제공된 평가 증거는 CHARM에 대해 무엇이라고 말하나요?
A: 제공된 초록은 Chamfer distance가 44% 낮고, 카드 방향 오류(card-orientation error)가 절반 이상 감소했으며, CHARM 자체 테스트 세트에서 실행 시간이 33배 빠르다고 보고합니다. 이러한 보고된 비교 결과가 모든 사용 사례에 대한 성능을 입증하는 것은 아닙니다.
Q: HairDeck 체크포인트에는 어떤 라이선스가 적용되나요?
A: 해당 체크포인트는 Apache-2.0 하에 공개됩니다.