العرض التوضيحي الرقمي لـ GeneFace++
GeneFace++: تقنية عالمية ومستقرة لتوليد الوجوه ثلاثية الأبعاد تعتمد على الصوت في الوقت الفعلي
لقد قام هذا البرنامج التعليمي ببناء البيئة المناسبة لك. كل ما عليك فعله هو اتباع الخطوات التالية لتوليد إنسان رقمي مخصص.
1. مقدمة المشروع

يمكن لـ GeneFace تشغيل مقطع فيديو ثلاثي الأبعاد لقراءة الشفاه والوجه من خلال الصوت. إنها طريقة عامة وعالية الدقة لتوليد الوجوه تعتمد على تقنية NeRF ويمكنها توليد نتائج طبيعية تتوافق مع الأصوات المختلفة خارج النطاق. على وجه التحديد، يتعلم GeneFace مولد الحركة المتغيرة على مجموعة كبيرة من مزامنة الشفاه ويقدم شبكة معالجة لاحقة تتكيف مع المجال لمعايرة النتائج. تظهر التجارب المكثفة أن نهج GeneFace يحقق توليد وجه متحدث أكثر عمومية ودقة مقارنة بالطرق السابقة.
2. طريقة التشغيل التجريبية
مرجع فيديو تعليمي:[بدون أساس + مستوى مربية] يكشف GeneFace++ عن العملية الكاملة لإنشاء أشخاص رقميين مستنسخين، ويتم تمكينه بنقرة واحدة دون أي متطلبات للأجهزة، وهو عبارة عن برنامج تعليمي للصور الرمزية الرقمية يمكن للجميع تعلمه
1. أدخل الموقع
بعد بدء تشغيل الحاوية، انقر فوق عنوان API للدخول إلى واجهة الويب

2. إغلاق الموقع
اكتب في المحطة التي تقوم بتشغيل الموقع Ctrl + C
سيتم إيقاف تشغيل الموقع. إذا كانت صفحة المحطة مغلقة، حدد العنصر الثاني في علامة التبويب اليسرى من مساحة العمل، حيث يمكنك استرداد صفحة المحطة المغلقة.
ب
إذا كان المحطة الطرفية تقوم بتشغيل برنامج، فلا يمكن تشغيل أوامر أخرى. يمكنك اختيار إنهاء البرنامج الحالي أو فتح محطة طرفية جديدة لتشغيل أوامر أخرى.
3. تدريب طريقة تشغيل النموذج المخصص
فيما يلي مستند Markdown تم تنظيمه للتأكد من أن المحتوى أنيق وسهل الفهم، مع الحفاظ على مواقع الصور والروابط دون تغيير.
1. التحضير
قم بإعداد مقطع فيديو إنساني رقمي خاص بك. يوصى بأن يكون عرض وارتفاع الفيديو مربعين، لأن الفيديو المدرب سيتم اقتصاصه تلقائيًا 512 * 512
مقاس. إذا كان حجم الفيديو مختلفًا، فقد تظهر حواف سوداء بعد القص. إذا كانت الحواف السوداء كبيرة جدًا، فسوف يتأثر تأثير التدريب. يجب أن يكون تنسيق الفيديو mp4
اسحب الفيديو إلى منطقة التحميل في الزاوية اليسرى السفلية لصفحة الويب لتحميله.
ملحوظة:
- لا ينبغي أن يحتوي عنوان الفيديو على أحرف صينية.
- يجب أن تكون خلفية الفيديو نظيفة وخالية من العناصر غير الضرورية، ويفضل أن تكون خلفية بلون واحد. إذا كانت عناصر الخلفية كثيرة جدًا أو مزدحمة، فقد يفشل استخراج الخلفية.
- يجب أن يكون الوجه في الفيديو واضحًا ويشغل الجزء الرئيسي من الصورة. من المستحسن استخدام لقطات قريبة فوق الكتفين بدلاً من مقاطع الفيديو التي تظهر نصف الجسم، وإلا فسيكون الوجه غير واضح.
شاشة العينة هي كما يلي⬇️
توصيات معلمات التدريب
اختر عددًا مناسبًا من خطوات التدريب، ويُنصح بأكثر من 50 ألف خطوة. وفيما يلي أوقات المرجع:
- أمثلة على مقاطع الفيديو المقدمة من المشروع (مايو):
يبلغ طول الفيديو حوالي 4 دقائق ويستغرق إنشاء مجموعة البيانات حوالي ساعة. يستغرق تدريب نموذج واحد لـ 50000 خطوة حوالي ساعة واحدة.
يتطلب التدريب الشامل إنشاء نموذجين، ويستغرق الأمر حوالي 2-3 ساعات في المجموع. - توصيات طول الفيديو:
يجب أن تكون مدة الفيديو من 3 إلى 5 دقائق. إذا كان الفيديو قصيرًا جدًا، فسيكون من الصعب الحصول على نتائج جيدة حتى لو تدربت لفترة طويلة؛ إذا كان الفيديو طويلاً جدًا، فسيؤدي ذلك إلى إطالة وقت التدريب.
تقدم التدريب
يمكنك تنفيذ الأمر التالي في المحطة الطرفية لعرض تقدم التدريب bash tail -f app.log
عندما يقول هذا الفيديو تم تدريبه! تم الانتهاء من التدريب!
نتائج التدريب النموذجي
بعد الانتهاء من التدريب، يمكنك torso model ckpt path or directory
ابحث عن المجلدين المتعلقين بالفيديو (الموجودين في motion2video_nerf
دليل). يختار videoid_torso
النماذج الموجودة في المجلد جاهزة للاستخدام.
ملحوظة:
- يجب تحديد النموذجين الأولين على اليمين، وإلا فسيتم استخدام النموذج الافتراضي.
- النموذج الأول هو نموذج تحويل الصوت إلى إيماءة.
audio2motion_vae
النموذج في .- إذا تم تحديد نموذج الرأس عند الجذع، فقد يتم الإبلاغ عن خطأ:
Inference ERROR: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!!
استخدام النموذج المدرب
إذا كان لديك نموذج مدرب بالفعل، فيمكنك وضعه في بنية مجلد مماثلة واستخدامه مباشرة.
2. إعادة التدريب
يمكن تلخيص عملية تدريب النموذج بأكملها على النحو التالي: إنشاء مجموعة بيانات، وتدريب نموذج الرأس، وتدريب نموذج الكتف. لتجنب تكرار أجزاء من العملية أو الاضطرار إلى البدء من البداية بسبب الانقطاعات غير المتوقعة، يسجل الكود الخطوات المكتملة أثناء اكتمالها. بالنسبة لمقاطع الفيديو التي تحمل نفس الاسم، سيتم تخطي الخطوات التي تم تنفيذها وسيتم تنفيذ الخطوات غير المكتملة من المرة الأخيرة مباشرة.
إذا كنت تريد إعادة تدريب النموذج باستخدام عدد جديد من الخطوات، فما عليك سوى حذف المجلدين المدربين. يمكنك تشغيل الأمر التالي لحذف مجلد النموذج. إذا كنت تريد فقط إعادة تدريب نموذج الكتف، فقط قم بحذف مجلد الجذع.
rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_head
rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_torso
4. تنظيف البيانات
إذا كنت لا تخطط لإعادة التدريب، فيمكنك تنظيف مجموعة البيانات. يمكن أن يؤدي تشغيل البرنامج النصي التالي إلى تنظيف كافة البيانات الموجودة في مجموعة البيانات لتوفير المساحة. نظرًا لأن إنشاء مجموعة بيانات يستغرق وقتًا طويلاً، فيجب عليك التفكير بعناية قبل حذفها. لا تدخل اسم الفيديو مع اللاحقة mp4
.
/output/clear_video_data.sh 你的视频名称
إذا كنت تريد مسح جميع بيانات الفيديو بالكامل، فيمكنك تشغيل البرنامج النصي التالي:
/output/clear_video_data.sh/output/clear_all_data.sh 你的视频名称
5. مقدمة عن بنية المجلد
عند تدريب مقطع فيديو جديد، سيتم إنشاء الملفات والمجلدات التالية ضمن geneface_out، حيث VIDEO_ID هو اسم الفيديو الخاص بك.
- geneface_out
-- binary
--- videos
---- {VIDEO_ID}
----- trainval_dataset.npy # 制作好的数据集,推理和训练的时候都用它
--processed #生成数据集过程中存放数据的文件夹
--- videos
---- {VIDEO_ID} # 从视频中提取的所有数据都在这,制作好数据集(即上面的 trainval_dataset.npy)后就没用了
-- raw
--- videos
---- {VIDEO_ID}.mp4 # 存放着你上传的视频的 512*512 版本,制作好数据集后就不需要了
-- view_check # 用于访问 checkpoints 的软链接
-- checkpoints
--- motion2video_nerf # 存放训练好的模型数据
---- {VIDEO_ID}_head
---- {VIDEO_ID}_torso