تتيح لك مهمة "تجميل الوجه" من MediaPipe تطبيق أنماط على الوجوه في الصورة. يمكنك استخدام هذه المهمة لإنشاء صور رمزية افتراضية بأنماط مختلفة.
يتوفّر نموذج الرمز البرمجي الموضّح في هذه التعليمات على GitHub. لمزيد من المعلومات عن الإمكانات والنماذج وخيارات الضبط لهذه المهمة، اطّلِع على نظرة عامة.
مثال على الرمز البرمجي
يقدّم مثال الرمز البرمجي لتطبيق Face Stylizer تنفيذًا كاملاً لهذه مهمة باستخدام لغة Python، ويمكنك الرجوع إليه. يساعدك هذا الرمز في اختبار هذه المهمة والبدء في إنشاء أداة تصفيف الوجه. يمكنك عرض مثال رمز Face Stylizer وتشغيله وتعديله باستخدام متصفّح الويب فقط.
ضبط إعدادات الجهاز
يصف هذا القسم الخطوات الرئيسية لإعداد بيئة التطوير و مشاريع الرموز البرمجية لاستخدام Face Stylizer على وجه التحديد. للحصول على معلومات عامة حول إعداد بيئة التطوير لاستخدام مهام MediaPipe، بما في ذلك requirements لإصدار النظام الأساسي، يُرجى الاطّلاع على دليل الإعداد ل IDE Python.
الطرود
تتطلّب مهمة MediaPipe Face Stylizer حزمة mediapipe PyPI. يمكنك تثبيت هذه التبعيات استيرادها باستخدام ما يلي:
$ python -m pip install mediapipe
عمليات الاستيراد
استورِد الفئات التالية للوصول إلى دوال مهمة Face Stylizer:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
الطراز
تتطلّب مهمة "تجميل الوجه" في MediaPipe نموذجًا مدرَّبًا متوافقًا مع هذه المهمة. لمزيد من المعلومات عن النماذج المدربة المتاحة لتطبيق Face Stylizer، يُرجى الاطّلاع على قسم النماذج ضمن النظرة العامة على المهمة.
اختَر النموذج ونزِّله، ثم احفظه في دليل على الجهاز:
model_path = '/absolute/path/to/face_stylizer.task'
استخدِم المَعلمة BaseOptions
عنصر model_asset_path
لتحديد مسار
النموذج المطلوب استخدامه. للاطّلاع على مثال على الرمز، يُرجى الاطّلاع على القسم التالي.
إنشاء المهمة
تستخدِم مهمة "تجميل الوجه" من MediaPipe الدالة create_from_options
لإعداد
المهمة. تقبل الدالة create_from_options
قيمًا لإعدادات options
التي يجب التعامل معها.
يوضّح الرمز البرمجي التالي كيفية إنشاء هذه المهمة وضبطها.
import mediapipe as mp
BaseOptions = mp.tasks.BaseOptions
Facestylizer = mp.tasks.vision.face_stylizer
FacestylizerOptions = mp.tasks.vision.FaceStylizerOptions
# Create a face stylizer instance with the image mode:
options = FacestylizerOptions(
base_options=BaseOptions(model_asset_path=model_path),
with Facestylizer.create_from_options(options) as stylizer:
# The stylizer is initialized. Use it here.
# ...
إعداد البيانات
حضِّر الإدخال كملف صورة أو صفيف numpy، ثم حوِّله إلى عنصر
mediapipe.Image
. إذا كان الإدخال عبارة عن ملف فيديو أو بث مباشر من كاميرا ويب، يمكنك استخدام مكتبة خارجية مثل
OpenCV لتحميل لقطات الإدخال كصفائفnumpy.
import mediapipe as mp
# Load the input image from an image file.
mp_image = mp.Image.create_from_file('/path/to/image')
# Load the input image from a numpy array.
mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
تنفيذ المهمة
يستخدم Face Stylizer الدالة stylize
لبدء الاستنتاجات. بالنسبة إلى
تجميل الوجه، يشمل ذلك معالجة البيانات المُدخلة مسبقًا وتجميل الوجوه في
الصورة.
يوضّح الرمز البرمجي التالي كيفية تنفيذ المعالجة باستخدام نموذج مهمة.
# Perform face stylization on the provided single image.
# The face stylizer must be created with the image mode.
face_stylizer_result = stylizer.stylize(mp_image)
معالجة النتائج وعرضها
تعرِض ميزة "تجميل الوجه" عنصرًا من النوع Image
يتضمّن أسلوبًا للوجه الأكثر
بروزًا في صورة الإدخال.
في ما يلي مثال على بيانات الإخراج من هذه المهمة:
تم إنشاء الصورة أعلاه من خلال تطبيق نموذج رسم ألوان على صورة الإدخال التالية: