Repositori ini adalah implementasi resmi dari CVPR 2024 Paper 3D Facial Expressions melalui sintesis analisis-oleh-neural.
Smirk merekonstruksi wajah 3D dari gambar monokular dengan geometri wajah yang dengan setia memulihkan ekspresi ekstrem, asimetris, dan halus.
Anda perlu memiliki versi kerja Pytorch dan Pytorch3D yang diinstal. Kami memberikan file requirements.txt
yang dapat digunakan untuk menginstal dependensi yang diperlukan untuk pengaturan Python 3.9 dengan CUDA 11.7:
conda create -n Smirk Python = 3.9 Pip Instal -R Persyaratan.txt# Instal PyTorch3D NowPip Instal ---no-index ---no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py39_cu117_pyt201/download.htm/py39_cu117_pyt201/download.htm
Kemudian, untuk mengunduh model yang diperlukan, jalankan:
bash quick_install.sh
Instalasi di atas termasuk mengunduh model api. Ini membutuhkan pendaftaran. Jika Anda tidak memiliki akun, Anda dapat mendaftar di https://flame.is.tue.mpg.de/
Perintah ini juga akan mengunduh model pretrained senyum yang juga dapat ditemukan di Google Drive.
Kami menyediakan dua demo. Salah satu yang dapat digunakan untuk menguji model pada satu gambar,
Python Demo.py --Input_Path Sampel/test_image2.png --out_path hasil/--Checkpoint pretrained_models/smirk_em1.pt --crop
dan yang dapat digunakan untuk menguji model pada video,
Python Demo_Video.py - -Input_Path Sampel/dafoe.mp4 --out_path hasil/--Checkpoint pretrained_models/smirk_em1.pt --crop ---render_orig
Smirk dilatih pada kombinasi dari kumpulan data berikut: LRS3, Mead, Celeba, dan FFHQ.
§§Download dataset LRS3 dari sini. Kami sadar bahwa saat ini dataset ini telah dihapus dari situs web. Ini dapat diganti dengan dataset serupa lainnya, misalnya LRS2.
Unduh dataset Mead dari sini.
Unduh Dataset Celeba dari sini. Anda dapat mengunduh langsung gambar yang selaras img_align_celeba.zip
.
Unduh dataset FFHQ256 dari sini.
Setelah mengunduh set data, kita perlu mengekstrak landmark menggunakan MediaPipe dan Fan. Kami menyediakan skrip untuk preprocessing dalam datasets/preprocess_scripts
. Contoh Penggunaan:
Dataset Python/preprocess_scripts/apply_mediapipe_to_dataset.py --input_dir path_to_ffhq256/gambar -output_dir path_to_ffhq256/mediapipipe_landmarks
Dan untuk Fan:
Dataset Python/preprocess_scripts/apply_fan_to_dataset.py --input_dir path_to_ffhq256/gambar -output_dir path_to_ffhq256/fan_landmarks
Perhatikan bahwa untuk mendapatkan landmark fan kami menggunakan implementasi di https://github.com/hhj1897/face_alignment.
Selanjutnya, pastikan untuk memperbarui file konfigurasi di configs
dengan jalur yang benar ke set data dan landmark mereka.
Pada tahap pretraining, kami melatih semua 3 encoder (pose, bentuk, dan ekspresi) hanya menggunakan landmark yang diekstraksi dan output mika.
python train.py configs/config_praTrain.yaml train.log_path = "log/pretrain"
Setelah pretraining, pada tahap inti dari seringai, kami membekukan bentuk dan pose encoder dan melatih encoder ekspresi dengan kerangka senyum penuh (jalur rekonstruksi dan jalur siklus).
python train.py configs/config_train.yaml resume = log/pretrain/first_stage_pretred_encoder.pt train.loss_weights.emotion_loss = 1.0
Jika Anda menemukan pekerjaan ini bermanfaat, harap pertimbangkan mengutip:
@Inproeding {smirk: cvpr: 2024, title = {3D ekspresi wajah melalui analisis oleh-neural-sintesis}, penulis = {retsinas, George dan Filntisis, Panagiotis P., dan Danecek, Radek dan Abrevaya, Victoria F. dan Roussos , Anastasios dan bolkart, timo dan maragos, petros}, booktitle = {konferensi tentang visi komputer dan pengenalan pola (cvpr)}, tahun = {2024}}
Kami mengakui repositori dan kertas berikut yang digunakan dalam karya ini:
MIKA
Emoca
Autolink