छवि विभाजन एक डिजिटल छवि को कई खंडों (पिक्सेल के सेट, जिसे छवि ऑब्जेक्ट के रूप में भी जाना जाता है) में विभाजित करने की प्रक्रिया है। विभाजन का लक्ष्य किसी छवि के प्रतिनिधित्व को सरल और/या किसी ऐसी चीज़ में बदलना है जो अधिक सार्थक और विश्लेषण करने में आसान हो।
निम्न छवि Android पर छवि विभाजन मॉडल का आउटपुट दिखाती है। मॉडल उच्च सटीकता के साथ लक्षित वस्तुओं पर एक मुखौटा बनाएगा।
शुरू हो जाओ
यदि आप TensorFlow Lite के लिए नए हैं और Android या iOS के साथ काम कर रहे हैं, तो यह अनुशंसा की जाती है कि आप निम्न उदाहरण अनुप्रयोगों को एक्सप्लोर करें जो आरंभ करने में आपकी सहायता कर सकते हैं।
आप कोड की कुछ पंक्तियों के भीतर छवि विभाजन मॉडल को एकीकृत करने के लिए TensorFlow लाइट टास्क लाइब्रेरी से आउट-ऑफ-बॉक्स API का लाभ उठा सकते हैं। आप TensorFlow Lite Interpreter Java API का उपयोग करके भी मॉडल को एकीकृत कर सकते हैं।
नीचे दिया गया Android उदाहरण दोनों विधियों के कार्यान्वयन को क्रमशः lib_task_api और lib_interpreter के रूप में प्रदर्शित करता है।
यदि आप Android या iOS के अलावा किसी अन्य प्लेटफ़ॉर्म का उपयोग कर रहे हैं, या आप पहले से ही TensorFlow Lite API से परिचित हैं, तो आप हमारे स्टार्टर इमेज सेगमेंटेशन मॉडल को डाउनलोड कर सकते हैं।
मॉडल वर्णन
डीपलैब सिमेंटिक इमेज सेगमेंटेशन के लिए एक अत्याधुनिक डीप लर्निंग मॉडल है, जहां लक्ष्य इनपुट इमेज में प्रत्येक पिक्सेल को सिमेंटिक लेबल (जैसे व्यक्ति, कुत्ता, बिल्ली) असाइन करना है।
यह काम किस प्रकार करता है
सिमेंटिक इमेज सेगमेंटेशन भविष्यवाणी करता है कि छवि का प्रत्येक पिक्सेल एक निश्चित वर्ग से जुड़ा है या नहीं। यह ऑब्जेक्ट डिटेक्शन के विपरीत है, जो आयताकार क्षेत्रों में वस्तुओं का पता लगाता है, और छवि वर्गीकरण , जो समग्र छवि को वर्गीकृत करता है।
वर्तमान कार्यान्वयन में निम्नलिखित विशेषताएं शामिल हैं:
- DeepLabv1: हम स्पष्ट रूप से उस रिज़ॉल्यूशन को नियंत्रित करने के लिए एट्रस कनवल्शन का उपयोग करते हैं, जिस पर डीप कन्वेन्शनल न्यूरल नेटवर्क्स के भीतर फीचर प्रतिक्रियाओं की गणना की जाती है।
- डीपलैब2: हम एट्रस स्पैटियल पिरामिड पूलिंग (एएसपीपी) का इस्तेमाल करते हैं, ताकि कई सैंपलिंग दरों और प्रभावी फील्ड-ऑफ-व्यू पर फिल्टर के साथ कई पैमानों पर वस्तुओं को मजबूती से खंडित किया जा सके।
- डीपलैब3: हम एएसपीपी मॉड्यूल को इमेज-लेवल फीचर [5, 6] के साथ बढ़ाते हैं ताकि लंबी दूरी की जानकारी हासिल की जा सके। हम प्रशिक्षण की सुविधा के लिए बैच सामान्यीकरण [7] पैरामीटर भी शामिल करते हैं। विशेष रूप से, हम प्रशिक्षण और मूल्यांकन के दौरान विभिन्न आउटपुट स्ट्राइड्स पर आउटपुट फीचर्स निकालने के लिए एट्रस कनवल्शन लागू करते हैं, जो आउटपुट स्ट्राइड = 16 पर कुशलता से प्रशिक्षण बीएन को सक्षम बनाता है और मूल्यांकन के दौरान आउटपुट स्ट्राइड = 8 पर एक उच्च प्रदर्शन प्राप्त करता है।
- डीपलैब3+: हम डीपलैब3 का विस्तार करते हैं ताकि विभाजन परिणामों को परिष्कृत करने के लिए एक सरल लेकिन प्रभावी डिकोडर मॉड्यूल शामिल किया जा सके, विशेष रूप से ऑब्जेक्ट सीमाओं के साथ। इसके अलावा, इस एनकोडर-डिकोडर संरचना में कोई भी मनमाने ढंग से ट्रेड-ऑफ परिशुद्धता और रनटाइम के लिए एट्रस कनवल्शन द्वारा निकाले गए एन्कोडर सुविधाओं के संकल्प को नियंत्रित कर सकता है।
प्रदर्शन बेंचमार्क
प्रदर्शन बेंचमार्क नंबर यहां वर्णित टूल से जेनरेट किए जाते हैं।
मॉडल नाम | मॉडल का आकार | उपकरण | जीपीयू | सी पी यू |
---|---|---|---|---|
दीपलैब v3 | 2.7 एमबी | पिक्सेल 3 (एंड्रॉइड 10) | 16ms | 37ms* |
पिक्सेल 4 (एंड्रॉइड 10) | 20ms | 23ms* | ||
आईफोन एक्सएस (आईओएस 12.4.1) | 16ms | 25ms** |
* 4 धागे का इस्तेमाल किया।
** सर्वश्रेष्ठ प्रदर्शन परिणाम के लिए iPhone पर उपयोग किए जाने वाले 2 धागे।