これは、サリー大学の Wish Suharitdamrong の最終年度プロジェクト、中間ランドマーク表現による視聴覚リップ合成のテーマに関するコンピュータ サイエンス学士 3 年目のコード実装です。
オンラインデモンストレーションは?で利用できます。ハグ顔
conda または pip を使用してパッケージをインストールするには 2 つの方法があります
environment.yml
から仮想conda環境を作成
2. pip を使用してパッケージをインストールします (古いバージョンでは一部のライブラリがサポートされていない可能性があるため、必ずpython 3.7
以降を使用してください)
# .yml ファイルから仮想環境を作成conda env create -f Environmental.yml# 仮想環境をアクティブ化conda activate fyp
# pip を使用してインストールする require packagespip install -r require.txt
このプロジェクトで使用されるオーディオビジュアル データセットは LRS2 と LRS3 です。 LRS2 データはモデルのトレーニングと評価の両方に使用されました。 LRS3 データはモデルの評価にのみ使用されました。
データセット | ページ |
---|---|
LRS2 | リンク |
LRS3 | リンク |
ダウンロードウェイトジェネレーターモデル
モデル | ダウンロードリンク |
---|---|
ジェネレータ | リンク |
ジェネレーター + 同期ロス | リンク |
アテンションジェネレーター + SyncLoss | リンク |
Landmark ベースの SyncNet モデルの重みをダウンロードする ダウンロード リンク
Image2Image Translation モデルの事前トレーニングされた重みは、事前トレーニングされたモデル セクションの Repo Link にある MakeItTalk リポジトリからダウンロードできます。
§── チェックポイント # モデル チェックポイントのディレクトリ│ └── ジェネレータ # ジェネレータ モデルの重みをここに置く│ └── syncnet # ランドマーク SyncNet モデルの重みをここに置く│ └── image2image # Image2Image 変換モデルの重みをここに置く
python run_inference.py --generator_checkpoint <checkpoint_path> --image2image_checkpoint <checkpoint_path> --input_face <image/video_path> --input_audio <audio_source_path>
Wav2Lip と同じデータ前処理方法を使用しました。フォルダー構造の詳細については、Wav2Lip のリポジトリを参照してください。
python preprocess_data.py --data_root data_root/main --preprocessed_root preprocessed_lrs2_landmark/
# CLI for traning attention generator with pretrain landmark SyncNet discriminator python run_train_generator.py --model_type attnlstm --train_type pretrain --data_root preprocessed_lrs2_landmark/ --checkpoint_dir <folder_to_save_checkpoints>
# CLI for training pretrain landmark SyncNet discriminator python run_train_syncnet.py --data_root preprocessed_lrs2_landmark/ --checkpoint_dir <folder_to_save_checkpoints>
このプロジェクトでは、定量的な評価に LRS2 および LRS3 データセットのデータを使用しました。評価データのリストは Wav2Lip から提供されます。ファイルリスト (評価に使用されるビデオおよびオーディオ データ) とリップ シンク ベンチマークの詳細は、ここのリポジトリで入手できます。
cd evaluation # generate evaluation videos python gen_eval_vdo.py --filelist <path> --data_root <path> --model_type <type_of_model> --result_dir <save_path> --generator_checkpoint <gen_ckpt> --image2image_checkpoint <image2image_checkpoint>
このプロジェクトのコード ベースは、Wav2Lip と MakeItTalk からインスピレーションを得ています。両方のプロジェクトの作成者が、素晴らしい作品のコード実装をオンラインで利用できるようにしてくれたことに感謝します。