MediaPipe के जेस्चर आइडेंटिफ़ायर टास्क से आपको रीयल टाइम में, हाथ के जेस्चर की पहचान करने में मदद मिलती है. इसके लैंडमार्क के साथ ही, हाथ के जेस्चर से जुड़े नतीजे दिखाता है हाथों की पहचान हुई है. इस टास्क का इस्तेमाल, हाथ के जेस्चर को पहचानने के लिए किया जा सकता है. उपयोगकर्ता, और उन जेस्चर से संबंधित ऐप्लिकेशन सुविधाओं को शुरू कर सकते हैं.
यह टास्क, मशीन लर्निंग (एमएल) मॉडल की मदद से इमेज के डेटा पर काम करता है और स्वीकार करता है का इस्तेमाल किया जा सकता है. टास्क, हैंड लैंडमार्क दिखाता है इमेज के निर्देशांक, दुनिया के निर्देशांक में हाथ के लैंडमार्क, हाथों का इस्तेमाल (बाएं/दाएं हाथ) और हाथ के जेस्चर की कई कैटगरी.
शुरू करें
इस टास्क का इस्तेमाल शुरू करने के लिए, यहां दिए गए लागू करने के दिशा-निर्देशों में से किसी एक को अपनाएं. टारगेट प्लैटफ़ॉर्म पर लागू होता है. प्लैटफ़ॉर्म के हिसाब से, इन गाइड से आपको बुनियादी चीज़ों के बारे में जानकारी मिलेगी किसी सुझाए गए मॉडल का इस्तेमाल करके इस टास्क को लागू करना और कोड के उदाहरण देना सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण - गाइड
- वेब - कोड का उदाहरण - गाइड
टास्क की जानकारी
इस सेक्शन में सुविधाओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के बारे में बताया गया है इस टास्क के विकल्प देखें.
सुविधाएं
- इनपुट इमेज प्रोसेसिंग - प्रोसेसिंग में इमेज रोटेशन, साइज़ बदलना, नॉर्मलाइज़ेशन, और कलर स्पेस कन्वर्ज़न शामिल हैं.
- स्कोर थ्रेशोल्ड - अनुमान के स्कोर के आधार पर नतीजों को फ़िल्टर करें.
- अनुमति वाली सूची और ब्लॉकलिस्ट को लेबल करना - हाथ के जेस्चर की कैटगरी तय करें मॉडल से पहचाना जा सकता है.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
जेस्चर आइडेंटिफ़ायर, इनमें से किसी एक डेटा टाइप के इनपुट को स्वीकार करता है:
|
जेस्चर आइडेंटिफ़ायर से ये नतीजे मिलते हैं:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क में कॉन्फ़िगरेशन के ये विकल्प हैं:
विकल्प का नाम | ब्यौरा | मान की सीमा | डिफ़ॉल्ट मान | |
---|---|---|---|---|
running_mode |
टास्क के लिए रनिंग मोड सेट करता है. तीन
मोड: अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इमेज: सिंगल इमेज इनपुट का मोड. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है वीडियो: किसी वीडियो के डिकोड किए गए फ़्रेम के लिए मोड. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है LIVE_STREAM: इनपुट की लाइवस्ट्रीम करने का मोड जैसे कि कोई डेटा रिकॉर्ड किया जा सकता है. इस मोड में, resultListener होना चाहिए नतीजे पाने के लिए, लिसनर सेट अप करने के लिए कॉल किया गया एसिंक्रोनस रूप से. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
|
num_hands |
हाथों की अधिकतम संख्या का पता लगाने के लिए
GestureRecognizer .
|
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 |
|
canned_gestures_classifier_options |
पहले से तैयार जेस्चर की कैटगरी तय करने वाले व्यवहार को कॉन्फ़िगर करने के विकल्प. पहले से तैयार जेस्चर ["None", "Closed_Fist", "Open_Palm", "Pointing_Up", "Thumb_Down", "Thumb_Up", "Victory", "ILoveYou"] हैं |
|
|
|
custom_gestures_classifier_options |
कस्टम जेस्चर की कैटगरी तय करने वाले व्यवहार को कॉन्फ़िगर करने के विकल्प. |
|
|
|
result_callback |
यह नीति, क्लासिफ़िकेशन के नतीजे पाने के लिए, रिज़ल्ट लिसनर को सेट करती है
जब जेस्चर आइडेंटिफ़ायर लाइव स्ट्रीम मोड में हो, तब यह एसिंक्रोनस रूप से काम करता है.
इसका इस्तेमाल सिर्फ़ तब किया जा सकता है, जब रनिंग मोड को LIVE_STREAM पर सेट किया गया हो |
ResultListener |
लागू नहीं | लागू नहीं |
मॉडल
जेस्चर आइडेंटिफ़ायर एक ऐसे मॉडल बंडल का इस्तेमाल करता है जिसमें पहले से पैक किए गए दो मॉडल बंडल होते हैं: हैंड लैंडमार्क मॉडल बंडल और जेस्चर क्लासिफ़िकेशन मॉडल बंडल. कॉन्टेंट बनाने लैंडमार्क मॉडल, हाथ और हाथ की ज्यामिति की मौजूदगी का पता लगाता है. साथ ही, पहचान करने वाला मॉडल, हाथ की ज्यामिति के आधार पर जेस्चर की पहचान करता है.
मॉडल का नाम | आकार इनपुट करें | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
HandGestureClassifier | 192 x 192, 224 x 224 | फ़्लोट 16 | जानकारी | नया |
यह टास्क, Model Maker का इस्तेमाल करके मॉडल बंडल में बदलाव करने की सुविधा भी देता है. इस कार्य के लिए मॉडल कस्टमाइज़ करने के लिए मॉडल मेकर का उपयोग करने के बारे में अधिक जानकारी के लिए, जेस्चर के लिए आइडेंटिफ़ायर के मॉडल को पसंद के मुताबिक बनाएं पेज देखें.
हैंड लैंडमार्क मॉडल बंडल
हैंड लैंडमार्क मॉडल बंडल 21 हैंड-नॉकल के कीपॉइंट स्थानीयाइज़ेशन का पता लगाता है पता लगाए गए हाथ के क्षेत्रों में निर्देशांक. इस मॉडल को ट्रेनिंग दी गई असल दुनिया की करीब 30 हज़ार इमेज और एआई की मदद से बनाए गए हाथ से बने कई हाथ अलग-अलग बैकग्राउंड पर लगाए गए मॉडल. नीचे 21 लैंडमार्क की परिभाषा देखें:
हैंड लैंडमार्कर मॉडल के बंडल में पाम डिटेक्शन मॉडल और हाथ से लैंडमार्क की पहचान करने वाला मॉडल. हथेली की पहचान करने वाले मॉडल का इस्तेमाल इन इलाकों के हिसाब से किया जाता है हाथों से ली गई तस्वीरें दिखती हैं. साथ ही, हैंड लैंडमार्क डिटेक्शन मॉडल को हथेली की पहचान करने वाले मॉडल की मदद से, काटे गए हाथ की इमेज पर लैंडमार्क.
वीडियो मोड या लाइव स्ट्रीम में, हथेली की पहचान करने वाले मॉडल को इस्तेमाल करने में बहुत ज़्यादा समय लगता है स्ट्रीम मोड, जेस्चर आइडेंटिफ़ायर, पहचाने गए हाथ से तय किए गए बाउंडिंग बॉक्स का इस्तेमाल करता है अगले फ़्रेम में हाथों के क्षेत्र को स्थानीय भाषा में बदलने के लिए लैंडमार्क फ़्रेम. इससे, हथेली की पहचान करने वाले मॉडल को ट्रिगर करने वाले जेस्चर आइडेंटिफ़ायर की अवधि कम हो जाती है. सिर्फ़ तब, जब हैंड लैंडमार्क मॉडल ज़रूरत के मुताबिक पहचान न कर पाया हो हथेली की पहचान करने वाला मॉडल हाथों को फिर से स्थानीय करने के लिए पूछा गया.
जेस्चर के हिसाब से डेटा की कैटगरी तय करने वाला मॉडल बंडल
जेस्चर क्लासिफ़िकेशन मॉडल बंडल, हाथ के इन सामान्य जेस्चर की पहचान कर सकता है:
0 - Unrecognized gesture, label: Unknown
1 - Closed fist, label: Closed_Fist
2 - Open palm, label: Open_Palm
3 - Pointing up, label: Pointing_Up
4 - Thumbs down, label: Thumb_Down
5 - Thumbs up, label: Thumb_Up
6 - Victory, label: Victory
7 - Love, label: ILoveYou
अगर मॉडल को हाथों का पता चलता है, लेकिन वह जेस्चर की पहचान नहीं कर पाता, तो हाथ के जेस्चर पहचानकर्ता "कोई नहीं" का नतीजा दिखाता है. अगर मॉडल को हाथों का पता नहीं चलता, तो जेस्चर आइडेंटिफ़ायर खाली है.
जेस्चर क्लासिफ़िकेशन मॉडल के बंडल में, टू स्टेप न्यूरल नेटवर्क पाइपलाइन है इसमें जेस्चर एम्बेड करने वाला मॉडल और उसके बाद जेस्चर क्लासिफ़िकेशन मॉडल है. जेस्चर की कैटगरी तय करने वाला मॉडल कार्ड में ज़्यादा जानकारी देखें.
जेस्चर एम्बेड करने वाला मॉडल, इमेज की सुविधाओं को फ़ीचर वेक्टर में एन्कोड करता है और क्लासिफ़िकेशन मॉडल, एक लाइटवेट जेस्चर क्लासिफ़ायर है, जो इस सुविधा को वेक्टर का इस्तेमाल इनपुट के तौर पर करना. दिए गए जेस्चर क्लासिफ़िकेशन मॉडल बंडल में पहले से तैयार जेस्चर क्लासिफ़ायर, जो पेश किए गए 7 सामान्य हाथ के जेस्चर का पता लगाता है पढ़ें. ट्रेनिंग की मदद से हाथ के ज़्यादा जेस्चर को पहचानने के लिए, मॉडल बंडल को बढ़ाया जा सकता है की सुविधा देता है. ज़्यादा जानकारी यहां देखें कस्टम मॉडल सेक्शन.
पहले से तैयार जेस्चर क्लासिफ़ायर और कस्टम जेस्चर क्लासिफ़ायर, दोनों के साथ जेस्चर आइडेंटिफ़ायर अगर क्लासिफ़ायर, कस्टम जेस्चर (हाव-भाव) को पसंद करते हैं, तो उनकी कैटगरी तय कर सकता है. अगर सिर्फ़ एक जेस्चर क्लासिफ़ायर जेस्चर को पहचानता है, जेस्चर आइडेंटिफ़ायर, पहचाने गए जेस्चर को सीधे आउटपुट करता है.
टास्क के मानदंड
यहां ऊपर दिए गए विकल्पों के आधार पर, पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं पहले से ट्रेन किए गए मॉडल. इंतज़ार का समय, Pixel 6 पर इस्तेमाल करने में लगने वाले औसत समय का अनुमान है सीपीयू / जीपीयू.
मॉडल का नाम | सीपीयू के लिए इंतज़ार का समय | जीपीयू के लिए इंतज़ार का समय |
---|---|---|
GestureRecognizer | 16.76 मिलीसेकंड | 20.87 मिलीसेकंड |
कस्टम मॉडल
अगर आपको इसमें दिए गए मॉडल की क्षमताओं में सुधार करना है या उनमें बदलाव करना है
टास्क के लिए, आप मौजूदा मॉडल को संशोधित करने के लिए मॉडल मेकर का उपयोग कर सकते हैं. इस्तेमाल किए गए कस्टम मॉडल
with MediaPipe के साथ
.task
फ़ॉर्मैट में होना चाहिए. यह मॉडल बंडल फ़ाइल है. आपने लोगों तक पहुंचाया मुफ़्त में
को इस कार्य के लिए प्रदान किए गए मॉडल को संशोधित करने के लिए Model Maker का उपयोग करना चाहिए
इससे पहले कि आपका अपना लक्ष्य हो.
इस टास्क के लिए मॉडल को पसंद के मुताबिक बनाने के बारे में ज़्यादा जानकारी के लिए, देखें जेस्चर आइडेंटिफ़ायर के लिए मॉडल को पसंद के मुताबिक बनाना.