MediaPipe के चेहरे की पहचान करने वाले टूल की मदद से, किसी इमेज या वीडियो में चेहरों की पहचान की जा सकती है. इस टास्क का इस्तेमाल करके, फ़्रेम में चेहरों और चेहरे की विशेषताओं का पता लगाया जा सकता है. यह टास्क, मशीन लर्निंग (एमएल) मॉडल का इस्तेमाल करता है. यह मॉडल, एक या लगातार कई इमेज के साथ काम करता है. यह टास्क, चेहरे की जगहों के साथ-साथ, चेहरे के इन मुख्य पॉइंट का पता लगाता है: बाईं आंख, दाईं आंख, नाक की नोक, मुंह, बाईं आंख का ट्रैगियन, और दाईं आंख का ट्रैगियन.
शुरू करें
अपने टारगेट प्लैटफ़ॉर्म के लिए, लागू करने से जुड़ी इनमें से किसी एक गाइड का पालन करके, इस टास्क का इस्तेमाल शुरू करें. प्लैटफ़ॉर्म के हिसाब से बनी इन गाइड में, इस टास्क को लागू करने का बुनियादी तरीका बताया गया है. इनमें सुझाया गया मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड का उदाहरण भी शामिल है:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण- गाइड
- वेब - कोड का उदाहरण - गाइड
- iOS - कोड का उदाहरण - गाइड
टास्क की जानकारी
इस सेक्शन में, इस टास्क की सुविधाओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.
सुविधाएं
- इनपुट इमेज प्रोसेसिंग - प्रोसेसिंग में इमेज को घुमाना, उसका साइज़ बदलना, सामान्य करना, और कलर स्पेस बदलना शामिल है.
- स्कोर थ्रेशोल्ड - अनुमान के स्कोर के आधार पर नतीजे फ़िल्टर करें.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
चेहरे की पहचान करने वाला टूल, इनमें से किसी एक तरह के डेटा का इनपुट स्वीकार करता है:
|
चेहरे की पहचान करने वाली सुविधा ये नतीजे दिखाती है:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क के लिए, कॉन्फ़िगरेशन के ये विकल्प उपलब्ध हैं:
विकल्प का नाम | ब्यौरा | वैल्यू की रेंज | डिफ़ॉल्ट मान |
---|---|---|---|
running_mode |
टास्क के लिए रनिंग मोड सेट करता है. इसके तीन मोड हैं: IMAGE: एक इमेज इनपुट के लिए मोड. वीडियो: किसी वीडियो के डिकोड किए गए फ़्रेम के लिए मोड. LIVE_STREAM: कैमरे से मिले इनपुट डेटा की लाइव स्ट्रीम के लिए मोड. इस मोड में, नतीजे असींक्रोनस तरीके से पाने के लिए, एक listener सेट अप करने के लिए, resultListener को कॉल करना होगा. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
min_detection_confidence |
चेहरे का पता लगाने के लिए, कम से कम कॉन्फ़िडेंस स्कोर. | Float [0,1] |
0.5 |
min_suppression_threshold |
चेहरे का पता लगाने के लिए, कम से कम नॉन-मैक्सिमम-सप्रेशन थ्रेशोल्ड को ओवरलैप माना जाता है. | Float [0,1] |
0.3 |
result_callback |
जब फ़ेस डिटेक्टर लाइव स्ट्रीम मोड में हो, तो पहचान के नतीजे अलग-अलग समय पर पाने के लिए, नतीजा सुनने वाला सेट करता है. इसका इस्तेमाल सिर्फ़ तब किया जा सकता है, जब रनिंग मोड को LIVE_STREAM पर सेट किया गया हो. |
N/A |
Not set |
मॉडल
चेहरे की पहचान करने वाले मॉडल, इस्तेमाल के उदाहरणों के आधार पर अलग-अलग हो सकते हैं. जैसे, कम दूरी और ज़्यादा दूरी से चेहरे की पहचान करना. आम तौर पर, मॉडल परफ़ॉर्मेंस, सटीक जानकारी, रिज़ॉल्यूशन, और संसाधनों की ज़रूरतों के बीच समझौता करते हैं. साथ ही, कुछ मामलों में अतिरिक्त सुविधाएं भी शामिल करते हैं.
इस सेक्शन में दिए गए मॉडल, BlazeFace के वैरिएंट हैं. यह एक हल्का और सटीक चेहरे का डिटेक्टर है, जिसे मोबाइल जीपीयू इंफ़रेंस के लिए ऑप्टिमाइज़ किया गया है. BlazeFace मॉडल, 3D चेहरे के मुख्य पॉइंट का अनुमान लगाने, चेहरे के भावों को अलग-अलग कैटगरी में बांटने, और चेहरे के हिस्सों को अलग-अलग सेगमेंट में बांटने जैसे ऐप्लिकेशन के लिए सही हैं. BlazeFace, MobileNetV1/V2 जैसे हल्के फ़ीचर एक्सट्रैक्शन नेटवर्क का इस्तेमाल करता है.
BlazeFace (कम दूरी के लिए)
स्मार्टफ़ोन कैमरे या वेबकैम से ली गई सेल्फ़ी जैसी इमेज में, एक या उससे ज़्यादा चेहरों का पता लगाने के लिए, एक छोटा मॉडल. यह मॉडल, कम दूरी पर फ़ोन के सामने वाले कैमरे से ली गई फ़ोटो के लिए ऑप्टिमाइज़ किया गया है. मॉडल के आर्किटेक्चर में, कस्टम एन्कोडर के साथ सिंगल शॉट डिटेक्टर (एसएसडी) कॉन्वोल्यूशनल नेटवर्क तकनीक का इस्तेमाल किया जाता है. ज़्यादा जानकारी के लिए, सिंगल शॉट मल्टीबॉक्स डिटेक्टर पर आधारित रिसर्च पेपर देखें.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
BlazeFace (कम दूरी के लिए) | 128 x 128 | फ़्लोट 16 | info | हाल ही के अपडेट |
BlazeFace (पूरी रेंज)
स्मार्टफ़ोन कैमरे या वेबकैम से ली गई इमेज में, एक या उससे ज़्यादा चेहरों का पता लगाने के लिए, अपेक्षाकृत हल्का मॉडल. यह मॉडल, फ़ुल-रेंज वाली इमेज के लिए ऑप्टिमाइज़ किया गया है. जैसे, फ़ोन के पीछे वाले कैमरे से ली गई इमेज. मॉडल के आर्किटेक्चर में, CenterNet कन्वोल्यूशनल नेटवर्क जैसी तकनीक का इस्तेमाल किया जाता है. इसमें कस्टम एन्कोडर भी होता है.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
BlazeFace (पूरी रेंज) | 128 x 128 | फ़्लोट 16 | जानकारी | यह सुविधा जल्द ही उपलब्ध होगी |
BlazeFace Sparse (पूरी रेंज)
यह सामान्य फ़ुल-रेंज BlazeFace मॉडल का छोटा वर्शन है. इसका साइज़, सामान्य वर्शन के मुकाबले करीब 60% कम है. यह मॉडल, फ़ुल-रेंज इमेज के लिए ऑप्टिमाइज़ किया गया है. जैसे, फ़ोन के पीछे वाले कैमरे से ली गई इमेज. मॉडल के आर्किटेक्चर में, CenterNet कन्वोल्यूशनल नेटवर्क जैसी तकनीक का इस्तेमाल किया जाता है. इसमें कस्टम एन्कोडर भी होता है.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
BlazeFace Sparse (पूरी रेंज) | 128 x 128 | फ़्लोट 16 | जानकारी | यह सुविधा जल्द ही उपलब्ध होगी |
टास्क के मानदंड
यहां पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. ये मानदंड, ऊपर दिए गए पहले से ट्रेन किए गए मॉडल पर आधारित हैं. इंतज़ार का समय, सीपीयू / जीपीयू का इस्तेमाल करके Pixel 6 पर औसत इंतज़ार का समय होता है.
मॉडल का नाम | सीपीयू के इंतज़ार का समय | जीपीयू में इंतज़ार का समय |
---|---|---|
BlazeFace (कम दूरी के लिए) | 2.94 मिलीसेकंड | 7.41 मिलीसेकंड |