はじめに
こんにちは!今回は、Halloを使って音声から肖像画像のアニメーションを生成する方法を初心者向けに解説します。HalloはHierarchical Audio-Driven Visual Synthesisの略で、音声からリアルな表情付きの顔画像アニメーションを作れる画期的な技術です。
プログラミングが苦手な方でも大丈夫。この記事を読み進めていけば、誰でも簡単にHalloを使いこなせるようになります。それでは、さっそく始めていきましょう!
事前準備
Halloを使うには、いくつかの事前準備が必要です。Ubuntu 20.04もしくは22.04が入ったGPU付きのマシンを用意してください。
環境構築
まずは、Pythonの仮想環境を作ります。以下のコマンドを実行しましょう。
# condaで仮想環境halloを作成
conda create -n hallo python=3.10
# 仮想環境halloをアクティベート
conda activate hallo
次に、必要なPythonパッケージをインストールします。
# 必要パッケージをインストール
pip install -r requirements.txt
pip install .
最後に、ffmpegもインストールしておきます。
# ffmpegをインストール
apt-get install ffmpeg
これで環境構築は完了です。お疲れ様でした!
学習済みモデルのダウンロード
Halloの推論には、いくつかの学習済みモデルが必要です。HuggingFaceのレポジトリから一括でダウンロードできるので、以下のコマンドを実行しましょう。
# Git LFSをインストール
git lfs install
# HalloのHuggingFaceレポを学習済みモデル用ディレクトリにクローン
git clone https://huggingface.co/fudan-generative-ai/hallo pretrained_models
これで、推論に必要な学習済みモデルの準備ができました。
推論の実行
いよいよHalloで推論を実行します。scripts/inference.py
を使うことで簡単に推論できます。
推論コマンドの実行
以下のコマンドを実行して、入力画像(your_image.png
)と音声(your_audio.wav
)からアニメーションを生成しましょう。
# 推論を実行
python scripts/inference.py \
--source_image your_image.png \
--driving_audio your_audio.wav
生成されたアニメーションは、デフォルトでは${PROJECT_ROOT}/.cache/output.mp4
に保存されます。--output
オプションで出力ファイル名を指定することもできます。
オプションの設定
推論時には、ポーズ・顔・唇の重みなどを調整できます。よりこだわりたい方は、以下のオプションを試してみてください。
# 使用可能なオプション一覧
--pose_weight POSE_WEIGHT # ポーズの重み(デフォルト1.0)
--face_weight FACE_WEIGHT # 顔の重み(デフォルト1.0)
--lip_weight LIP_WEIGHT # 唇の重み(デフォルト1.0)
--face_expand_ratio FACE_EXPAND_RATIO # 顔領域の拡大率(デフォルト1.2)
例えば、ポーズの動きを強調したければ--pose_weight
の値を大きくします。唇の動きを強調したい場合は--lip_weight
の値を大きくしましょう。
まとめ
今回は、HalloでAI肖像画像アニメーションを作る方法を初心者向けに解説しました。手順をまとめると以下のようになります。
- Ubuntu環境を用意
- Pythonの仮想環境を作成
- 必要パッケージとffmpegをインストール
- 学習済みモデルをダウンロード
- 推論コマンドを実行
肖像画像と音声を用意するだけで、簡単にリアルなアニメーションが作れるのはとても面白いですよね。ぜひ色々な画像や音声で試してみてください。
今回学んだ知識を応用すれば、人物の歌唱動画や会話アニメーションなども作れるようになります。想像力を働かせて、面白いコンテンツ作りにチャレンジしてみましょう!
コメント