이 저장소에는 단일 이미지 2 : More Expressive Project의 Talking Head 애니메이션에 대한 데모 프로그램이 포함되어 있습니다. 이전 버전과 유사하게 두 가지 프로그램이 있습니다.
manual_poser 사용하면 그래픽 사용자 인터페이스를 통해 단일 이미지로 제공되는 애니메이션 문자의 얼굴 표정과 헤드 회전을 조작 할 수 있습니다. Poser는 표준 GUI 응용 프로그램과 Jupyter 노트북의 두 가지 형태로 제공됩니다.ifacialmocap_puppeteer 사용하면 Ifacialmocap이라는 상업적 iOS 응용 프로그램으로 캡처 한 얼굴 모션을 애니메이션 캐릭터의 이미지로 전송할 수 있습니다. 필요한 하드웨어가 없거나 (아래에서 논의 된) 코드를 다운로드하고 실행할 환경을 설정하지 않으려면 클릭하여 Google Colab에서 수동 포즈를 실행해보십시오.
두 프로그램 모두 최근의 강력한 NVIDIA GPU가 필요합니다. 나는 Nvidia Titan RTX와 함께 개인적으로 좋은 속도로 그들을 운영 할 수있었습니다. 그러나 RTX 2080, RTX 3080과 같은 최근의 고급 게임 GPU 또는 더 나은 것도 마찬가지로 그렇게 할 것이라고 생각합니다.
ifacialmocap_puppeteer 비디오 피드에서 블렌드 모양 매개 변수를 계산할 수있는 iOS 장치가 필요합니다. 이는 장치가 iOS 11.0 이상을 실행할 수 있어야하며 Truedepth 전면 카메라가 있어야 함을 의미합니다. (자세한 내용은이 페이지를 참조하십시오.) 즉, iPhone X 또는 더 나은 것이 있으면 모두 설정되어야합니다. 개인적으로 저는 iPhone 12 Mini를 사용했습니다.
두 프로그램 모두 Python 3에서 작성되었습니다. GUI를 실행하려면 다음 소프트웨어 패키지가 필요합니다.
특히, 나는 다음 명령을 사용하여 Anaconda로 프로그램을 실행하기위한 환경을 만들었습니다.
> conda create -n talking-head-anime-2-demo python=3.8
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
참고 : 특정 버전의 Python (3.8) 및 Cuda Toolkit (10.2)이 특정 컴퓨터 설정에서는 작동하지 않을 수 있습니다. 이 경우이 버전을 하드웨어로 작동하는 버전으로 바꾸십시오. 명령은 다음과 같습니다.
> conda create -n talking-head-anime-2-demo python=[YOUR-PYTHON-VERSION]
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=[YOUR-CUDA-TOOLKIT-VERSION] -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
일반적으로 Pytorch 웹 사이트에 표시된 최신 버전의 Python과 최신 버전의 CUDA 툴킷이 작동합니다.
manual_poser 의 Jupyter 노트북 버전을 실행하려면 다음과 같은 필요가 있습니다.
즉, 위의 명령 외에도 실행해야합니다.
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
마지막으로, ifacialmocap_puppeteer IFACIalMoCap을 필요로하며, 이는 App Store에서 980 엔을 위해 사용할 수 있습니다. 또한 PC 또는 Mac에 페어링 된 데스크탑 응용 프로그램을 설치해야합니다. (Linux 사용자, 죄송합니다!) iOS와 컴퓨터도 동일한 네트워크를 사용해야합니다. (예를 들어, 동일한 무선 라우터에 연결할 수 있습니다.)
Anaconda를 사용하여 하나의 명령으로 모든 Python 패키지를 다운로드하여 설치할 수도 있습니다. 쉘을 열고 디렉토리를 저장소를 복제하는 위치로 변경하고 실행하십시오.
conda env create -f environment.yml
이것은 필요한 모든 Python 패키지를 포함하는 talking-head-anime-2-demo 라는 환경을 만듭니다.
프로그램을 실행하기 전에이 Dropbox 링크에서 모델 파일을 다운로드하여 리포지토리 디렉토리의 data 폴더로 연결 해제해야합니다. 결국 data 폴더는 다음과 같아야합니다.
+ data
+ illust
- waifu_00.png
- waifu_01.png
- waifu_02.png
- waifu_03.png
- waifu_04.png
- waifu_05.png
- waifu_06.png
- waifu_06_buggy.png
- combiner.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_rotator.pt
모델 파일은 Creative Commons Attribution 4.0 International 라이센스와 함께 배포되므로 상업적 목적으로 사용할 수 있습니다. 그러나 당신이 그들을 배포한다면, 당신은 무엇보다도 내가 창조주라고 말해야합니다.
manual_poser 데스크탑 응용 프로그램 실행껍질을 엽니 다. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> python tha2/app/manual_poser.py
위의 명령을 실행하기 전에 필요한 패키지가 포함 된 파이썬 환경을 활성화해야 할 수도 있습니다. 위에서 논의한대로 Anaconda를 사용하여 환경을 만들면 실행해야합니다.
> conda activate talking-head-anime-2-demo
환경을 아직 활성화하지 않은 경우.
manual_poser Jupyter 노트북 실행껍질을 엽니 다. 환경을 활성화하십시오. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> jupyter notebook
브라우저 창이 열려야합니다. 그것에서 tha2.ipynb 엽니 다. 그렇게 한 후에는 셀이 하나만 있다는 것을 알 수 있습니다. 실행하십시오. 그런 다음 문서 끝까지 아래로 스크롤하면 GUI가 표시됩니다.
ifacialmocap_puppeteer 실행합니다먼저 iOS 장치에서 ifacialmocap을 실행하십시오. 장치의 IP 주소를 보여 주어야합니다. 그것을 내려 놓으십시오. 앱을 열어 두십시오.

그런 다음 동반자 데스크탑 응용 프로그램을 실행하십시오.

"Advanced Setting >>"을 클릭하십시오. 응용 프로그램이 확장되어야합니다.

오른쪽에 "Maya"라는 버튼을 클릭하십시오.

그런 다음 "블렌더"를 클릭하십시오.

그런 다음 왼쪽의 IP 주소를 iOS 장치의 IP 주소로 교체하십시오.

"Blender에 연결하십시오"를 클릭하십시오.

껍질을 엽니 다. 환경을 활성화하십시오. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> python tha2/app/ifacialmocap_puppeteer.py
프로그램이 올바르게 연결된 경우 ifacialmocap_puppeteer 창의 맨 아래에있는 많은 진행률 막대가 iOS 장치의 전면 카메라 앞에서 얼굴을 움직일 때 움직일 때 움직여야합니다.

모든 것이 잘되면 캐릭터 이미지를로드하면 얼굴 움직임을 따라야합니다.
모델이 잘 작동하기 위해 입력 이미지는 다음과 같은 제약을 준수해야합니다.
그러나 입력 이미지의 크기에 관계없이 프로그램은 항상 256x256으로 크기를 조정하고 항상 256x256 이미지를 출력합니다. 이것은 시스템의 본질적인 한계입니다.

이 저장소의 코드에서 학업 작업이 혜택을 받으면 다음과 같이 프로젝트의 웹 페이지를 인용하십시오.
Pramook Khungurn. 단일 이미지에서 말하는 머리 애니메이션 2 : 더 표현력. http://pkhungurn.github.io/talking-head-anime-2/, 2021. 액세스 : yyyy-mm-dd.
다음 Bibtex 항목을 사용할 수도 있습니다.
@misc{Khungurn:2021,
author = {Pramook Khungurn},
title = {Talking Head Anime from a Single Image 2: More Expressive},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-2/}},
year = 2021,
note = {Accessed: YYYY-MM-DD},
}
저자는 Google Japan의 직원이지만이 소프트웨어는 Google 제품이 아니며 Google에서 지원하지 않습니다.
이 소프트웨어의 저작권은 IARC 프로세스를 사용하여 요청한대로 나에게 속합니다. 그러나 Google 은이 발명의 지적 재산에 대한 권리를 주장 할 수 있습니다.
코드는 MIT 라이센스에 따라 릴리스됩니다. 이 모델은 Creative Commons Attribution 4.0 International License에 따라 출시됩니다.