이 저장소에는 단일 이미지 3 : Now The Body Project의 Talking Head (?) 애니메이션에 대한 데모 프로그램이 포함되어 있습니다. 이름에서 알 수 있듯이 프로젝트를 사용하면 애니메이션 캐릭터를 애니메이션 할 수 있으며 해당 캐릭터의 단일 이미지 만 있으면됩니다. 두 가지 데모 프로그램이 있습니다.
manual_poser 사용하면 그래픽 사용자 인터페이스를 통한 호흡으로 인해 캐릭터의 얼굴 표정, 헤드 회전, 바디 회전 및 흉부 확장을 조작 할 수 있습니다.ifacialmocap_puppeteer 사용하면 안면 움직임을 애니메이션 캐릭터로 옮길 수 있습니다. 필요한 하드웨어가 없거나 (아래에서 논의 된) 코드를 다운로드하고 실행할 환경을 설정하지 않으려면 클릭하여 Google Colab에서 수동 포즈를 실행해보십시오.
두 프로그램 모두 최근의 강력한 NVIDIA GPU가 필요합니다. 나는 Nvidia Titan RTX와 함께 개인적으로 좋은 속도로 그들을 운영 할 수있었습니다. 그러나 RTX 2080, RTX 3080과 같은 최근의 고급 게임 GPU 또는 더 나은 것도 마찬가지로 그렇게 할 것이라고 생각합니다.
ifacialmocap_puppeteer 비디오 피드에서 블렌드 모양 매개 변수를 계산할 수있는 iOS 장치가 필요합니다. 이는 장치가 iOS 11.0 이상을 실행할 수 있어야하며 Truedepth 전면 카메라가 있어야 함을 의미합니다. (자세한 내용은이 페이지를 참조하십시오.) 즉, iPhone X 또는 더 나은 것이 있으면 모두 설정되어야합니다. 개인적으로 저는 iPhone 12 Mini를 사용했습니다.
GPU의 장치 드라이버를 업데이트하고 GPU와 호환되는 CUDA 툴킷을 설치하고 다음 하위 섹션에 설치할 버전보다 새롭습니다.
manual_poser 와 ifacialmocap_puppeteer 모두 데스크탑 응용 프로그램으로 제공됩니다. 그것들을 실행하려면 파이썬 언어로 작성된 프로그램을 실행하기위한 환경을 설정해야합니다. 환경에는 다음과 같은 소프트웨어 패키지가 필요합니다.
그렇게하는 한 가지 방법은 Anaconda를 설치하고 쉘에서 다음 명령을 실행하는 것입니다.
> conda create -n talking-head-anime-3-demo python=3.8
> conda activate talking-head-anime-3-demo
> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
> conda install scipy
> pip install wxpython
> conda install matplotlib
2006 년 6 월 현재 Windows에서 Python 3.10과 함께 Wxpython을 사용할 수 없습니다. 결과적 으로이 버그가 고정 될 때까지 Python 3.10을 사용하지 마십시오. 즉, 위의 목록에서 첫 번째 conda 명령에서 python=3.10 설정하지 않아야합니다.
위의 명령에 의해 생성 된 환경은 Python 버전 3.8과 Cuda Toolkit 버전 11.3으로 컴파일 된 Pytorch의 설치를 제공합니다. 이 특정 설정은 미래에 작동하지 않을 수 있습니다.이 특정 Pytorch 패키지가 새 컴퓨터에서 작동하지 않기 때문입니다. 해결책은 다음과 같습니다.

manual_poser 는 Jupyter nootbook으로도 제공됩니다. 로컬 기계에서 실행하려면 다음을 설치해야합니다.
어떤 경우에는 widgetsnbextension 도 활성화해야합니다. 그래서 달리기
> jupyter nbextension enable --py widgetsnbextension
위의 두 패키지를 설치 한 후. Anaconda를 사용하여 다음 명령으로 위의 작업을 수행했습니다.
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Anaconda를 사용하여 하나의 명령으로 모든 Python 패키지를 다운로드하여 설치할 수도 있습니다. 쉘을 열고 디렉토리를 저장소를 복제하는 위치로 변경하고 실행하십시오.
> conda env create -f environment.yml
이것은 필요한 모든 Python 패키지를 포함하는 talking-head-anime-3-demo 라는 환경을 만듭니다.
ifacialmocap_puppeteer 사용하려면 ifacialmocap (App Store에서 980 엔 구매)이라는 iOS 소프트웨어도 필요합니다. 이번에는 페어링 된 응용 프로그램을 다운로드 할 필요가 없습니다. iOS와 컴퓨터는 동일한 네트워크를 사용해야합니다. 예를 들어, 동일한 무선 라우터에 연결할 수 있습니다.
프로그램을 실행하기 전에이 Dropbox 링크에서 모델 파일을 다운로드하고 리포지토리의 루트 디렉토리 아래 data/models 폴더로 연결 해제해야합니다. 결국 데이터 폴더는 다음과 같아야합니다.
+ data
+ images
- crypko_00.png
- crypko_01.png
:
- crypko_07.png
- lambda_00.png
- lambda_01.png
+ models
+ separable_float
- editor.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_body_rotator.pt
+ separable_half
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_float
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_half
- editor.pt
:
- two_algo_face_body_rotator.pt
모델 파일은 Creative Commons Attribution 4.0 International 라이센스와 함께 배포되므로 상업적 목적으로 사용할 수 있습니다. 그러나 당신이 그들을 배포한다면, 당신은 무엇보다도 내가 창조주라고 말해야합니다.
manual_poser 데스크탑 응용 프로그램 실행껍질을 엽니 다. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> python tha3/app/manual_poser.py
위의 명령을 실행하기 전에 필요한 패키지가 포함 된 파이썬 환경을 활성화해야 할 수도 있습니다. 위에서 논의한대로 Anaconda를 사용하여 환경을 만들면 실행해야합니다.
> conda activate talking-head-anime-3-demo
환경을 아직 활성화하지 않은 경우.
프로젝트의 쓰기에서 언급했듯이 신경망 시스템의 4 가지 변형을 만들었습니다. 이를 standard_float , separable_float , standard_half 및 separable_half 라고합니다. 그들 모두는 동일한 기능을 가지고 있지만 크기, RAM 사용, 속도 및 정확도가 다릅니다. --model 명령 줄 옵션을 통해 manual_poser 프로그램이 사용하는 변형을 지정할 수 있습니다.
> python tha3/app/manual_poser --model <variant_name>
여기서 <variant_name> 위의 4 가지 이름 중 하나 여야합니다. 변형이 지정되지 않으면 standard_float 변형 (가장 크고 느린 및 가장 정확한)이 사용됩니다.
manual_poser Jupyter 노트북 실행껍질을 엽니 다. 환경을 활성화하십시오. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> jupyter notebook
브라우저 창이 열려야합니다. 그것에서 manual_poser.ipynb 엽니 다. 그렇게 한 후에는 두 개의 셀이 있음을 알 수 있어야합니다. 두 셀을 순서대로 실행하십시오. 그런 다음 문서 끝까지 아래로 스크롤하면 GUI가 표시됩니다.
첫 번째 셀에서 MODEL_NAME 변수를 변경하여 사용할 시스템 변형을 선택할 수 있습니다. 그렇게하는 경우 변형을로드하려면 두 셀을 다시 실행하고 GUI를 적절히 사용하기 위해 업데이트해야합니다.
ifacialmocap_poser 실행합니다먼저 iOS 장치에서 ifacialmocap을 실행하십시오. 장치의 IP 주소를 보여 주어야합니다. 그것을 내려 놓으십시오. 앱을 열어 두십시오.

껍질을 엽니 다. 파이썬 환경을 활성화하십시오. 작업 디렉토리를 저장소의 루트 디렉토리로 변경하십시오. 그런 다음 달리기 :
> python tha3/app/ifacialmocap_puppeteer.py
"캡처 장치 IP"라벨이있는 텍스트 상자가 표시됩니다. 당신이 저술 한 iOS 장치의 IP 주소를 작성하십시오.

"시작 캡처 시작!"을 클릭하십시오. 오른쪽 버튼.

프로그램이 제대로 연결되면 머리를 움직일 때 창의 하단 부분의 숫자가 변경됩니다.

이제 캐릭터의 이미지를로드 할 수 있으며 얼굴 움직임을 따라야합니다.
시스템이 잘 작동하기 위해 입력 이미지는 다음과 같은 제약을 준수해야합니다.

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