MediaPipe हैंड लैंडमार्क टास्क की मदद से, इमेज में मौजूद हाथों के लैंडमार्क का पता लगाया जा सकता है. इस टास्क का इस्तेमाल, खास चीज़ों का पता लगाने और उन पर विज़ुअल इफ़ेक्ट डालने के लिए किया जा सकता है. यह टास्क, इमेज के डेटा पर काम करता है. इसमें स्टैटिक डेटा या लगातार स्ट्रीम होती है. इससे, इमेज कोऑर्डिनेट में हैंड लैंडमार्क, दुनिया के निर्देशांकों में हैंड लैंडमार्क, और पहचान किए गए कई हाथों की किसी हैंडराइटिंग (बाएं/दाएं हाथ) को दिखाया जाता है.
शुरू करें
अपने टारगेट प्लैटफ़ॉर्म के लिए, इनमें से किसी एक को लागू करने की गाइड का पालन करके इस टास्क का इस्तेमाल शुरू करें. इन प्लैटफ़ॉर्म की गाइड में, इस टास्क को लागू करने की बुनियादी जानकारी दी जाती है. इसमें, सुझाए गए मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड के उदाहरण भी शामिल होते हैं:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण - गाइड
- वेब - कोड का उदाहरण - गाइड
टास्क की जानकारी
इस सेक्शन में इस टास्क की क्षमताओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.
सुविधाएं
- इनपुट इमेज प्रोसेसिंग - प्रोसेसिंग में, इमेज को घुमाना, उसका साइज़ बदलना, नॉर्मलाइज़ेशन, और कलर स्पेस में बदलाव करना शामिल है.
- स्कोर थ्रेशोल्ड - अनुमान के स्कोर के आधार पर नतीजों को फ़िल्टर करें.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
हैंड लैंडमार्कर, इनमें से किसी एक तरह के डेटा के इनपुट को स्वीकार करता है:
|
हैंड लैंडमार्कर से ये नतीजे मिलते हैं:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क में कॉन्फ़िगरेशन के ये विकल्प हैं:
विकल्प का नाम | ब्यौरा | वैल्यू रेंज | डिफ़ॉल्ट मान |
---|---|---|---|
running_mode |
टास्क के लिए, रनिंग मोड सेट करता है. इसके तीन मोड होते हैं: इमेज: सिंगल इमेज इनपुट के लिए मोड. वीडियो: वीडियो के डिकोड किए गए फ़्रेम का मोड. LIVE_STREAM: इनपुट डेटा की लाइव स्ट्रीम का मोड, जैसे कि कैमरे से स्ट्रीम किया जाने वाला मोड. इस मोड में, रिज़ल्ट पहचानकर्ता को लिसनर को सेट अप करने के लिए कॉल किया जाना चाहिए, ताकि वह एसिंक्रोनस तरीके से नतीजे पा सके. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
num_hands |
हैंड लैंडमार्क डिटेक्टर की मदद से, ज़्यादा से ज़्यादा कितने हाथ पहचाने गए हैं. | Any integer > 0 |
1 |
min_hand_detection_confidence |
हाथ की पहचान करने वाली सुविधा के लिए, पाम डिटेक्शन मॉडल में सबसे कम कॉन्फ़िडेंस स्कोर. | 0.0 - 1.0 |
0.5 |
min_hand_presence_confidence |
हैंड लैंडमार्क डिटेक्शन मॉडल में हाथ की मौजूदगी के स्कोर के लिए कम से कम कॉन्फ़िडेंस स्कोर. वीडियो मोड और लाइव स्ट्रीम मोड में, अगर हैंड लैंडमार्क मॉडल के हाथ की मौजूदगी का कॉन्फ़िडेंस स्कोर इस थ्रेशोल्ड से कम है, तो हैंड लैंडमार्कर, हथेली की पहचान करने वाले मॉडल को ट्रिगर करता है. ऐसा न होने पर, लाइटवेट हैंड ट्रैकिंग एल्गोरिदम, लैंडमार्क की बाद में पहचान करने के लिए हाथों की जगह का पता लगाता है. | 0.0 - 1.0 |
0.5 |
min_tracking_confidence |
हैंड ट्रैकिंग के लिए सबसे कम कॉन्फ़िडेंस स्कोर, जिसे कामयाब माना जाएगा. यह मौजूदा फ़्रेम और आखिरी फ़्रेम में मौजूद हाथों के बीच का बाउंडिंग बॉक्स IoU थ्रेशोल्ड है. अगर हैंड लैंडमार्कर के वीडियो मोड और स्ट्रीम मोड में ट्रैकिंग काम नहीं करती है, तो हैंड लैंडमार्कर हाथ की पहचान करने की सुविधा को ट्रिगर कर देता है. ऐसा न होने पर, हाथ की पहचान करने वाली सुविधा को छोड़ दें. | 0.0 - 1.0 |
0.5 |
result_callback |
जब हैंड लैंडमार्कर लाइव स्ट्रीम मोड में होता है, तब नतीजे लिसनर को सेट करता है, ताकि इसे एसिंक्रोनस तरीके से, खोज के नतीजे पाए जा सकें.
सिर्फ़ तब लागू होता है, जब रनिंग मोड को LIVE_STREAM पर सेट किया गया हो |
लागू नहीं | लागू नहीं |
मॉडल
हैंड लैंडमार्कर एक मॉडल बंडल का इस्तेमाल करता है, जिसमें दो पैकेज किए गए मॉडल होते हैं: पहला पाम डिटेक्शन मॉडल और हाथ का लैंडमार्क डिटेक्शन मॉडल. इस टास्क को चलाने के लिए, आपको एक ऐसा मॉडल बंडल चाहिए जिसमें ये दोनों मॉडल शामिल हों.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
हैंडललैंडर (पूरी जानकारी वाला) | 192 x 192, 224 x 224 | फ़्लोट 16 | जानकारी | नए |
हैंड लैंडमार्क मॉडल बंडल, उन इलाकों में कीपॉइंट स्थानीय भाषा के हिसाब से काम करता है जहां हाथ-पैर के 21 कोऑर्डिनेट होने हैं. इस मॉडल को असल दुनिया की करीब 30 हज़ार इमेज के साथ-साथ, रेंडर किए गए सिंथेटिक हैंड मॉडल की मदद से, अलग-अलग बैकग्राउंड पर लगाया गया है.
हैंड लैंडमार्कर मॉडल बंडल में, पाम की पहचान करने वाला मॉडल और हैंड लैंडमार्क की पहचान करने वाला मॉडल होता है. हथेली की पहचान करने वाला मॉडल, इनपुट इमेज में हाथों की पहचान करता है. साथ ही, हथेली की पहचान करने वाला मॉडल, हथेली की पहचान करने वाले मॉडल से मिले हाथ की इमेज पर खास हैंडमार्क की पहचान करता है.
हथेली की पहचान करने वाले मॉडल को चलाने में बहुत समय लगता है. इसलिए, वीडियो या लाइव स्ट्रीम के रनिंग मोड में, हैंड लैंडमार्कर एक फ़्रेम में हैंडमार्क के मॉडल से तय किए गए बाउंडिंग बॉक्स का इस्तेमाल करता है. इसकी मदद से, अगले फ़्रेम के लिए हाथों के हिस्से को स्थानीय भाषा में अनुवाद किया जाता है. हैंड लैंडमार्कर, हथेली की पहचान करने वाले मॉडल को सिर्फ़ तब ट्रिगर करता है, जब हाथ के लैंडमार्क का मॉडल इससे, हथेली की पहचान करने वाले मॉडल को हैंड लैंडमार्कर की तुलना करने की संख्या कम हो जाती है.
टास्क के मानदंड
यहां पहले से ट्रेन किए गए मॉडल पर आधारित पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. इंतज़ार के समय का नतीजा यह पता चलता है कि Pixel 6 को सीपीयू / जीपीयू का इस्तेमाल करके औसतन इंतज़ार किया जा सकता है.
मॉडल का नाम | सीपीयू (CPU) के इस्तेमाल में होने वाला समय | जीपीयू इंतज़ार का समय |
---|---|---|
हैंडललैंडमार्कर (फ़ुल) | 17.12 मि॰से॰ | 12.27 मि॰से॰ |