MediaPipe Image Segmenter टास्क की मदद से, पहले से तय की गई कैटगरी के आधार पर इमेज को अलग-अलग हिस्सों में बांटा जा सकता है. इस सुविधा का इस्तेमाल करके, किसी ऑब्जेक्ट या टेक्स्चर की पहचान की जा सकती है. इसके बाद, बैकग्राउंड को धुंधला करने जैसे विज़ुअल इफ़ेक्ट लागू किए जा सकते हैं. इस टास्क में कई मॉडल शामिल होते हैं. इन्हें खास तौर पर, इमेज डेटा में लोगों और उनकी विशेषताओं को सेगमेंट में बांटने के लिए ट्रेन किया जाता है. इनमें ये मॉडल शामिल हैं:
- व्यक्ति और बैकग्राउंड
- सिर्फ़ व्यक्ति के बाल
- व्यक्ति के बाल, चेहरे, त्वचा, कपड़ों, और ऐक्सेसरी
यह टास्क, मशीन लर्निंग (एमएल) मॉडल की मदद से इमेज डेटा पर काम करता है. इसमें एक इमेज या लगातार चलने वाली वीडियो स्ट्रीम का इस्तेमाल किया जाता है. यह सेगमेंट किए गए क्षेत्रों की सूची दिखाता है. इसमें, आपके चुने गए मॉडल के आधार पर, इमेज में मौजूद ऑब्जेक्ट या इलाकों को दिखाया जाता है.
शुरू करें
अपने टारगेट प्लैटफ़ॉर्म के लिए, लागू करने से जुड़ी इनमें से किसी एक गाइड का पालन करके, इस टास्क का इस्तेमाल शुरू करें. प्लैटफ़ॉर्म के हिसाब से बनी इन गाइड में, इस टास्क को लागू करने का बुनियादी तरीका बताया गया है. इनमें सुझाया गया मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड का उदाहरण भी शामिल है:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण गाइड
- वेब - कोड का उदाहरण - गाइड
टास्क की जानकारी
इस सेक्शन में, इस टास्क की सुविधाओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.
सुविधाएं
- इनपुट इमेज प्रोसेसिंग - प्रोसेसिंग में इमेज को घुमाना, उसका साइज़ बदलना, सामान्य करना, और कलर स्पेस बदलना शामिल है.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
इनमें से कोई एक डेटा टाइप इनपुट के तौर पर इस्तेमाल किया जा सकता है:
|
इमेज सेगमेंटर, सेगमेंट की गई इमेज का डेटा दिखाता है. इसमें, सेट किए गए कॉन्फ़िगरेशन के विकल्पों के आधार पर, इनमें से एक या दोनों शामिल हो सकते हैं:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क के लिए, कॉन्फ़िगरेशन के ये विकल्प उपलब्ध हैं:
विकल्प का नाम | ब्यौरा | वैल्यू की रेंज | डिफ़ॉल्ट मान |
---|---|---|---|
running_mode |
टास्क के लिए रनिंग मोड सेट करता है. इसके तीन मोड हैं: IMAGE: एक इमेज इनपुट के लिए मोड. वीडियो: किसी वीडियो के डिकोड किए गए फ़्रेम के लिए मोड. LIVE_STREAM: कैमरे से मिले इनपुट डेटा की लाइव स्ट्रीम के लिए मोड. इस मोड में, नतीजे असींक्रोनस तरीके से पाने के लिए, एक listener सेट अप करने के लिए, resultListener को कॉल करना होगा. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
अगर इसे True पर सेट किया जाता है, तो आउटपुट में uint8 इमेज के तौर पर सेगमेंटेशन मास्क शामिल होता है. इसमें हर पिक्सल की वैल्यू, जीतने वाली कैटगरी की वैल्यू दिखाती है. |
{True, False } |
False |
output_confidence_masks |
अगर True पर सेट किया जाता है, तो आउटपुट में फ़्लोट वैल्यू वाली इमेज के तौर पर सेगमेंटेशन मास्क शामिल होता है. इसमें हर फ़्लोट वैल्यू, कैटगरी के कॉन्फ़िडेंस स्कोर मैप को दिखाती है. |
{True, False } |
True |
display_names_locale |
टास्क के मॉडल के मेटाडेटा में दिए गए डिसप्ले नेम के लिए, लेबल की भाषा सेट करता है. हालांकि, ऐसा तब ही किया जाता है, जब वह भाषा उपलब्ध हो. अंग्रेज़ी के लिए, डिफ़ॉल्ट तौर पर en होता है. TensorFlow Lite मेटाडेटा राइटर एपीआई का इस्तेमाल करके, कस्टम मॉडल के मेटाडेटा में स्थानीय भाषा के लेबल जोड़े जा सकते हैं |
स्थानीय भाषा का कोड | en |
result_callback |
जब इमेज सेगमेंटर LIVE_STREAM मोड में हो, तब सेगमेंटेशन के नतीजे पाने के लिए, रिज़ल्ट लिसनर को असिंक्रोनस तरीके से सेट करता है.
इसका इस्तेमाल सिर्फ़ तब किया जा सकता है, जब रनिंग मोड को LIVE_STREAM पर सेट किया गया हो |
लागू नहीं | लागू नहीं |
मॉडल
इमेज सेगमेंटर का इस्तेमाल, एक से ज़्यादा एमएल मॉडल के साथ किया जा सकता है. यहां दिए गए ज़्यादातर सेगमेंटेशन मॉडल, लोगों की इमेज से सेगमेंटेशन करने के लिए बनाए और ट्रेन किए गए हैं. हालांकि, DeepLab-v3 मॉडल को सामान्य मकसद के लिए इमेज सेगमेंटर के तौर पर बनाया गया है. अपने ऐप्लिकेशन के हिसाब से सबसे सही मॉडल चुनें.
सेल्फ़ी सेगमेंटेशन मॉडल
यह मॉडल, किसी व्यक्ति के पोर्ट्रेट को सेगमेंट में बांट सकता है. साथ ही, इसका इस्तेमाल किसी इमेज के बैकग्राउंड को बदलने या उसमें बदलाव करने के लिए किया जा सकता है. मॉडल दो कैटगरी दिखाता है, इंडेक्स 0 पर बैकग्राउंड और इंडेक्स 1 पर व्यक्ति. इस मॉडल के अलग-अलग वर्शन में, इनपुट के अलग-अलग आकार होते हैं. जैसे, स्क्वेयर वर्शन और लैंडस्केप वर्शन. ये वर्शन, उन ऐप्लिकेशन के लिए ज़्यादा असरदार हो सकते हैं जिनमें इनपुट हमेशा एक ही आकार का होता है. जैसे, वीडियो कॉल.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
SelfieSegmenter (स्क्वेयर) | 256 x 256 | फ़्लोट 16 | info | हाल ही के अपडेट |
SelfieSegmenter (लैंडस्केप) | 144 x 256 | फ़्लोट 16 | info | हाल ही के अपडेट |
बालों के सेगमेंटेशन का मॉडल
यह मॉडल किसी व्यक्ति की इमेज लेता है और उसके सिर पर मौजूद बालों की जगह का पता लगाता है. साथ ही, बालों के लिए इमेज सेगमेंटेशन का मैप दिखाता है. इस मॉडल का इस्तेमाल, बालों का रंग बदलने या बालों पर अन्य इफ़ेक्ट लागू करने के लिए किया जा सकता है. मॉडल, ये सेगमेंटेशन कैटगरी दिखाता है:
0 - background
1 - hair
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
HairSegmenter | 512 x 512 | कोई नहीं (float32) | info | हाल ही के अपडेट |
सेल्फ़ी को अलग-अलग कैटगरी में बांटने वाला मल्टी-क्लास मॉडल
यह मॉडल किसी व्यक्ति की इमेज लेता है और बाल, त्वचा, और कपड़ों जैसे अलग-अलग हिस्सों की पहचान करता है. साथ ही, इन आइटम के लिए इमेज सेगमेंटेशन का मैप दिखाता है. इस मॉडल का इस्तेमाल करके, इमेज या वीडियो में लोगों पर अलग-अलग इफ़ेक्ट लागू किए जा सकते हैं. मॉडल, सेगमेंटेशन की ये कैटगरी दिखाता है:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | मॉडल कार्ड | वर्शन |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | कोई नहीं (float32) | info | हाल ही के अपडेट |
DeepLab-v3 मॉडल
यह मॉडल कई कैटगरी के सेगमेंट की पहचान करता है. जैसे, बैकग्राउंड, व्यक्ति, बिल्ली, कुत्ता, और गमले में लगा पौधा. मॉडल, लंबी दूरी की जानकारी कैप्चर करने के लिए, एट्रॉस स्पेसियल पिरामिड पूलिंग का इस्तेमाल करता है. ज़्यादा जानकारी के लिए, DeepLab-v3 देखें.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | वर्शन |
---|---|---|---|
DeepLab-V3 | 257 x 257 | कोई नहीं (float32) | हाल ही के अपडेट |
टास्क के मानदंड
यहां पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. ये मानदंड, पहले से ट्रेन किए गए ऊपर दिए गए मॉडल पर आधारित हैं. इंतज़ार का समय, सीपीयू / जीपीयू का इस्तेमाल करके Pixel 6 पर औसत इंतज़ार का समय होता है.
मॉडल का नाम | सीपीयू के इंतज़ार का समय | जीपीयू में इंतज़ार का समय |
---|---|---|
SelfieSegmenter (स्क्वेयर) | 33.46 मिलीसेकंड | 35.15 मिलीसेकंड |
SelfieSegmenter (लैंडस्केप) | 34.19 मिलीसेकंड | 33.55 मिलीसेकंड |
HairSegmenter | 57.90 मिलीसेकंड | 52.14 मिलीसेकंड |
SelfieMulticlass (256 x 256) | 217.76 मिलीसेकंड | 71.24 मिलीसेकंड |
DeepLab-V3 | 123.93 मिलीसेकंड | 103.30 मिलीसेकंड |