هذا المستودع هو التنفيذ الرسمي لتعبيرات الوجه ثلاثية الأبعاد CVPR 2024 من خلال التوليف التحليل على حدة.
Smirk يعيد بناء الوجوه ثلاثية الأبعاد من صور أحادية العين مع هندسة الوجه التي تعافي بإخلاص تعبيرات غير متماثلة ، غير متماثلة ، ودقيقة.
يجب أن يكون لديك نسخة عمل من Pytorch و Pytorch3d مثبتة. نحن نقدم ملفًا requirements.txt
.
كوندا إنشاء -نيمريك بيثون = 3.9 pip install -r requireme.txt# install pytorch3d nowpip install-no-index--no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py39_cu117_pyt201/download.html
ثم ، من أجل تنزيل النماذج المطلوبة ، قم بتشغيل:
Bash Quick_install.sh
يتضمن التثبيت أعلاه تنزيل نموذج اللهب. هذا يتطلب التسجيل. إذا لم يكن لديك حساب يمكنك التسجيل على https://flame.is.tue.mpg.de/
سيقوم هذا الأمر أيضًا بتنزيل النموذج المسبق لـ Smirk والذي يمكن العثور عليه أيضًا على Google Drive.
نحن نقدم اثنين من العروض التوضيحية. واحد يمكن استخدامه لاختبار النموذج على صورة واحدة ،
python demo.py -input_path samples/test_image2
وواحد يمكن استخدامه لاختبار النموذج على مقطع فيديو ،
python demo_video.py -input_path samples/dafoe.mp4 -out_path results/ -checkpoint pretrained_models/smirk_em1.pt -render_orig
تم تدريب Smirk على مجموعة من مجموعات البيانات التالية: LRS3 و MEAD و CELEBA و FFHQ.
§§download مجموعة بيانات LRS3 من هنا. نحن ندرك أنه تمت إزالة مجموعة البيانات هذه حاليًا من الموقع. يمكن استبداله بأي مجموعة بيانات مماثلة أخرى ، على سبيل المثال LRS2.
قم بتنزيل مجموعة بيانات MEAD من هنا.
قم بتنزيل مجموعة بيانات Celeba من هنا. يمكنك تنزيل الصور المحاذاة img_align_celeba.zip
مباشرة.
قم بتنزيل مجموعة بيانات FFHQ256 من هنا.
بعد تنزيل مجموعات البيانات ، نحتاج إلى استخراج المعالم باستخدام MediPipe و Fan. نحن نقدم البرامج النصية للمعالجة المسبقة في datasets/preprocess_scripts
. مثال الاستخدام:
مجموعات بيانات Python/preprocess_scripts/applud_mediapipipe_to_dataset.py -input_dir path_to_ffhq256/images -output_dir path_to_ffhq256/mediapipe_landmarks
وللمروحة:
مجموعات بيانات Python/preprocess_scripts/application_fan_to_dataset.py -input_dir path_to_ffhq256/images -output_dir path_to_ffhq256/fan_landmarks
لاحظ أنه للحصول على معالم المروحة ، نستخدم التنفيذ في https://github.com/hhj1897/face_alignment.
بعد ذلك ، تأكد من تحديث ملفات التكوين في configs
مع المسارات الصحيحة إلى مجموعات البيانات ومعالمها.
في مرحلة التدريب ، نقوم بتدريب جميع المشفرات الثلاثة (تشكل ، شكل ، والتعبير) باستخدام المعالم المستخرجة فقط وإخراج MICA.
Python Train.py configs/config_pretrain.yaml train.log_path = "logs/pretrain"
بعد التدريب ، في المرحلة الأساسية من Smirk ، نقوم بتجميد الشكل ونشكل المشفرات وتدريب تشفير التعبير مع إطار Smirk الكامل (مسار إعادة الإعمار ومسار الدورة).
python Train.py configs/config_train.yaml السيرة الذاتية = سجلات/pretrain/first_stage_pretred_encoder.pt train.loss_weights.emotion_loss = 1.0
إذا وجدت هذا العمل مفيدًا ، فيرجى التفكير في:
inproceedings {smirk: cvpr: 2024 ، title = {{3d expressions من خلال التحليل-by-by-neural-synthesis} ، upluder = {Retsinas ، George and Filntisis ، Panagiotis P. ، و Danecek ، Radek و Abrevaya ، Victoria F. and Roussos و Anastasios و Bolkart و Timo و Maragos و Petros} و booktitle = {مؤتمر حول رؤية الكمبيوتر والتعرف على الأنماط (cvpr)} ، السنة = {2024}}
نقر بالمستودعات والأوراق التالية التي تم استخدامها في هذا العمل:
ميكا
emoca
Autolink