चेहरे की पहचान गाइड

तीन लोगों की इमेज, जिसमें उनके चेहरों को बाउंडिंग बॉक्स से हाइलाइट किया गया है

MediaPipe Face Detector टास्क की मदद से, किसी इमेज या वीडियो में चेहरों का पता लगाया जा सकता है. इस टास्क का इस्तेमाल करके, किसी फ़्रेम में चेहरों और चेहरे की विशेषताओं का पता लगाया जा सकता है. इस टास्क के लिए, मशीन लर्निंग (एमएल) मॉडल का इस्तेमाल किया जाता है. यह मॉडल, एक इमेज या लगातार स्ट्रीम की जा रही इमेज के साथ काम करता है. इस टास्क से चेहरे की जगहों के साथ-साथ, चेहरे के इन मुख्य बिंदुओं की जानकारी मिलती है: बाईं आंख, दाईं आंख, नाक का सिरा, मुंह, बाईं आंख का ट्रैगियन, और दाईं आंख का ट्रैगियन.

इसे आज़माएं!

शुरू करें

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

टास्क की जानकारी

इस सेक्शन में, इस टास्क की क्षमताओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.

सुविधाएं

  • इनपुट इमेज प्रोसेसिंग - प्रोसेसिंग में इमेज को घुमाना, उसका साइज़ बदलना, सामान्य करना, और कलर स्पेस बदलना शामिल है.
  • स्कोर थ्रेशोल्ड - अनुमानित स्कोर के आधार पर नतीजों को फ़िल्टर करें.
टास्क के इनपुट टास्क के आउटपुट
चेहरे का पता लगाने वाला डिटेक्टर, इनमें से किसी एक डेटा टाइप का इनपुट स्वीकार करता है:
  • स्टिल इमेज
  • डिकोड किए गए वीडियो फ़्रेम
  • लाइव वीडियो फ़ीड
चेहरा पहचानने की सुविधा, ये नतीजे दिखाती है:
  • किसी इमेज फ़्रेम में पहचाने गए चेहरों के लिए बाउंडिंग बॉक्स.
  • पहचाने गए हर चेहरे के लिए, चेहरे की छह जगहों के निर्देशांक.

कॉन्फ़िगरेशन के विकल्प

इस टास्क के लिए, ये कॉन्फ़िगरेशन विकल्प उपलब्ध हैं:

विकल्प का नाम ब्यौरा वैल्यू की सीमा डिफ़ॉल्ट मान
running_mode यह कुकी, टास्क के रनिंग मोड को सेट करती है. इसके तीन मोड होते हैं:

IMAGE: यह मोड, एक इमेज वाले इनपुट के लिए होता है.

VIDEO: यह वीडियो के डिकोड किए गए फ़्रेम का मोड है.

LIVE_STREAM: यह इनपुट डेटा की लाइव स्ट्रीम का मोड है. जैसे, कैमरे से मिलने वाला डेटा. इस मोड में, एसिंक्रोनस तरीके से नतीजे पाने के लिए, 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 (short-range) 128 x 128 फ़्लोट 16 info सबसे नया

BlazeFace (फ़ुल-रेंज)

यह एक हल्का मॉडल है. इसका इस्तेमाल, स्मार्टफ़ोन के कैमरे या वेबकैम से ली गई इमेज में एक या उससे ज़्यादा चेहरों का पता लगाने के लिए किया जाता है. इस मॉडल को फ़ुल-रेंज वाली इमेज के लिए ऑप्टिमाइज़ किया गया है. जैसे, फ़ोन के बैक कैमरे से ली गई इमेज. मॉडल आर्किटेक्चर, कस्टम एन्कोडर के साथ CenterNet कनवोल्यूशनल नेटवर्क जैसी तकनीक का इस्तेमाल करता है.

मॉडल का नाम इनपुट का आकार क्वांटाइज़ेशन टाइप मॉडल कार्ड वर्शन
BlazeFace (full-range) 128 x 128 फ़्लोट 16 info सबसे नया

BlazeFace Sparse (फ़ुल-रेंज)

यह BlazeFace मॉडल का लाइट वर्शन है. इसका साइज़, रेगुलर फ़ुल-रेंज BlazeFace मॉडल के मुकाबले करीब 60% छोटा है. इस मॉडल को फ़ुल-रेंज वाली इमेज के लिए ऑप्टिमाइज़ किया गया है. जैसे, फ़ोन के बैक कैमरे से ली गई इमेज. मॉडल आर्किटेक्चर, कस्टम एन्कोडर के साथ CenterNet कन्वलूशनल नेटवर्क जैसी तकनीक का इस्तेमाल करता है.

मॉडल का नाम इनपुट का आकार क्वांटाइज़ेशन टाइप मॉडल कार्ड वर्शन
BlazeFace Sparse (full-range) 128 x 128 फ़्लोट 16 info सबसे नया

टास्क के बेंचमार्क

यहां ऊपर दिए गए प्री-ट्रेन किए गए मॉडल के आधार पर, पूरी पाइपलाइन के लिए टास्क बेंचमार्क दिए गए हैं. लेटेंसी का नतीजा, Pixel 6 पर सीपीयू / जीपीयू का इस्तेमाल करके मिली औसत लेटेंसी है.

मॉडल का नाम सीपीयू के लिए इंतज़ार करने का समय जीपीयू का इंतज़ार का समय
BlazeFace (कम दूरी के लिए) 2.94 मि॰से॰ 7.41 मि॰से॰