دليل تنسيق الوجوه في بايثون

تتيح لك مهمة MediaPipe Face Stylizer تطبيق تنميط الوجه على الأوجه في الصورة. يمكنك استخدام هذه المهمة لإنشاء صور رمزية افتراضية بأنماط مختلفة.

يتوفّر نموذج الرمز البرمجي الموضّح في هذه التعليمات على GitHub. مزيد من المعلومات حول الإمكانات والنماذج وخيارات الضبط هذه المهمة، راجع نظرة عامة.

مثال على الرمز البرمجي

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

ضبط إعدادات الجهاز

يصف هذا القسم الخطوات الرئيسية لإعداد بيئة التطوير مشاريع الرموز البرمجية خصيصًا لاستخدام "أداة تغيير نمط الوجه". للحصول على معلومات عامة عن إعداد بيئة التطوير الخاصة بك لاستخدام مهام MediaPipe، بما في ذلك متطلبات إصدار النظام الأساسي، راجع دليل إعداد Python

الطرود

تتطلب مهمة MediaPipe Face Stylizer الحصول على حزمة Mediapi PyPI. يمكنك تثبيت استيراد هذه التبعيات مع ما يلي:

$ python -m pip install mediapipe

عمليات الاستيراد

عليك استيراد الفئات التالية للوصول إلى وظائف "أداة تغيير نمط الوجه":

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

الطراز

تتطلب مهمة أداة تغيير نمط الوجه في MediaPipe نموذجًا مدرَّبًا متوافقًا مع هذا النموذج. المهمة. لمزيد من المعلومات حول النماذج المدرَّبة المتاحة لاستخدام "أداة تغيير نمط الوجه"، يُرجى الاطّلاع على نظرة عامة على المهمة قسم النماذج.

اختَر النموذج ونزِّله ثم خزِّنه في دليل محلي:

model_path = '/absolute/path/to/face_stylizer.task'

استخدِم مَعلمة model_asset_path للكائن BaseOptions لتحديد مسار للنموذج المراد استخدامه. للاطّلاع على مثال على الرمز البرمجي، يُرجى مراجعة القسم التالي.

إنشاء المهمة

تستخدم مهمة "أداة تغيير نمط الوجه في MediaPipe" الوظيفة create_from_options لإعداد المهمة. تقبل الدالة create_from_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)

تنفيذ المهمة

يستخدم "أداة تعديل الوجه" وظيفة "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" بنمط أكثر تكرارًا. الوجه البارز في الصورة التي تم إدخالها

في ما يلي مثال على بيانات الإخراج من هذه المهمة:

تم إنشاء المخرجات أعلاه من خلال تطبيق رسم الألوان نموذج إلى صورة الإدخال التالية: