1枚のポートレート画像と音声クリップから、3Dモーション係数で駆動するトーキングヘッド動画を生成します(CVPR 2023)。
fudan-generative-vision/hallo
音声に合わせてポートレート写真をしゃべらせ、MP4動画を生成するオープンソースの研究用コード。
- スター
- 8,674
- フォーク
- 1,118
- 未解決の Issue
- 114
- 最終コミット
- 2 年前
これは何?
Halloは、1枚のポートレート画像とWAV音声ファイルから、しゃべる人物の動画を生成します。音声に合わせて表情、頭の向き、唇の動きを制御するため、静止画が録音音声に合わせて話しているように見せられます。推論はコマンドラインからscripts/inference.pyを実行して行い、出力はMP4ファイルとして保存されます。
このプロジェクトは拡散モデルを基盤としており、AnimateDiffのモーションモジュールを組み合わせたStable Diffusion v1.5に加え、顔の解析にInsightFaceとMediaPipe、音声特徴量の抽出にWav2Vecを使用します。ポーズ、顔、唇の動きの重みと顔の拡大率を調整することで、生成結果をチューニングできます。2段階の学習スクリプトとデータの前処理ツールも含まれています。
ドキュメントに記載された動作環境は、CUDA 12.1とA100 GPUを搭載したUbuntuです。入力画像は正方形で、顔がフレームの50%~70%を占め、正面を向いている必要があります。学習データは英語のみのため、入力音声には明瞭な英語の音声をWAV形式で用意してください。
主な機能
- 011枚の画像と1つのWAV音声ファイルから、ポートレートが話す動画を生成します。
- 02コマンドラインの重み指定で、ポーズ、顔、唇の動きの強さを調整できます。
- 032段階の学習スクリプトとデータ前処理パイプラインを備えています。
- 04AnimateDiffのモーションモジュールを組み合わせたStable Diffusion v1.5を基盤としています。
- 05学習済みモデルをHugging Faceから入手できます。
ユースケース
- 音声駆動の顔アニメーションやトーキングヘッド生成を研究する研究者。
- 録音した英語のナレーションに合わせて、ポートレート写真を話させたいクリエイター。
- 独自の動画データでポートレートアニメーションモデルを学習させたい開発者。
クイックスタート
- 1
conda環境を作成して有効化する
conda create -n hallo python=3.10 && conda activate hallo - 2
pipでPythonパッケージをインストールする
pip install -r requirements.txt && pip install . - 3
ffmpegをインストールする(必須。Ubuntuの例)
apt-get install ffmpeg - 4
学習済みモデルをpretrained_modelsディレクトリにダウンロードし、サンプル画像と音声で推論を実行する
python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
使う前に知っておきたいこと
- CUDA GPUが必要です。READMEでのテスト環境はUbuntu 20.04/22.04、CUDA 12.1、A100のみです。
- 推論を実行するには、数GBの学習済みモデルをダウンロードする必要があります。
- 学習データは英語のみのため、入力音声は英語のWAV形式である必要があります。
- 入力画像は正方形で正面を向いたポートレートとし、顔がフレームの50~70%を占める必要があります。
収録されている特集
トピック
よくある質問
- hallo とは?
- 音声に合わせてポートレート写真をしゃべらせ、MP4動画を生成するオープンソースの研究用コード。 Halloは、1枚のポートレート画像とWAV音声ファイルから、しゃべる人物の動画を生成します。音声に合わせて表情、頭の向き、唇の動きを制御するため、静止画が録音音声に合わせて話しているように見せられます。推論はコマンドラインからscripts/inference.pyを実行して行い、出力はMP4ファイルとして保存されます。
- hallo は無料で使えますか?ライセンスは?
- hallo は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hallo は今もメンテナンスされていますか?
- 半年以上コミットなし。hallo の最終コミットは 2024年9月14日 です。
- hallo は何に使えますか?
- 音声駆動の顔アニメーションやトーキングヘッド生成を研究する研究者。 録音した英語のナレーションに合わせて、ポートレート写真を話させたいクリエイター。 独自の動画データでポートレートアニメーションモデルを学習させたい開発者。
- hallo のインストール方法は?
- conda環境を作成して有効化する: conda create -n hallo python=3.10 && conda activate hallo pipでPythonパッケージをインストールする: pip install -r requirements.txt && pip install . ffmpegをインストールする(必須。Ubuntuの例): apt-get install ffmpeg 学習済みモデルをpretrained_modelsディレクトリにダウンロードし、サンプル画像と音声で推論を実行する: python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
- hallo はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/fudan-generative-vision/hallo
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
14B拡散モデルを基盤に、ストリーミングで長さ無制限の音声駆動アバター動画を生成するオープンソース研究フレームワーク。
録画したトーク動画と台本から、AI音声と自動リップシンク付きの縦型MP4をローカルで生成
テキスト・画像・音声からの動画生成やキャラクターアニメーションに対応した、大規模なオープンソース動画生成モデル。
Mochi 1は、GenmoがApache 2.0ライセンスで公開した、オープンウェイトの10Bテキスト動画生成拡散モデルです。
参照画像とキーボードやマウスの入力から、操作可能なゲーム風動画を生成するオープンソースモデル。