इमेज सेगमेंटेशन गाइड

MediaPipe इमेज सेगमेंटर टास्क की मदद से, पहले से तय श्रेणियां. इस सुविधा का इस्तेमाल, खास ऑब्जेक्ट या टेक्स्चर लागू करने के लिए किया जा सकता है. इसके बाद, विज़ुअल इफ़ेक्ट इस्तेमाल किए जा सकते हैं, जैसे कि बैकग्राउंड को धुंधला करना. यह टास्क इसमें ऐसे कई मॉडल शामिल हैं जिन्हें ख़ास तौर पर लोगों और उनके इमेज डेटा में मौजूद सुविधाएं. इनमें ये शामिल हैं:

  • व्यक्ति और बैकग्राउंड
  • सिर्फ़ व्यक्ति के बाल
  • व्यक्ति के बाल, चेहरा, त्वचा, कपड़े, और ऐक्सेसरी

यह टास्क, मशीन लर्निंग (एमएल) मॉडल की मदद से इमेज के डेटा पर काम करता है. इसमें सिंगल इमेज या लगातार वीडियो स्ट्रीम करने की सुविधा मिलती है. यह सेगमेंट किए गए इलाकों की एक सूची तैयार करता है, आपके मॉडल के आधार पर, इमेज में ऑब्जेक्ट या एरिया को दिखा रहे हों चुनें.

इसे आज़माएं!

शुरू करें

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

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

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

सुविधाएं

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

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

इस टास्क में कॉन्फ़िगरेशन के ये विकल्प हैं:

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

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इमेज: सिंगल इमेज इनपुट का मोड.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है वीडियो: किसी वीडियो के डिकोड किए गए फ़्रेम के लिए मोड.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है LIVE_STREAM: इनपुट की लाइवस्ट्रीम करने का मोड जैसी निजी जानकारी को किसी भी समय रिकॉर्ड कर सकते हैं. इस मोड में, 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 Metadata Writer API का इस्तेमाल करें स्थान-भाषा कोड en
result_callback सेगमेंटेशन के नतीजे पाने के लिए, रिज़ल्ट लिसनर को सेट करता है जब इमेज सेगमेंटर LIVE_STREAM मोड में होगा, तब एसिंक्रोनस रूप से काम करेगा. इसका इस्तेमाल सिर्फ़ तब किया जा सकता है, जब रनिंग मोड को LIVE_STREAM पर सेट किया गया हो लागू नहीं लागू नहीं

मॉडल

इमेज सेगमेंटर को एक से ज़्यादा एमएल मॉडल के साथ इस्तेमाल किया जा सकता है. इनमें से ज़्यादातर सेगमेंटेशन मॉडल को, इनकी इमेज के साथ सेगमेंट करने के लिए बनाया और ट्रेनिंग दी गई है लोग. हालांकि, DeepLab-v3 मॉडल को सामान्य खास मकसद से बनाया गया इमेज सेगमेंटर. वह मॉडल चुनें जो आपके ऐप्लिकेशन के लिए सबसे सही हो.

सेल्फ़ी सेगमेंटेशन मॉडल

यह मॉडल किसी व्यक्ति के पोर्ट्रेट का सेगमेंट बना सकता है और इसका इस्तेमाल या किसी इमेज के बैकग्राउंड में बदलाव किया जा सकता है. मॉडल, आउटपुट वाली दो कैटगरी, इंडेक्स 0 पर बैकग्राउंड और इंडेक्स 1 पर व्यक्ति. इस मॉडल में अलग-अलग इनपुट आकार, जिनमें स्क्वेयर वर्शन और लैंडस्केप वर्शन शामिल हैं जो यह उन ऐप्लिकेशन के लिए ज़्यादा कारगर साबित हो सकता है जहां इनपुट हमेशा सही आकार में होता है, जैसे कि वीडियो कॉल.

मॉडल का नाम आकार इनपुट करें क्वांटाइज़ेशन का टाइप मॉडल कार्ड वर्शन
सेल्फ़ी सेगमेंटर (स्क्वेयर) 256 x 256 फ़्लोट 16 जानकारी नया
सेल्फ़ी सेगमेंटर (लैंडस्केप) 144 x 256 फ़्लोट 16 जानकारी नया

बालों को अलग-अलग सेगमेंट में बांटने का मॉडल

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

0 - background
1 - hair
मॉडल का नाम आकार इनपुट करें क्वांटाइज़ेशन का टाइप मॉडल कार्ड वर्शन
HairSegmenter 512 x 512 कोई नहीं (float32) जानकारी नया

मल्टी-क्लास सेल्फ़ी को अलग-अलग सेगमेंट में बांटने का मॉडल

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

0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
मॉडल का नाम आकार इनपुट करें क्वांटाइज़ेशन का टाइप मॉडल कार्ड वर्शन
SelfieMulticlass (256 x 256) 256 x 256 कोई नहीं (float32) जानकारी नया

DeepLab-v3 मॉडल

यह मॉडल, अलग-अलग कैटगरी के हिसाब से सेगमेंट की पहचान करता है. इनमें बैकग्राउंड, व्यक्ति, बिल्ली, कुत्ता, और गमले में लगा पौधा. इस मॉडल में एट्रस स्पेशल पिरामिड का इस्तेमाल किया गया है लंबी अवधि की जानकारी कैप्चर करने के लिए पूलिंग का इस्तेमाल किया जाता है. ज़्यादा जानकारी के लिए, यह देखें DeepLab-v3.

मॉडल का नाम आकार इनपुट करें क्वांटाइज़ेशन का टाइप वर्शन
डीपलैब-वी3 257 x 257 कोई नहीं (float32) नया

टास्क के मानदंड

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

मॉडल का नाम सीपीयू के लिए इंतज़ार का समय जीपीयू के लिए इंतज़ार का समय
सेल्फ़ी सेगमेंटर (स्क्वेयर) 33.46 मिलीसेकंड 35.15 मिलीसेकंड
सेल्फ़ी सेगमेंटर (लैंडस्केप) 34.19 मिलीसेकंड 33.55 मिलीसेकंड
HairSegmenter 57.90 मिलीसेकंड 52.14 मिलीसेकंड
SelfieMulticlass (256 x 256) 217.76 मिलीसेकंड 71.24 मिलीसेकंड
डीपलैब-वी3 123.93 मिलीसेकंड 103.30 मिलीसेकंड