डिटेक्शन फ़िल्टर
मॉडल पूर्वानुमानों को शर्तानुसार फ़िल्टर करें।
अनुकूलन योग्य शर्तों के आधार पर डिटेक्शन प्रेडिक्शनों को फ़िल्टर करें, और उन डिटेक्शनों को चुनिंदा रूप से हटाएँ जो निर्दिष्ट मानदंडों (जैसे, क्लास नाम, कॉन्फ़िडेंस स्कोर, बाउंडिंग बॉक्स गुण) को पूरा नहीं करते, जबकि केवल आपकी फ़िल्टरिंग लॉजिक से मेल खाने वाले डिटेक्शनों को बनाए रखें।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक एक लचीली क्वेरी भाषा प्रणाली का उपयोग करके डिटेक्शन प्रेडिक्शनों पर सशर्त फ़िल्टरिंग लागू करता है। यह ब्लॉक:
डिटेक्शन प्रेडिक्शनों (ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) और फ़िल्टरिंग ऑपरेशन परिभाषाओं को इनपुट के रूप में लेता है
में निर्दिष्ट फ़िल्टरिंग शर्तों के विरुद्ध प्रत्येक डिटेक्शन का मूल्यांकन करता है
operationsपैरामीटरप्रॉपर्टी एक्सट्रैक्शन ऑपरेशनों का उपयोग करके डिटेक्शन गुणों (जैसे, class_name, confidence, bounding box coordinates) को निकालता है
बाइनरी स्टेटमेंट्स (जैसे, class_name in list, confidence > threshold) का उपयोग करके निकाले गए गुणों की मानदंडों से तुलना करता है
उन डिटेक्शनों को फ़िल्टर करता है जो शर्तों से मेल नहीं खाते, और केवल उन डिटेक्शनों को रखता है जो फ़िल्टर मानदंडों को पूरा करते हैं
फ़िल्टर की गई प्रेडिक्शनों को लौटाता है, जिनमें केवल वे डिटेक्शन शामिल होते हैं जो फ़िल्टर शर्तों से पास हुए
यह ब्लॉक एक क्वेरी भाषा प्रणाली का उपयोग करता है जो विभिन्न डिटेक्शन गुणों (क्लास नाम, कॉन्फ़िडेंस स्कोर, बाउंडिंग बॉक्स निर्देशांक, आदि) को निकालने और डिटेक्शनों को फ़िल्टर करने के लिए सशर्त लॉजिक लागू करने का समर्थन करती है। फ़िल्टरिंग ऑपरेशन जाँच सकते हैं कि गुण सूचियों में हैं या नहीं, संख्यात्मक मानों की तुलना कर सकते हैं, स्ट्रिंग समानता जाँच सकते हैं, या अन्य तुलनाकारों का उपयोग कर सकते हैं। operations_parameters डिक्शनरी रनटाइम मान (जैसे क्लास नाम सूचियाँ या थ्रेशहोल्ड) प्रदान करती है, जिनका फ़िल्टरिंग ऑपरेशनों में संदर्भ लिया जाता है, जिससे गतिशील फ़िल्टरिंग मानदंड संभव होते हैं जो वर्कफ़्लो इनपुट या गणना किए गए मानों के आधार पर बदल सकते हैं। कई फ़िल्टरिंग ऑपरेशनों को जोड़कर जटिल फ़िल्टरिंग लॉजिक बनाया जा सकता है।
सामान्य उपयोग के मामले
क्लास-आधारित फ़िल्टरिंग: डिटेक्शनों को फ़िल्टर करके केवल विशिष्ट ऑब्जेक्ट क्लासेज़ रखें (जैसे, केवल "person" और "car" डिटेक्शन रखें, बाकी सभी हटाएँ), जिससे अप्रासंगिक ऑब्जेक्ट प्रकारों को बाहर रखते हुए संबंधित ऑब्जेक्ट प्रकारों पर केंद्रित प्रोसेसिंग संभव हो
कॉन्फ़िडेंस थ्रेशहोल्ड फ़िल्टरिंग: कम-विश्वास वाले डिटेक्शनों को हटाएँ ताकि डिटेक्शन गुणवत्ता बेहतर हो सके (जैसे, confidence > 0.7 वाले डिटेक्शन रखें, अनिश्चित प्रेडिक्शनों को फ़िल्टर करें), जिससे डाउनस्ट्रीम प्रोसेसिंग विश्वसनीय डिटेक्शनों के साथ काम करे
बहु-मानदंड फ़िल्टरिंग: कई फ़िल्टरिंग शर्तों को एक साथ लागू करें (जैसे, जहाँ class_name अनुमत सूची में हो AND confidence > threshold हो), सटीक नियंत्रण के लिए क्लास और कॉन्फ़िडेंस फ़िल्टरिंग को संयोजित करें
वर्कफ़्लो स्थिति के आधार पर गतिशील फ़िल्टरिंग: फ़िल्टरिंग मानदंड निर्धारित करने के लिए वर्कफ़्लो इनपुट या गणना किए गए मानों का उपयोग करें (जैसे, उपयोगकर्ता इनपुट के आधार पर क्लासेज़ फ़िल्टर करें, प्रकाश स्थितियों के आधार पर confidence threshold समायोजित करें), जिससे बदलती परिस्थितियों के अनुसार अनुकूल फ़िल्टरिंग संभव हो
डाउनस्ट्रीम ब्लॉक्स के लिए पूर्व-प्रसंस्करण: विज़ुअलाइज़ेशन, काउंटिंग, या स्टोरेज ब्लॉक्स को पास करने से पहले डिटेक्शनों को फ़िल्टर करें (जैसे, गिनती से पहले false positives हटाएँ, विज़ुअलाइज़ेशन से पहले background classes फ़िल्टर करें), जिससे शोर कम होता है और बाद के ऑपरेशनों की सटीकता बढ़ती है
चयनात्मक प्रोसेसिंग वर्कफ़्लोज़: अलग-अलग फ़िल्टर किए गए उपसमूहों को अलग-अलग डाउनस्ट्रीम ब्लॉक्स तक रूट करें (जैसे, उच्च-विश्वास डिटेक्शनों को एक पथ पर, कम-विश्वास को दूसरे पर), जिससे डिटेक्शन गुणवत्ता या प्रकार के आधार पर सशर्त प्रोसेसिंग संभव हो
अन्य ब्लॉकों से जोड़ना
इस ब्लॉक से फ़िल्टर किए गए पूर्वानुमान इससे जोड़े जा सकते हैं:
डिटेक्शन मॉडल ब्लॉक (जैसे, ऑब्जेक्ट डिटेक्शन मॉडल, इंस्टेंस सेगमेंटेशन मॉडल, कीपॉइंट डिटेक्शन मॉडल) ताकि वे ऐसी प्रेडिक्शन्स प्राप्त करें जो क्लास, कॉन्फ़िडेंस, या अन्य गुणों के आधार पर फ़िल्टर की गई हों
विज़ुअलाइज़ेशन ब्लॉक (जैसे, बाउंडिंग बॉक्स विज़ुअलाइज़ेशन, पॉलीगॉन विज़ुअलाइज़ेशन, लेबल विज़ुअलाइज़ेशन) ताकि केवल फ़िल्टर किए गए डिटेक्शन प्रदर्शित हों, दृश्य अव्यवस्था कम हो और संबंधित ऑब्जेक्ट्स पर ध्यान केंद्रित हो
गिनती और विश्लेषण ब्लॉक (जैसे, Line Counter, Time in Zone, Velocity) ताकि केवल विशिष्ट फ़िल्टर की गई क्लासेज़ या कॉन्फ़िडेंस स्तरों को गिना या विश्लेषित किया जा सके, जिससे रुचि के ऑब्जेक्ट्स के लिए सटीक मेट्रिक्स सुनिश्चित हों
डेटा संग्रहण ब्लॉक (जैसे, Local File Sink, CSV Formatter, Roboflow Dataset Upload, Webhook Sink) ताकि केवल फ़िल्टर किए गए डिटेक्शन परिणाम सहेजे या प्रेषित किए जाएँ, अप्रासंगिक डिटेक्शनों को बाहर रखकर स्टोरेज और बैंडविड्थ उपयोग कम हो
अन्य ट्रांसफ़ॉर्मेशन ब्लॉक्स (जैसे, Detections Merge, Detections Transform, Detection Offset) ताकि फ़िल्टर किए गए उपसमूह पर अतिरिक्त रूपांतरण लागू किए जा सकें, जिससे फ़िल्टर किए गए डिटेक्शनों पर जटिल प्रोसेसिंग पाइपलाइन संभव हो
फ़्लो नियंत्रण ब्लॉक (जैसे, Continue If, Rate Limiter) ताकि फ़िल्टर किए गए डिटेक्शन कुछ मानदंडों को पूरा करते हैं या नहीं, इसके आधार पर डाउनस्ट्रीम प्रोसेसिंग को सशर्त रूप से ट्रिगर किया जा सके, जिससे फ़िल्टर किए गए परिणामों पर आधारित सशर्त वर्कफ़्लोज़ संभव हों
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फील्ड: roboflow_core/detections_filter@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक अद्वितीय पहचानकर्ता दर्ज करें..
❌
operations
List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]
क्वेरी भाषा प्रणाली का उपयोग करके फ़िल्टरिंग लॉजिक की परिभाषा। यह एक या अधिक फ़िल्टरिंग ऑपरेशनों (जैसे, DetectionsFilter) को निर्दिष्ट करता है जो सशर्त लॉजिक परिभाषित करने के लिए StatementGroup सिंटैक्स का उपयोग करते हैं। प्रत्येक ऑपरेशन डिटेक्शन गुणों (class_name, confidence, coordinates, आदि) को निकाल सकता है और बाइनरी स्टेटमेंट्स (जैसे, class_name in list, confidence > threshold) का उपयोग करके उनकी तुलना कर सकता है। जटिल फ़िल्टरिंग लॉजिक बनाने के लिए कई ऑपरेशनों को चेन किया जा सकता है। ऑपरेशन, रनटाइम मानों तक पहुँचने के लिए operations_parameters से पैरामीटर नामों का संदर्भ लेते हैं..
❌
यह संदर्भ कॉलम यह दर्शाता है कि प्रॉपर्टी को गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है, जो वर्कफ़्लो रनटाइम में उपलब्ध हैं। अधिक जानकारी के लिए देखें Bindings ।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। जाँचें कि कौन-से बाइंडिंग प्रकार पहचानों का फ़िल्टर संस्करण में v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
भविष्यवाणियाँ(Union[instance_segmentation_prediction,keypoint_detection_prediction,object_detection_prediction]): फ़िल्टर करने के लिए डिटेक्शन प्रेडिक्शन्स (ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन)। प्रत्येक डिटेक्शन का मूल्यांकन operations पैरामीटर में निर्दिष्ट फ़िल्टरिंग शर्तों के विरुद्ध किया जाता है। केवल वे डिटेक्शन जो फ़िल्टर मानदंडों से मेल खाते हैं, आउटपुट में शामिल होते हैं। बैच प्रोसेसिंग का समर्थन करता है, जिससे एक साथ कई डिटेक्शन सेटों को फ़िल्टर किया जा सकता है..operations_parameters(*): पैरामीटर नामों (operations में संदर्भित) को वर्कफ़्लो के वास्तविक मानों से मैप करने वाली डिक्शनरी। ये पैरामीटर फ़िल्टरिंग ऑपरेशनों में उपयोग किए जाने वाले रनटाइम मान प्रदान करते हैं (जैसे, क्लास नाम सूचियाँ, confidence thresholds)। कुंजियाँ operations परिभाषा में उपयोग किए गए पैरामीटर नामों से मेल खाती हैं, और मान वर्कफ़्लो इनपुट, स्टेप आउटपुट, या गणना किए गए मानों का संदर्भ देने वाले चयनकर्ता होते हैं। उदाहरण: {'classes': '$inputs.allowed_classes', 'threshold': 0.7} जहाँ 'classes' और 'threshold' operations में संदर्भित हैं..
आउटपुट
भविष्यवाणियाँ(Union[object_detection_prediction,instance_segmentation_prediction,keypoint_detection_prediction]): यदिobject_detection_predictionया यदिinstance_segmentation_predictionया sv.Detections(...) ऑब्जेक्ट के रूप में पहचाने गए बाउंडिंग बॉक्स और पहचाने गए कीपॉइंट वाले पूर्वानुमान यदिkeypoint_detection_prediction.
अंतिम अपडेट
क्या यह उपयोगी था?