Ini adalah implementasi kode untuk Proyek Tahun Terakhir Wish Suharitdamrong Tahun 3 BSc Ilmu Komputer di Universitas Surrey dengan topik Sintesis Bibir Audio-Visua melalui representasi landmark perantara.
Demonstrasi online tersedia di ? Memeluk Wajah
Ada dua cara menginstal paket menggunakan conda atau pip
1.Buat lingkungan conda virtual dari environment.yml
2.Gunakan pip untuk menginstal paket (pastikan Anda menggunakan python 3.7
atau lebih tinggi karena versi yang lebih lama mungkin tidak mendukung beberapa perpustakaan)
# Buat lingkungan virtual dari .yml fileconda env buat -f environment.yml# aktifkan lingkungan virtualconda aktifkan fyp
# Gunakan pip untuk menginstal memerlukan paket pip install -r persyaratan.txt
Dataset audio visual yang digunakan dalam proyek ini adalah LRS2 dan LRS3. Data LRS2 digunakan untuk pelatihan model dan evaluasi. Data LRS3 hanya digunakan untuk evaluasi model.
Kumpulan data | Halaman |
---|---|
LRS2 | Link |
LRS3 | Link |
Unduh model Generator beban
Model | Unduh Tautan |
---|---|
Generator | Link |
Generator + SinkronisasiLoss | Link |
Generator Perhatian + SyncLoss | Link |
Unduh bobot untuk Tautan Unduhan model SyncNet berbasis Landmark
Bobot terlatih untuk model Terjemahan Image2Image dapat diunduh dari repositori MakeItTalk di bagian model terlatih mereka, Tautan Repo.
├── pos pemeriksaan # Direktori untuk pos pemeriksaan model│ └── generator # letakkan bobot model Generator di sini│ └── syncnet # letakkan bobot model Landmark SyncNet di sini│ └── image2image # letakkan bobot model Image2Image Translation di sini
python run_inference.py --generator_checkpoint <checkpoint_path> --image2image_checkpoint <checkpoint_path> --input_face <image/video_path> --input_audio <audio_source_path>
Saya menggunakan cara pemrosesan awal data yang sama seperti Wav2Lip untuk detail lebih lanjut tentang struktur folder dapat ditemukan di repositori mereka Di Sini.
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>
Proyek ini menggunakan data dari dataset LRS2 dan LRS3 untuk evaluasi kuantitatif, daftar data evaluasi disediakan dari Wav2Lip. Daftar file (data video dan audio yang digunakan untuk evaluasi) dan detail tentang benchmark Lip Sync tersedia di repositori mereka Di Sini.
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>
Basis kode proyek ini terinspirasi dari Wav2Lip dan MakeItTalk. Saya ingin mengucapkan terima kasih kepada penulis kedua proyek yang telah membuat implementasi kode dari karya luar biasa mereka tersedia secara online.