يحتوي هذا المستودع على برامج تجريبية لرأس الحديث (؟) من صورة واحدة 3: الآن مشروع الجسم أيضًا. كما يوحي الاسم ، يتيح لك المشروع تحريك أحرف أنيمي ، وتحتاج فقط إلى صورة واحدة لتلك الحرف للقيام بذلك. هناك برنامجان تجريبيان:
manual_poser معالجة تعبير وجه الشخصية ، وتناوب الرأس ، وتناوب الجسم ، وتوسيع الصدر بسبب التنفس من خلال واجهة مستخدم رسومية.ifacialmocap_puppeteer نقل حركة الوجه إلى حرف أنيمي. إذا لم يكن لديك الأجهزة المطلوبة (تمت مناقشتها أدناه) أو لا ترغب في تنزيل الرمز وإعداد بيئة لتشغيلها ، فانقر لمحاولة تشغيل Poser اليدوي على Google Colab.
يتطلب كلا البرنامجين تشغيل NVIDIA GPU حديثًا وقويًا. كان بإمكاني ركضهم شخصيًا بسرعة جيدة مع Nvidia Titan RTX. ومع ذلك ، أعتقد أن وحدات معالجة الرسومات للألعاب المتطورة الأخيرة مثل RTX 2080 ، أو RTX 3080 ، أو من الأفضل أن تفعل ذلك أيضًا.
يتطلب ifacialmocap_puppeteer جهاز iOS قادر على حساب معلمات شكل مزيج من خلاصة الفيديو. هذا يعني أن الجهاز يجب أن يكون قادرًا على تشغيل iOS 11.0 أو أعلى ويجب أن يحتوي على كاميرا أمامية truedepth. (راجع هذه الصفحة لمزيد من المعلومات.) وبعبارة أخرى ، إذا كان لديك iPhone X أو شيء أفضل ، فيجب أن يتم تعيينك جميعًا. شخصيا ، لقد استخدمت iPhone 12 mini.
يرجى تحديث برنامج تشغيل جهاز GPU الخاص بك وتثبيت مجموعة أدوات CUDA المتوافقة مع وحدة معالجة الرسومات الخاصة بك وأحدث من الإصدار الذي ستقوم بتثبيته في القسم الفرعي التالي.
كل من manual_poser و ifacialmocap_puppeteer متاحان كتطبيقات سطح المكتب. لتشغيلها ، تحتاج إلى إعداد بيئة لتشغيل البرامج المكتوبة بلغة بيثون. تحتاج البيئة إلى حزم البرامج التالية:
طريقة واحدة للقيام بذلك هي تثبيت Anaconda وتشغيل الأوامر التالية في قذيتك:
> conda create -n talking-head-anime-3-demo python=3.8
> conda activate talking-head-anime-3-demo
> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
> conda install scipy
> pip install wxpython
> conda install matplotlib
اعتبارًا من يونيو 2006 ، لا يمكنك استخدام Wxpython مع Python 3.10 على Windows. نتيجة لذلك ، لا تستخدم Python 3.10 حتى يتم إصلاح هذا الخطأ. هذا يعني أنه لا ينبغي عليك تعيين python=3.10 في أمر conda الأول في القائمة أعلاه.
تمنحك البيئة التي أنشأتها الأوامر أعلاه الإصدار 3.8 Python وتثبيت Pytorch الذي تم تجميعه باستخدام الإصدار 11.3 من CUDA. قد لا يعمل هذا الإعداد المعين في المستقبل لأنك قد تجد أن حزمة Pytorch هذه لا تعمل مع جهاز الكمبيوتر الجديد الخاص بك. الحل هو:

يتوفر manual_poser أيضًا كحزب Jupyter Nootbook. لتشغيله على أجهزتك المحلية ، تحتاج أيضًا إلى التثبيت:
في بعض الحالات ، ستحتاج أيضًا إلى تمكين widgetsnbextension أيضًا. لذلك ، الجري
> jupyter nbextension enable --py widgetsnbextension
بعد تثبيت حزمتين أعلاه. باستخدام Anaconda ، تمكنت من القيام بما سبق مع الأوامر التالية:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
يمكنك أيضًا استخدام Anaconda لتنزيل وتثبيت جميع حزم Python في أمر واحد. افتح قشرة الخاص بك ، قم بتغيير الدليل إلى المكان الذي تقوم فيه باستنساخ المستودع ، وتشغيله:
> conda env create -f environment.yml
سيؤدي ذلك إلى إنشاء بيئة تسمى talking-head-anime-3-demo تحتوي على جميع حزم Python المطلوبة.
إذا كنت ترغب في استخدام ifacialmocap_puppeteer ، فستحتاج أيضًا إلى برنامج iOS يسمى IfacialMocap (شراء 980 ين في متجر التطبيقات). لا تحتاج إلى تنزيل التطبيق المقترن هذه المرة. يجب أن تستخدم iOS وجهاز الكمبيوتر الخاص بك الشبكة نفسها. على سبيل المثال ، يمكنك توصيلهم بنفس جهاز التوجيه اللاسلكي.
قبل تشغيل البرامج ، تحتاج إلى تنزيل ملفات النماذج من رابط Dropbox هذا وفك ضغطه إلى مجلد data/models ضمن دليل الجذر للمستودع. في النهاية ، يجب أن يبدو مجلد البيانات:
+ data
+ images
- crypko_00.png
- crypko_01.png
:
- crypko_07.png
- lambda_00.png
- lambda_01.png
+ models
+ separable_float
- editor.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_body_rotator.pt
+ separable_half
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_float
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_half
- editor.pt
:
- two_algo_face_body_rotator.pt
يتم توزيع ملفات النموذج مع ترخيص Creative Commons Conferibution 4.0 International ، مما يعني أنه يمكنك استخدامها لأغراض تجارية. ومع ذلك ، إذا قمت بتوزيعها ، فيجب عليك ، من بين أشياء أخرى ، أن تقول أنني الخالق.
manual_poserافتح قذيفة. قم بتغيير دليل العمل الخاص بك إلى دليل الجذر للمستودع. ثم ، قم بالتشغيل:
> python tha3/app/manual_poser.py
لاحظ أنه قبل تشغيل الأمر أعلاه ، قد تضطر إلى تنشيط بيئة Python التي تحتوي على الحزم المطلوبة. إذا قمت بإنشاء بيئة باستخدام Anaconda كما تمت مناقشتها أعلاه ، فأنت بحاجة إلى الجري
> conda activate talking-head-anime-3-demo
إذا لم تكن قد قمت بالفعل بتنشيط البيئة.
كما هو مذكور في كتابة المشروع ، قمت بإنشاء 4 متغيرات لنظام الشبكة العصبية. تسمى standard_float و separable_float و standard_half و separable_half . جميعهم لديهم نفس الوظائف ، لكنهم يختلفون في أحجامهم واستخدام ذاكرة الوصول العشوائي والسرعة والدقة. يمكنك تحديد البديل الذي يستخدمه برنامج manual_poser من خلال خيار سطر الأوامر --model .
> python tha3/app/manual_poser --model <variant_name>
حيث يجب أن يكون <variant_name> أحد الأسماء الأربعة أعلاه. إذا لم يتم تحديد أي متغير ، فسيتم استخدام متغير standard_float (وهو الأكبر والأبطأ والأكثر دقة).
manual_poserافتح قذيفة. تنشيط البيئة. قم بتغيير دليل العمل الخاص بك إلى دليل الجذر للمستودع. ثم ، قم بالتشغيل:
> jupyter notebook
يجب أن تفتح نافذة المتصفح. في ذلك ، فتح manual_poser.ipynb . بمجرد القيام بذلك ، يجب أن ترى أن لديها خليتين. قم بتشغيل الخلايا بالترتيب. ثم ، قم بالتمرير لأسفل إلى نهاية المستند ، وسترى واجهة المستخدم الرسومية هناك.
يمكنك اختيار متغير النظام لاستخدامه عن طريق تغيير متغير MODEL_NAME في الخلية الأولى. إذا قمت بذلك ، فستحتاج إلى إعادة تشغيل كلتا الخليتين حتى يتم تحميل المتغير وتحديث واجهة المستخدم الرسومية بشكل صحيح لاستخدامه.
ifacialmocap_poserأولاً ، قم بتشغيل IfacialMocap على جهاز iOS الخاص بك. يجب أن يوضح لك عنوان IP الخاص بالجهاز. تدوينه. الحفاظ على التطبيق مفتوح.

افتح قذيفة. تفعيل بيئة بيثون. قم بتغيير دليل العمل الخاص بك إلى دليل الجذر للمستودع. ثم ، قم بالتشغيل:
> python tha3/app/ifacialmocap_puppeteer.py
سترى مربع نص مع تسمية "Capture Device IP." اكتب عنوان IP الخاص بجهاز iOS الذي قمت به هناك.

انقر فوق "ابدأ التقاط!" زر إلى اليمين.

إذا كانت البرامج متصلة بشكل صحيح ، فيجب أن ترى الأرقام في الجزء السفلي من النافذة تتغير عند تحريك رأسك.

الآن ، يمكنك تحميل صورة للشخصية ، ويجب أن تتبع حركة الوجه الخاصة بك.
لكي يعمل النظام بشكل جيد ، يجب أن تطيع صورة الإدخال القيود التالية:

راجع كتابة المشروع لمزيد من التفاصيل حول صورة الإدخال.
إذا كان عملك الأكاديمي يستفيد من الكود في هذا المستودع ، فيرجى الاستشهاد بصفحة الويب الخاصة بالمشروع على النحو التالي:
براموك خونغورن. الحديث رأس (؟) أنيمي من صورة واحدة 3: الآن الجسم أيضا. http://pkhungurn.github.io/talking-head-anime-3/ ، 2022. تم الوصول إليه: yyyy-mm-dd.
يمكنك أيضًا استخدام إدخال Bibtex التالي:
@misc{Khungurn:2022,
author = {Pramook Khungurn},
title = {Talking Head(?) Anime from a Single Image 3: Now the Body Too},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-3/}},
year = 2022,
note = {Accessed: YYYY-MM-DD},
}
على الرغم من أن المؤلف موظف في Google Japan ، فإن هذا البرنامج ليس منتج Google ولا يدعمه Google.
حقوق الطبع والنشر لهذا البرنامج ملكًا لي كما طلبت ذلك باستخدام عملية IARC. ومع ذلك ، قد تدعي Google حقوق الملكية الفكرية لهذا الاختراع.
يتم إصدار الرمز تحت رخصة معهد ماساتشوستس للتكنولوجيا. يتم إصدار النموذج بموجب ترخيص Creative Commons Attribution 4.0 الدولي. يرجى الاطلاع على ملف readMe.md في دليل data/images للتراخيص الخاصة بالصور هناك.