【ローカルAI生成】FacePokeで表情を作る【リアルタイム】
はじめに
AI画像生成界隈では、日々さまざまな技術が発表されています。この記事では、その中のひとつのローカルで実行可能なFacePokeというものを試してみます。
FacePokeとは
公式リポジトリはこちら、
任意の画像に対して、マウスで簡単に表情を変える事ができます。
huggingface上のライブ・デモもあります。
仕組みはLivePortraitを利用しているとの事。動画ではなく、マウスでグリグリできるようになっています。
導入方法
【注意】2024年10月9日現在FacePokeのリポジトリ・ソースにはバグがあり修正しないと動作しません。リポジトリのIssuesに報告されています。
記事作成中に修正済みとなったので、たぶん問題ないと思いますが。
公式リポジトリのREADMEにはLinuxしか確認していないとありますが、Windows 11で動作しました。
Anacondaを利用した導入方法
Anacondaの詳細は下記事で紹介しています。
① 作業フォルダ(インストール先)を作ります
c:
mkdir C:\facepoke.d
cd C:\facepoke.d
② Anacondaで仮想環境を作ります
Pythonバージョンは3.10指定とあります
conda create -n face-poke python=3.10
conda activate face-poke
③ gitをインストール
conda install git
④ リポジトリをクローン
git clone https://github.com/jbilcke-hf/FacePoke.git
cd FacePoke
⑤ (face-poke)仮想環境である事を確認した後、pipコマンドで必要なパッケージをインストール
pip3 install --upgrade -r requirements.txt
⑥ Windows版 bunコマンドを導入
(Pythonパッケージ管理のフレームワークから外れる)余計なインストールを避けたい場合は、Dockerファイルも用意されているので、自分でビルドする必要がありますが、Docker版の方が良いかもしれません。
powershell -c "irm bun.sh/install.ps1 | iex"
変更された環境変数を適用するため、Anaconda Promptを一度閉じます。再度Anaconda Promptを起動して仮想環境に入り、同じフォルダへ移動します。
c:
cd C:\facepoke.d\FacePoke
conda activate face-poke
⑦ フロントエンドの設定
cd client
bun install
bun build ./src/index.tsx --outdir ../public/
⑧ サーバーの起動
cd ..
python app.py
⑨ ブラウザから「http://localhost:8080」で動作確認
ポート番号を変えたい場合は、app.pyを編集すれば変更できます。
【追記:2024年10月9日】
バグはまだ修正されていないようなので、記載しておきます。
「client\src\lib\facePoke.ts」のファイル53行目、
this.ws = new WebSocket(`wss://${window.location.host}/ws`);
のwssをwsに変更してください。
this.ws = new WebSocket(`ws://${window.location.host}/ws`);
その後、⑦を再度実行します。
bun build ./src/index.tsx --outdir ../public/
動作確認
Show face landmarks on hoverをチェックすると、変更する場所がわかりやすくなります。マウスでグリグリするとカクカクしますが(RTX3060)、リアルタイムで扱えます。
まとめ
やはりマウスで直感的に表情を変更できるのは便利だと思います。
以下、関連する記事の【PR】です。