인공지능
‘나쁨 머리카락 날’을 인간 이미지 합성에서 해결하기

로마 조각의 황금 시대 이후로 인간의 머리카락을 묘사하는 것은 가시적인 도전이 되어왔다. 평균적인 인간의 머리카락에는 10만 개의 머리카락이 있으며, 색상에 따라 굴절률이 다르며,一定 길이를 넘으면 복잡한 물리 모델로만 시뮬레이션할 수 있는 방식으로 움직이고 재구성된다. 이러한 물리 모델은 현재까지는 ‘전통적인’ CGI 방법론을 통해만 적용할 수 있다.

2017년 디즈니 연구에서, 물리 기반 모델이 CGI 워크플로우에서 유동적인 헤어 스타일에 실제적인 움직임을 적용하려고 시도한다. 출처: https://www.youtube.com/watch?v=-6iF3mufDW0
이 문제는 현대의 인기 있는 딥페이크 방법으로 충분히 해결되지 않는다. 몇 년 동안, 주요 패키지인 DeepFaceLab에는 ‘전체 헤드’ 모델이 있었는데, 이는剛性 구현으로 짧은(通常 남성의) 헤어 스타일만을 캡처할 수 있었다. 그리고 최근에 DFL의 동료 패키지인 FaceSwap(두 패키지는 모두 2017년의 논란이 된 DeepFakes 소스 코드에서 파생됨)은 BiseNet 시맨틱 세그멘테이션 모델의 구현을 제공하여 사용자가 딥페이크 출력에 귀와 헤어를 포함할 수 있게 했다.
그러나 매우 짧은 헤어 스타일을 묘사하는 경우에도, 결과는 품질이 매우 제한적이다. 전체 헤드가 영상에 통합되지 않고 대신 영상 위에 겹쳐진 것으로 나타난다.
GAN 헤어
인간 시뮬레이션의 두 가지 주요 경쟁 접근 방식은 Neural Radiance Fields(NeRF)와 Generative Adversarial Networks(GANs)이다. NeRF는 여러 관점에서 장면을 캡처하고 이러한 관점의 3D 표현을 탐색 가능한 신경 네트워크에 캡슐화할 수 있다. 그러나 GANs는 인간 이미지 합성에서 훨씬 더 발전되어 있다(최소한 NeRF는 2020년에 등장했기 때문이다).
NeRF의 추론된 3D 기하학 이해는 장면을 높은 신뢰도와 일관성으로 복제할 수 있게 한다. 그러나 물리 모델의 적용이나 데이터에 대한 다른 종류의 변환에는 거의 또는 전혀 범위가 없다. 현재, NeRF는 인간 헤어의 움직임을 재현하는 능력이 매우 제한적이다.
NeRF와 같은 GAN 기반의 대안은 거의 치명적인 불이익을 갖는다. NeRF와는 달리, GAN의 잠재 공간에는 3D 정보에 대한 이해가 내장되어 있지 않다. 따라서 3D 인식 가능한 GAN 얼굴 이미지 합성은 최근 몇 년 동안 이미지 생성 연구에서 뜨거운 추격 대상이 되었다. 2019年的 InterFaceGAN은 주요한 돌파구 중 하나이다.
그러나 InterFaceGAN의 결과는 여전히 시간적 일관성에 대한 어려운 도전을 나타낸다.

InterFaceGAN의 포즈 변환에서 ‘스핑크스’ 헤어. 출처: https://www.youtube.com/watch?v=uoftpl3Bj6w
-latent 공간만을 조작하여 일관된 뷰를 생성하는 것이 알케미와 같은 추구일 수 있게 되면서, 점점 더 많은 논문들이 GAN 워크플로우에 CGI 기반의 3D 정보를 통합하는 것이 나타나고 있다.
CGI 요소는 Skinned Multi-Person Linear Model(SMPL)과 같은 중간 3D 프리미티브 또는 NeRF와 유사한 3D 추론 기술을 통해 표현될 수 있다.
이러한 방식의 새로운 연구 중 하나는 Multi-View Consistent Generative Adversarial Networks for 3D-aware Image Synthesis(MVCGAN)이다. MVCGAN은 ReLER, AAII, 시드니 공과대학교, Alibaba Group의 DAMO 아카데미, 그리고 浙江大學의 협력 연구이다.

MVCGAN이 CELEBA-HQ 데이터셋에서 생성한 신뢰할 수 있는 신규 얼굴 포즈. 출처: https://arxiv.org/pdf/2204.06307.pdf
MVCGAN은 GAN에서 기하학적 제약을 제공할 수 있는 생성 라디언스 필드 네트워크(GRAF)를 통합한다. 이는 다른 GAN 기반 접근 방식 중에서 가장 실제적인 포즈 생성 능력을 달성하는 것으로 주장된다.
그러나 MVCGAN의 보충 자료는 헤어 볼륨, 배치, 위치 및 행동 일관성을 얻는 것이 외부로 부과된 3D 기하학에 기반한 제약을 통해 쉽게 해결될 수 없는 문제임을 보여준다.

MVCGAN의 얼굴 포즈 합성이 현재 상태에서 큰 발전을 나타낸다. 그러나 시간적 헤어 일관성은 여전히 문제이다.
CGI 워크플로우는 여전히 시간적 헤어 재구성을 큰 도전으로 여긴다. 따라서 이러한 기하학 기반 접근 방식이 잠재 공간에 일관된 헤어 합성을 가져올 수 있을 것으로 보이지 않는다.
컨볼루션 신경 네트워크로 헤어 안정화
스웨덴의 Chalmers Institute of Technology의 세 명의 연구자들이 발표한 即将公開 논문은 신경 헤어 시뮬레이션에 추가적인 발전을 제공할 수 있다.

왼쪽: CNN으로 안정화된 헤어 표현, 오른쪽: 실제 헤어. 출처: https://www.youtube.com/watch?v=AvnJkwCmsT4
이 논문은 Real-Time Hair Filtering with Convolutional Neural Networks라는 제목을 가지고 있다. 이 시스템은 오토인코더 기반 네트워크로 실시간으로 헤어 분해능을 평가할 수 있다. 이는 자기 그림자와 헤어 두께를 고려하여 OpenGL 기하학으로부터 시드된 제한된 수의 스토캐스틱 샘플을 기반으로 한다.
이 접근 방식은 제한된 수의 샘플을 스토캐스틱 투명度로 렌더링하고 원래 이미지를 재구성하기 위해 U-net을 훈련한다.

MVCGAN에서, CNN이 스토캐스틱 샘플링된 색상 요인, 하이라이트, 탄젠트, 깊이 및 알파를 필터링하여 합성된 결과를 구성한다.
네트워크는 PyTorch에서 훈련되며, 6~12시간 동안 수렴한다. 훈련된 파라미터(가중치)는 실시간 구현에서 사용된다.
훈련 데이터는 수백 개의 이미지를 렌더링하여 생성된다. 이는 直線 및 波狀 헤어 스타일을 사용하여 랜덤한 거리와 포즈, 다양한 조명 조건으로 생성된다.

다양한 훈련 입력 예시.
샘플링된 헤어 투명도는 스토캐스틱 투명도와 초샘플링된 해상도로 렌더링된 이미지에서 평균화된다. 원래의 높은 해상도 데이터는 네트워크와 하드웨어 제한을 수용하기 위해 다운샘플링되고, 후에 업샘플링된다.
실시간 추론 애플리케이션은 NVIDIA CUDA와 cuDNN, OpenGL의 혼합을 사용한다. 초기 입력 특징은 OpenGL 멀티샘플링된 색상 버퍼에 덤프되고, 결과는 cuDNN 텐서로 처리된 후 최종 이미지에 통합된다.
실시간 시스템은 NVIDIA RTX 2080에서 작동하며 1024×1024 픽셀의 해상도를 생성한다.
헤어 색상 값은 네트워크에서 얻은 최종 값에서 완전히 분리되어 있으므로 헤어 색상을 변경하는 것은 간단한 작업이다. 그러나 그라디언트와 스트립스와 같은 효과는 아직 미래의 도전이다.

저자들은 논문의 평가에서 사용된 코드를 GitLab에 공개했다. 아래의 MVCGAN의 보충 비디오를 확인하십시오.
결론
오토인코더 또는 GAN의 잠재 공간을 탐색하는 것은 아직도 항해와 더 비슷하다. 최근에 우리는 NeRF, GANs, 및 non-deepfake(2017) 오토인코더 프레임워크와 같은 접근 방식에서 신뢰할 수 있는 결과를 볼 수 있게 되었다.
인간 헤어의 상당한 구조적 복잡성과 물리 모델 및 기타 특성을 통합해야 하는 필요성은 헤어 합성이 일반적인 얼굴 합성의 통합 구성 요소로 남아 있지 않을 것임을 나타낸다. 대신, 헤어 합성은 专用 네트워크를 필요로 할 것이다. 이러한 네트워크는 궁극적으로 더 큰 얼굴 합성 프레임워크에 통합될 수 있다.
最初에 2022년 4월 15일에 公開。











