AI가 30,000개의 가닥으로 실시간 3D 헤어 렌더링을 구동합니다.
- 연구원들은 2D 이미지에서 완전한 3D 머리카락 형상을 생성할 수 있는 신경망을 개발했습니다.
- 네트워크는 밀리초 안에 최대 30,000개의 머리카락을 렌더링할 수 있습니다.
- 웨이브, 곱슬, 직모를 포함한 다양한 헤어스타일을 원활하게 샘플링하고 보간할 수 있습니다.
가상 인간을 디지털화할 때 기계에서 사실적인 머리카락을 렌더링하는 것은 아마도 가장 어려운 작업일 것입니다. 눈, 코, 귀와 같은 다른 물체에 비해 머리카락은 다양한 모양 변형을 포함하며 각 단일 가닥의 변형 수준과 체적 구조로 인해 매우 복잡할 수 있습니다.
기존 시스템이 고품질 3D 헤어 모델을 생성할 수 없는 것은 아니지만 일반적으로 쉽게 배포할 수 없는 특정 하드웨어 및 소프트웨어 설정이 필요합니다. 일부 최신 기술은 데이터 기반 접근 방식을 활용하지만 메모리 공간이 제한된 실시간 애플리케이션 및 시스템에는 적합하지 않습니다.
이제 Microsoft, Pinscreen 및 University of Southern California의 연구원들은 2D 이미지에서 실시간으로 완전한 3D 머리카락 형상을 생성할 수 있는 딥 러닝 모델을 구축했습니다.
포인트 클라우드나 볼류메트릭 그리드 형태의 구조를 합성하는 대신 머리카락 한 가닥을 직접 생성합니다. 이 방법은 비다양체 구조에 더 적합하며 더 높은 세부 정보와 정확성을 제공할 수 있습니다.
헤어넷
HairNet이라고 불리는 신경망은 3D 머리카락 기하학을 지속적으로 생성하고 표현할 수 있습니다. 웨이브, 곱슬, 직모 등 다양한 헤어스타일을 원활하게 샘플링하고 보간할 수 있습니다.
신경망 파이프라인은 전처리, 머리카락 생성, 재구성의 3단계로 구성됩니다.
HairNet에는 2D 이미지에서 머리카락의 높은 수준의 특징(벡터 형태)을 추출하기 위한 컨벌루션 인코더와 두피에 고르게 분포된 32*32 가닥 특징을 생성하기 위한 디컨볼루션 디코더가 포함되어 있습니다. 이러한 가닥 특징은 두피 공간에 보간되어 최종적으로 일련의 3D 포인트로 표시됩니다.
네트워크 아키텍처 | 연구원 제공
렌더링된 헤어스타일을 보다 그럴듯한 공간으로 밀어넣기 위해 연구자들은 신체 모델과 머리카락 사이에 '재구성 손실'과 '충돌 손실'을 도입했습니다. 입력 이미지를 가중치로 사용하여 손실을 조절함으로써 정확도가 더욱 향상되었습니다.
교육
연구원들은 40,000개의 헤어스타일과 무작위 시점에서 촬영한 160,000개의 2차원 사진이 포함된 대규모 데이터세트에서 신경망을 훈련했습니다. 그런 다음 네트워크는 단일 2D 사진에서 다양한 스타일, 색상, 길이의 3D 머리카락을 재생성하는 방법을 학습했습니다.
HairNet을 사용하여 2D 이미지에서 머리카락 렌더링 | 연구원 제공
AI는 CUDA 심층 신경망 라이브러리로 구동되는 PyTorch 프레임워크를 갖춘 Nvidia Titan Xp GPU(그래픽 처리 장치)에서 훈련되었습니다.
참조: arXiv:1806.07467
밀리초 안에 최대 30,000개의 머리카락을 렌더링할 수 있습니다. 또한 비디오를 모방하고 각 가닥을 렌더링할 수 있으며 모두 서로 상호 작용합니다.
향후 작업
팀은 그들의 기술이 아직 완벽하지 않다고 결론지었습니다. 아프로 컷, 킨키 컷, 버즈컷 같은 이국적인 헤어스타일은 처리할 수 없습니다. 그러나 더 많은 변형이 포함된 대규모 데이터 세트로 네트워크를 훈련하면 이 문제를 해결할 수 있습니다.
읽기:AI는 누구나 어떤 자세로든 포즈를 취하게 할 수 있습니다 | 보이지 않는 포즈의 인간 이미지 합성
또한 주어진 이미지에서 머리카락이 약간 가려지면 이 기술이 실패합니다. 따라서 그들은 앞으로 더 많은 무작위 폐색을 통합하여 훈련 데이터세트를 개선할 계획입니다.