私的AI研究会 > TalkFace2

音声で顔画像を動かす:One Shot Talking Face(その2)

talk_01_m.jpg

 音声と1枚の顔画像を使って、顔画像がまるで話しているような動画を作成する技術「One Shot Talking Face」をローカルマシンで動かす

※ 最終更新:2024/11/17 

『One Shot Talking Face』のデモプログラム

 Windows マシン上での生成環境構築に難があるので、Linux 上で生成した結果を用いたデモプログラムを紹介する
 本プログラムは Linux生成環境では未生成の画像生成を実行できる

概要

デモ実行環境の構築

  1. 仮想環境「py38_learn」で実行する
    未作成の場合は → 『仮想環境 (py38_learn)』 の手順で仮想環境を作成

  2. プロジェクト・パッケージ project_talking-face.zip (27.1MB) <StyleGAN> をダウンロード
    ・解凍してできるフォルダ
    project_talking-face
    └─workspace_2
        └─one-shot-talking-face
            ├─results
            │  ├─phone
            │  └─text
            ├─select
            │  ├─audios
            │  └─images
            └─train
    解凍してできる「project_talking-face/」フォルダ内を次のフォルダの下に上書きコピーする
     Windows の場合 →「anaconda_win/」 Linux の場合 → 「~/」

One Shot Talking Face (GUI)「talk_face.py」

talk_01_m.jpg

音声認識エンジン pocketsphinx のテスト「talk_text.py」

talk_11_m.jpg

認識結果を日本語に翻訳する機能を追加「talk_text2.py」

talk_12_m.jpg

JSON プロセッサーツール『jq』

 

『One Shot Talking Face』ローカルマシンに環境構築

 『One Shot Talking Face を使って音声で顔画像を動かす』 をローカルマシンに移植する

実行環境の構築  Linux の場合 

  1. 仮想環境「py38_learn」で実行する
    未作成の場合は → 『仮想環境 (py38_learn)』 の手順で仮想環境を作成

  2. 大きなファイルのクローンのためのパッケージ導入
    (py38_learn) sudo apt install git-lfs

  3. pocketsphinx パッケージの導入
    (py38_learn) git clone https://github.com/cmusphinx/pocketsphinx.git
    (py38_learn) cd pocketsphinx/
    (py38_learn) cmake -S . -B build
    (py38_learn) cmake --build build
    (py38_learn) sudo cmake --build build --target install
    (py38_learn) pocketsphinx
    Usage: pocketsphinx [PARAMS] [soxflags | config | help | help-config | live | single | align] INPUTS...
    Examples:
        sox input.mp3 $(pocketsphinx soxflags) | pocketsphinx single -
        sox -qd $(pocketsphinx soxflags) | pocketsphinx live -
        pocketsphinx single INPUT
        pocketsphinx align INPUT WORDS...
    
    For detailed PARAMS values, run pocketsphinx help-config

  4. GitHub サイトからプロジェクトをダウンロード
    (py38_learn) git clone https://huggingface.co/camenduru/pocketsphinx-20.04-t4 pocketsphinx

  5. プロジェクト・パッケージ project_talking-face.zip (27.1MB) <StyleGAN> をダウンロード
    ・解凍してできるフォルダ
    project_talking-face
    └─workspace_2
        └─one-shot-talking-face
            ├─results
            │  ├─phone
            │  └─text
            ├─select
            │  ├─audios
            │  └─images
            └─train
    解凍してできる「project_talking-face/」フォルダ内を「~/」フォルダの下に上書きコピーする

  6. 不足しているパッケージの導入
    (py38_learn) sudo apt install jq
    (py38_learn) pip install python_speech_features
    (py38_learn) pip install pyworld
  7. 「numpy」アップグレード → エラー対応
    (py38_learn_test) pip install numpy==1.23.0

画像生成までの確認

 

対処した問題点とエラー詳細

ValueError: numpy.ndarray size changed,

OSError: [Errno 8] Exec format error:

 

更新履歴

 

参考資料