Python के लिए, चेहरे को बेहतर बनाने से जुड़ी गाइड

MediaPipe Face Stylizer टास्क की मदद से, किसी इमेज में मौजूद चेहरों को स्टाइल किया जा सकता है. इस टास्क का इस्तेमाल करके, अलग-अलग स्टाइल में वर्चुअल अवतार बनाए जा सकते हैं.

इन निर्देशों में बताया गया कोड सैंपल, GitHub पर उपलब्ध है. इस टास्क की सुविधाओं, मॉडल, और कॉन्फ़िगरेशन के विकल्पों के बारे में ज़्यादा जानने के लिए, खास जानकारी देखें.

कोड का उदाहरण

फ़ेस स्टाइलाइज़र के लिए दिए गए कोड के उदाहरण में, Python में इस टास्क को पूरी तरह से लागू करने का तरीका बताया गया है. इस कोड की मदद से, इस टास्क को टेस्ट किया जा सकता है और अपना फ़ेस स्टाइलाइज़र बनाने की प्रोसेस शुरू की जा सकती है. सिर्फ़ वेब ब्राउज़र का इस्तेमाल करके, फ़ेस स्टाइलाइज़र के उदाहरण के तौर पर दिए गए कोड को देखा, चलाया, और उसमें बदलाव किया जा सकता है.

सेटअप

इस सेक्शन में, डेवलपमेंट एनवायरमेंट और कोड प्रोजेक्ट सेट अप करने के मुख्य चरणों के बारे में बताया गया है. ऐसा खास तौर पर, फ़ेस स्टाइलाइज़र का इस्तेमाल करने के लिए किया जाता है. MediaPipe Tasks का इस्तेमाल करने के लिए, डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में सामान्य जानकारी पाने के लिए, Python के लिए सेटअप गाइड देखें. इसमें प्लैटफ़ॉर्म के वर्शन से जुड़ी ज़रूरी शर्तें भी शामिल हैं.

पैकेज

MediaPipe Face Stylizer टास्क के लिए, mediapipe PyPI पैकेज की ज़रूरत होती है. इन डिपेंडेंसी को इनके साथ इंस्टॉल और इंपोर्ट किया जा सकता है:

$ python -m pip install mediapipe

आयात

फ़ेस स्टाइलाइज़र टास्क के फ़ंक्शन ऐक्सेस करने के लिए, ये क्लास इंपोर्ट करें:

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 ऑब्जेक्ट में बदलें. अगर आपका इनपुट, वेबकैम से ली गई वीडियो फ़ाइल या लाइव स्ट्रीम है, तो अपने इनपुट फ़्रेम को numpy ऐरे के तौर पर लोड करने के लिए, 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)

टास्क चलाना

फ़ेस स्टाइलाइज़र, अनुमान लगाने के लिए 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 ऑब्जेक्ट के तौर पर दिखाता है.

यहां इस टास्क के आउटपुट डेटा का उदाहरण दिया गया है:

पेंसिल और मार्कर से स्केच किए गए स्टाइल में, किसी महिला का जनरेट किया गया क्लोज़-अप.

ऊपर दिया गया आउटपुट, नीचे दी गई इनपुट इमेज पर कलर स्केच मॉडल लागू करके बनाया गया है:

उस महिला की फ़ोटो जिसकी इमेज का इस्तेमाल पिछले आउटपुट को जनरेट करने के लिए किया गया था