गतिशील क्रॉप
डिटेक्शन मॉडल के बाउंडिंग बॉक्स का उपयोग करके किसी छवि को क्रॉप करें।
इनपुट छवियों से डिटेक्शन मॉडल की भविष्यवाणियों के बाउंडिंग बॉक्स के आधार पर क्रॉप किए गए छवि क्षेत्रों को निकालता है, तथा चयनित क्षेत्र निष्कर्षण और बहु-चरणीय विश्लेषण कार्यप्रवाहों के लिए सेगमेंटेशन मास्क का उपयोग करके वैकल्पिक बैकग्राउंड हटाने के साथ ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन और कीपॉइंट डिटेक्शन मॉडल्स का समर्थन करता है।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक डिटेक्शन मॉडल आउटपुट के बाउंडिंग बॉक्स का उपयोग करके इनपुट छवियों से आयताकार क्षेत्रों को क्रॉप करता है, और प्रत्येक पहचाने गए ऑब्जेक्ट के लिए अलग-अलग क्रॉप की गई छवियां बनाता है। ब्लॉक:
इनपुट छवियां और डिटेक्शन पूर्वानुमान (ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) प्राप्त करता है, जिनमें बाउंडिंग बॉक्स शामिल होते हैं
जांचता है कि पूर्वानुमानों में क्रॉप ट्रैकिंग के लिए आवश्यक डिटेक्शन आईडी शामिल हैं
पूर्वानुमानों से प्रत्येक बाउंडिंग बॉक्स निकालता है और इनपुट छवि से संबंधित आयताकार क्षेत्र को क्रॉप करता है
इंस्टेंस सेगमेंटेशन पूर्वानुमानों के लिए
mask_opacity > 0: सेगमेंटेशन मास्क को ओवरले करके बैकग्राउंड हटाता है, और पहचाने गए इंस्टेंस के बाहर के बैकग्राउंड पिक्सेल्स को निर्दिष्टbackground_colorऔर मास्क की अपारदर्शिता के आधार पर मूल क्रॉप के साथ ब्लेंड करता हैक्रॉप के मूल स्रोत (मूल छवि, ऑफ़सेट निर्देशांक, डिटेक्शन आईडी) का ट्रैक रखने के लिए मेटाडेटा सहित क्रॉप की गई छवि ऑब्जेक्ट्स बनाता है
मूल छवि स्थान से क्रॉप किए गए क्षेत्र के स्थान में पूर्वानुमान निर्देशांकों को रूपांतरित करता है (क्रॉप के मूल बिंदु के सापेक्ष बाउंडिंग बॉक्स, मास्क, कीपॉइंट्स और बहुभुजों को समायोजित करता है)
प्रत्येक डिटेक्शन के लिए परिणामों की एक सूची लौटाता है, जिनमें से प्रत्येक में क्रॉप की गई छवि और रूपांतरित पूर्वानुमान शामिल होते हैं
यह ब्लॉक प्रत्येक डिटेक्शन के बाउंडिंग बॉक्स को स्वतंत्र रूप से संसाधित करता है, और पहचाने गए प्रत्येक ऑब्जेक्ट के लिए अलग-अलग क्रॉप बनाता है। इंस्टेंस सेगमेंटेशन पूर्वानुमानों के लिए, वैकल्पिक बैकग्राउंड हटाने वाली सुविधा सेगमेंटेशन मास्क का उपयोग करके पहचाने गए ऑब्जेक्ट को बैकग्राउंड पिक्सेल्स से अलग करती है, जो साफ़, ऑब्जेक्ट-केंद्रित क्रॉप बनाने के लिए उपयोगी है। सभी पूर्वानुमान निर्देशांक (बाउंडिंग बॉक्स, कीपॉइंट्स, बहुभुज, मास्क निर्देशांक) स्वतः ही क्रॉप किए गए क्षेत्र के ऊपरी-बाएँ कोने के सापेक्ष रूपांतरित हो जाते हैं, जिससे डाउनस्ट्रीम ब्लॉक्स क्रॉप्स को सही ढंग से संसाधित कर सकें। यह ब्लॉक आउटपुट आयाम को एक बढ़ा देता है (प्रत्येक इनपुट छवि के लिए क्रॉप्स की एक सूची बनाता है), जिससे बैच प्रसंस्करण कार्यप्रवाह सक्षम होते हैं जहाँ प्रत्येक क्रॉप को स्वतंत्र रूप से संसाधित किया जा सकता है।
सामान्य उपयोग के मामले
बहु-चरणीय ऑब्जेक्ट विश्लेषण: विस्तृत विश्लेषण के लिए पूर्ण छवियों से अलग-अलग ऑब्जेक्ट क्रॉप निकालें (जैसे, किसी दृश्य में ऑब्जेक्ट्स का पता लगाएं, प्रत्येक पहचाने गए ऑब्जेक्ट को क्रॉप करें, फिर व्यक्तिगत क्रॉप्स पर OCR या वर्गीकरण चलाएं), जिससे पूरी छवियों को संसाधित किए बिना विशिष्ट क्षेत्रों का केंद्रित विश्लेषण संभव होता है
ऑब्जेक्ट फ़ोकस के लिए बैकग्राउंड हटाना: सेगमेंटेशन मास्क का उपयोग करके बैकग्राउंड हटाए गए साफ़ ऑब्जेक्ट क्रॉप बनाएं (जैसे, ऑब्जेक्ट्स का पता लगाएं और सेगमेंट करें, बैकग्राउंड हटाने के साथ क्रॉप करें, प्रशिक्षण या विश्लेषण के लिए पृथक ऑब्जेक्ट छवियां बनाएं), जिससे केंद्रित ऑब्जेक्ट निष्कर्षण और स्वच्छ डाउनस्ट्रीम प्रोसेसिंग संभव होती है
क्षेत्र-आधारित प्रसंस्करण पाइपलाइनें: विशेषीकृत प्रसंस्करण के लिए रुचि वाले क्षेत्रों को निकालें (जैसे, टेक्स्ट क्षेत्रों का पता लगाएं, प्रत्येक टेक्स्ट क्षेत्र को क्रॉप करें, क्रॉप्स पर OCR चलाएं; चेहरों का पता लगाएं, प्रत्येक चेहरे को क्रॉप करें, चेहरा पहचान चलाएं), जिससे विशिष्ट छवि क्षेत्रों का कुशल प्रसंस्करण संभव होता है
कीपॉइंट और एनोटेशन संरक्षण: डिटेक्शन एनोटेशन को सुरक्षित रखते हुए ऑब्जेक्ट क्रॉप निकालें (जैसे, कीपॉइंट्स सहित ऑब्जेक्ट्स का पता लगाएं, कीपॉइंट निर्देशांकों को बनाए रखते हुए ऑब्जेक्ट्स को क्रॉप करें, क्रॉप किए गए संदर्भ में कीपॉइंट्स का विश्लेषण करें), जिससे पूर्ण एनोटेशन संदर्भ के साथ केंद्रित विश्लेषण संभव होता है
बैच क्षेत्र निष्कर्षण: समानांतर प्रसंस्करण के लिए एकल छवियों से अनेक क्षेत्रों को निकालें (जैसे, छवि में सभी ऑब्जेक्ट्स का पता लगाएं, प्रत्येक ऑब्जेक्ट को अलग से क्रॉप करें, वर्गीकरण या विश्लेषण के लिए क्रॉप्स को समानांतर में संसाधित करें), जिससे अनेक क्षेत्रों का कुशल बैच प्रसंस्करण संभव होता है
प्रशिक्षण डेटा तैयारी: एनोटेट की गई छवियों से क्रॉप किए गए ऑब्जेक्ट डेटासेट बनाएं (जैसे, बाउंडिंग बॉक्स के साथ ऑब्जेक्ट्स का पता लगाएं, प्रत्येक ऑब्जेक्ट को अलग-अलग क्रॉप करें, प्रशिक्षण डेटा संग्रह के लिए क्रॉप्स निर्यात करें), जिससे पूर्ण छवियों से प्रशिक्षण नमूनों का स्वचालित निष्कर्षण संभव होता है
अन्य ब्लॉकों से जोड़ना
यह ब्लॉक छवियां और डिटेक्शन पूर्वानुमान प्राप्त करता है, और क्रॉप की गई छवियां उत्पन्न करता है:
डिटेक्शन ब्लॉक्स के बाद (उदा., ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, कीपॉइंट डिटेक्शन) ताकि पहचाने गए बाउंडिंग बॉक्स के आधार पर अलग-अलग ऑब्जेक्ट क्षेत्रों को निकाला जा सके, जिससे पहचाने गए ऑब्जेक्ट्स का अलग-अलग केंद्रित विश्लेषण संभव होता है
वर्गीकरण या विश्लेषण ब्लॉक्स से पहले जिन्हें ऑब्जेक्ट-केंद्रित इनपुट की आवश्यकता होती है (उदा., टेक्स्ट क्षेत्रों के लिए OCR, क्रॉप किए गए ऑब्जेक्ट्स के लिए सूक्ष्म वर्गीकरण, विस्तृत फ़ीचर निष्कर्षण), जिससे पूर्ण छवियों के बजाय व्यक्तिगत क्षेत्रों की विशेषीकृत प्रोसेसिंग संभव होती है
बहु-चरणीय डिटेक्शन कार्यप्रवाहों में जहां प्रारंभिक डिटेक्शनों का उपयोग द्वितीयक विश्लेषण के लिए क्षेत्रों को निकालने में किया जाता है (उदा., वाहनों का पता लगाएं, प्रत्येक वाहन को क्रॉप करें, क्रॉप्स में लाइसेंस प्लेट्स का पता लगाएं), जिससे श्रेणीबद्ध डिटेक्शन और विश्लेषण पाइपलाइनें संभव होती हैं
विज़ुअलाइज़ेशन ब्लॉकों से पहले जो व्यक्तिगत ऑब्जेक्ट्स प्रदर्शित करते हैं (उदा., क्रॉप किए गए ऑब्जेक्ट्स को अलग-अलग प्रदर्शित करें, पहचाने गए ऑब्जेक्ट्स की गैलरी बनाएं, पृथक ऑब्जेक्ट एनोटेशन दिखाएं), जिससे निकाले गए क्षेत्रों का केंद्रित दृश्यीकरण संभव होता है
इंस्टेंस सेगमेंटेशन वाले डिटेक्शन ब्लॉक्स के बाद साफ़ ऑब्जेक्ट क्रॉप बनाने के लिए, जिसमें बैकग्राउंड हटाया गया हो, जिससे विश्लेषण, प्रशिक्षण या प्रस्तुति के लिए पृथक ऑब्जेक्ट छवियां संभव होती हैं
कीपॉइंट डिटेक्शन कार्यप्रवाहों में जहां क्रॉप किए गए संदर्भों में कीपॉइंट निर्देशांकों को सुरक्षित रखना आवश्यक होता है (उदा., कीपॉइंट्स के साथ लोगों का पता लगाएं, प्रत्येक व्यक्ति को क्रॉप करें, क्रॉप की गई छवियों में मुद्रा का विश्लेषण करें), जिससे केंद्रित छवि क्षेत्रों में कीपॉइंट विश्लेषण संभव होता है
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फील्ड: roboflow_core/dynamic_crop@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक अद्वितीय पहचानकर्ता दर्ज करें..
❌
मास्क अपारदर्शिता
float
इंस्टेंस सेगमेंटेशन क्रॉप्स के लिए बैकग्राउंड हटाने की अपारदर्शिता (0.0 से 1.0 तक)। केवल तब लागू होता है जब पूर्वानुमानों में सेगमेंटेशन मास्क (इंस्टेंस सेगमेंटेशन पूर्वानुमान) हों। यह नियंत्रित करता है कि पहचाने गए इंस्टेंस के बाहर के बैकग्राउंड पिक्सेल्स कितनी आक्रामकता से हटाए जाएं: 0.0 क्रॉप को अपरिवर्तित छोड़ता है (कोई बैकग्राउंड हटाना नहीं), 1.0 बैकग्राउंड को background_color से पूरी तरह बदल देता है, और इनके बीच के मान मूल क्रॉप को बैकग्राउंड के साथ ब्लेंड करते हैं। अधिक मान अधिक साफ़, ऑब्जेक्ट-केंद्रित क्रॉप बनाते हैं। बैकग्राउंड हटाने को अक्षम करने के लिए 0.0 पर सेट करें। मास्क वाले इंस्टेंस सेगमेंटेशन पूर्वानुमानों की आवश्यकता होती है।
✅
background_color
Union[Tuple[int, int, int], str]
इंस्टेंस सेगमेंटेशन क्रॉप्स से बैकग्राउंड हटाते समय उपयोग किया जाने वाला बैकग्राउंड रंग। केवल तब लागू होता है जब mask_opacity > 0 हो और पूर्वानुमानों में सेगमेंटेशन मास्क हों। पहचाने गए इंस्टेंस मास्क के बाहर के बैकग्राउंड पिक्सेल्स को इस रंग से बदल दिया जाता है। इसे इस प्रकार निर्दिष्ट किया जा सकता है: हेक्स स्ट्रिंग (जैसे, '#431112' या '#fff'), कोष्ठकों में RGB स्ट्रिंग (जैसे, '(128, 32, 64)'), या RGB टपल (जैसे, (18, 17, 67)). डिफ़ॉल्ट रूप से काला (0, 0, 0) होता है। सफ़ेद बैकग्राउंड के लिए सफ़ेद (255, 255, 255) या '#ffffff' का उपयोग करें, या अपने उपयोग-केस की बैकग्राउंड आवश्यकताओं के अनुसार चुनें। रंग मानों को RGB के रूप में समझा जाता है और इमेज प्रोसेसिंग के लिए BGR में परिवर्तित किया जाता है।
✅
यह संदर्भ कॉलम यह दर्शाता है कि प्रॉपर्टी को गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है, जो वर्कफ़्लो रनटाइम में उपलब्ध हैं। अधिक जानकारी के लिए देखें Bindings ।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। जाँचें कि कौन-से बाइंडिंग प्रकार गतिशील क्रॉप संस्करण में v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
छवियाँ(image): क्रॉप किए गए क्षेत्रों को निकालने के लिए इनपुट छवि(याँ)। यह एक एकल छवि या छवियों का बैच हो सकता है। प्रत्येक छवि को संबंधित डिटेक्शन पूर्वानुमानों के साथ संसाधित किया जाएगा ताकि बाउंडिंग बॉक्स क्षेत्र निकाले जा सकें। क्रॉप किए गए क्षेत्र पूर्वानुमानों में मौजूद बाउंडिंग बॉक्स के आधार पर निकाले जाते हैं। नेस्टेड क्रॉपिंग कार्यप्रवाहों के लिए किसी अन्य Dynamic Crop चरण से पहले से क्रॉप की गई छवियों को भी स्वीकार कर सकता है।भविष्यवाणियाँ(Union[instance_segmentation_prediction,keypoint_detection_prediction,object_detection_prediction]): डिटेक्शन मॉडल के पूर्वानुमान जिनमें बाउंडिंग बॉक्स शामिल हैं, जो छवियों से क्रॉप किए जाने वाले क्षेत्रों को परिभाषित करते हैं। ऑब्जेक्ट डिटेक्शन (बाउंडिंग बॉक्स), इंस्टेंस सेगमेंटेशन (सेगमेंटेशन मास्क वाले बाउंडिंग बॉक्स), या कीपॉइंट डिटेक्शन (कीपॉइंट्स वाले बाउंडिंग बॉक्स) पूर्वानुमानों का समर्थन करता है। पूर्वानुमानों में प्रत्येक बाउंडिंग बॉक्स निकाले जाने वाले एक आयताकार क्षेत्र को परिभाषित करता है। क्रॉप ट्रैकिंग के लिए पूर्वानुमानों में डिटेक्शन आईडी शामिल होनी चाहिए। प्रति छवि कई डिटेक्शन होने पर प्रति छवि कई क्रॉप बनते हैं।मास्क अपारदर्शिता(float_zero_to_oneइंस्टेंस सेगमेंटेशन क्रॉप्स के लिए बैकग्राउंड हटाने की अपारदर्शिता (0.0 से 1.0 तक)। केवल तब लागू होता है जब पूर्वानुमानों में सेगमेंटेशन मास्क (इंस्टेंस सेगमेंटेशन पूर्वानुमान) हों। यह नियंत्रित करता है कि पहचाने गए इंस्टेंस के बाहर के बैकग्राउंड पिक्सेल्स कितनी आक्रामकता से हटाए जाएं: 0.0 क्रॉप को अपरिवर्तित छोड़ता है (कोई बैकग्राउंड हटाना नहीं), 1.0 बैकग्राउंड को background_color से पूरी तरह बदल देता है, और इनके बीच के मान मूल क्रॉप को बैकग्राउंड के साथ ब्लेंड करते हैं। अधिक मान अधिक साफ़, ऑब्जेक्ट-केंद्रित क्रॉप बनाते हैं। बैकग्राउंड हटाने को अक्षम करने के लिए 0.0 पर सेट करें। मास्क वाले इंस्टेंस सेगमेंटेशन पूर्वानुमानों की आवश्यकता होती है।background_color(Union[rgb_color,स्ट्रिंग]इंस्टेंस सेगमेंटेशन क्रॉप्स से बैकग्राउंड हटाते समय उपयोग किया जाने वाला बैकग्राउंड रंग। केवल तब लागू होता है जब mask_opacity > 0 हो और पूर्वानुमानों में सेगमेंटेशन मास्क हों। पहचाने गए इंस्टेंस मास्क के बाहर के बैकग्राउंड पिक्सेल्स को इस रंग से बदल दिया जाता है। इसे इस प्रकार निर्दिष्ट किया जा सकता है: हेक्स स्ट्रिंग (जैसे, '#431112' या '#fff'), कोष्ठकों में RGB स्ट्रिंग (जैसे, '(128, 32, 64)'), या RGB टपल (जैसे, (18, 17, 67)). डिफ़ॉल्ट रूप से काला (0, 0, 0) होता है। सफ़ेद बैकग्राउंड के लिए सफ़ेद (255, 255, 255) या '#ffffff' का उपयोग करें, या अपने उपयोग-केस की बैकग्राउंड आवश्यकताओं के अनुसार चुनें। रंग मानों को RGB के रूप में समझा जाता है और इमेज प्रोसेसिंग के लिए BGR में परिवर्तित किया जाता है।
आउटपुट
क्रॉप्स(image): वर्कफ़्लो में छवि।भविष्यवाणियाँ(Union[object_detection_prediction,instance_segmentation_prediction,keypoint_detection_prediction]): यदिobject_detection_predictionया यदिinstance_segmentation_predictionया sv.Detections(...) ऑब्जेक्ट के रूप में पहचाने गए बाउंडिंग बॉक्स और पहचाने गए कीपॉइंट वाले पूर्वानुमान यदिkeypoint_detection_prediction.
अंतिम अपडेट
क्या यह उपयोगी था?