見出し画像

Talking Head Anime from a Single Image 3 で フェイストラッキング

「Talking Head Anime from a Single Image 3」で フェイストラッキングを試したので、まとめました。

・Windows 11
・iPhone 12
(iOS 16.2)
・iFacialMocap

前回

1. Talking Head Anime from a Single Image 3

「Talking Head Anime from a Single Image 3」は、1枚の2Dキャラクター画像をアニメーションさせるAIモデルです。バージョン3からは、上半身もアニメーションさせることができるようになりました。

「Talking Head Anime from a Single Image 3」では、2つのデモプログラムが提供されています。

・manual_poser : GUIのスライダーで、キャラクターの顔の表情、頭の向き、体の向きを操作
・ifiacialmocap_puppeteer : iPhoneカメラに写った顔と体の動きから、キャラクターの顔の表情、頭と体の向きを操作

今回は、ローカルのWindowsマシンで、「ifiacialmocap_puppeteer」を試してみます。

2. ハードウェア要件

ローカルマシンで「ifiacialmocap_puppeteer」を動かすには、NvidiaのGPU が必要です。Nvidia Titan RTXで動作確認されています。RTX 2080、RTX 3080、それ以上のGPU でも同様に機能すると思われます。

また、「ifacialmocap_puppeteer」は、iPhone端末からBlendShapeの情報をPCに送って貰う必要があります。TrueDepthカメラを持つiPhoneX以降の端末が必要になります。

3. インストール

PCでの「ifacialmocap_puppeteer」のインストール手順は、次のとおりです。

(1) 「Miniconda」のインストール。
「Miniconda」は、Anacondaの最小構成版のインストーラーです。

(2) リポジトリのクローンとカレントフォルダへの移動。

$ git clone https://github.com/pkhungurn/talking-head-anime-3-demo
$ cd talking-head-anime-3-demo

(3) パッケージのインストール。
Anacondaの仮想環境が生成されます。

$ conda env create -f environment.yml

(4) Anacondaの仮想環境にアクティブ化。

$ conda activate talking-head-anime-3-demo

(5) ここからモデルをダウンロードし、解凍し、以下のように「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

4. iFacialMocapの実行

iFacialMocapは、iPhoneのカメラで表情をキャプチャし、PC上のソフトウェアに通知するiPhoneアプリです。有料で1000円になります。

(1) iPhoneにiFacialMocapをインストール。

(2) iFacialMocapを起動。
画面上に表示されているIPが、PCからの接続先になります。

5. ifacialmocap_puppeteerの実行

「ifacialmocap_puppeteer」の実行手順は、次のとおりです。

(1) Anacondaの仮想環境で以下のコマンドを実行。

$ python tha3/app/ifacialmocap_puppeteer.py

(2) ウィンドウが起動したら、上のテキストフィールドに「iFacialMocap」(を実行しているiPhone)のIPを入力し、「START CAPTURE!」ボタンを押す。
成功すると、画面下端のパラメータの数値が動きます。

うまく接続されない時は、以下を確認してください。

・PCとiPhoneは同じWiFiネットワークに接続。
・ファイヤーウォールが通信を邪魔してないか確認。

自分の場合は、「Windows Defender」を使ってたので、パブリックネットワークではUDP受信できなかったため、プライベートネットワークに切り替える必要がありました。

(3) 「Load Image」ボタンでイメージを読み込み。
前回と同じ画像を読み込みます。

成功すると、自分の顔と上半身の動きにあわせて、キャラクターが動きます。

6. 関連



この記事が気に入ったらサポートをしてみませんか?