راهنمای استایل سازی چهره برای پایتون

وظیفه MediaPipe Face Stylizer به شما امکان می‌دهد استایل‌سازی‌های صورت را روی چهره‌های یک تصویر اعمال کنید. می توانید از این کار برای ایجاد آواتارهای مجازی در سبک های مختلف استفاده کنید.

نمونه کد شرح داده شده در این دستورالعمل ها در GitHub موجود است. برای اطلاعات بیشتر در مورد قابلیت‌ها، مدل‌ها و گزینه‌های پیکربندی این کار، به نمای کلی مراجعه کنید.

نمونه کد

کد مثال برای Face Stylizer اجرای کامل این کار را در پایتون برای مرجع شما فراهم می کند. این کد به شما کمک می کند تا این کار را آزمایش کنید و شروع به ساخت استایلایزر صورت خود کنید. می‌توانید کد نمونه Face Stylizer را فقط با استفاده از مرورگر وب خود مشاهده، اجرا و ویرایش کنید.

راه اندازی

این بخش مراحل کلیدی را برای راه‌اندازی محیط توسعه و پروژه‌های کد مخصوصاً برای استفاده از Face Stylizer توضیح می‌دهد. برای اطلاعات کلی در مورد تنظیم محیط توسعه خود برای استفاده از وظایف MediaPipe، از جمله الزامات نسخه پلت فرم، به راهنمای راه اندازی برای 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 Face Stylizer از تابع 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 برای بارگیری فریم های ورودی خود به عنوان آرایه های ناتوان استفاده کنید.

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)

کنترل و نمایش نتایج

Face Stylizer یک شی Image با تلطیف برجسته ترین چهره در تصویر ورودی برمی گرداند.

در زیر نمونه ای از داده های خروجی از این کار را نشان می دهد:

خروجی بالا با اعمال مدل Color sketch در تصویر ورودی زیر ایجاد شد: