डिटेक्शन सर्वसम्मति
वस्तु की उपस्थिति के बारे में निर्णय लेने के लिए कई detection models की predictions को मिलाएँ।
बहु-मत सहमति रणनीति का उपयोग करके कई मॉडलों की डिटेक्शन भविष्यवाणियों को संयोजित करें, विभिन्न मॉडलों से पर्याप्त वोट प्राप्त करने वाली ओवरलैपिंग डिटेक्शनों को मिलाएँ, और उनकी विशेषताओं (विश्वास स्कोर, बाउंडिंग बॉक्स, मास्क) को बेहतर सटीकता और विश्वसनीयता के साथ एकीकृत सहमति डिटेक्शनों में समेकित करें.
यह ब्लॉक कैसे काम करता है
यह ब्लॉक डिटेक्शनों को स्वीकार करने से पहले मॉडलों के बीच सहमति (कंसेंसस) की आवश्यकता रखकर कई डिटेक्शन मॉडलों की भविष्यवाणियों को जोड़ता है। यह ब्लॉक:
इनपुट के रूप में कई मॉडल स्रोतों (ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) से डिटेक्शन भविष्यवाणियाँ लेता है
बाउंडिंग बॉक्स के बीच Intersection over Union (IoU) की गणना करके स्थानिक रूप से ओवरलैप होने वाली विभिन्न मॉडलों की डिटेक्शनों का मिलान करता है
यह निर्धारित करने के लिए कि वे एक ही वस्तु का प्रतिनिधित्व करती हैं या नहीं, ओवरलैपिंग डिटेक्शनों की IoU थ्रेशहोल्ड से तुलना करता है
अन्य मॉडलों से मिलती-जुलती डिटेक्शन ढूँढ़कर प्रत्येक डिटेक्शन के लिए "वोट" गिनता है (यदि सक्षम हो तो क्लास-जागरूकता के अधीन)
डिटेक्शन को सहमति आउटपुट का हिस्सा मानने से पहले न्यूनतम संख्या में वोट (
required_votes) की आवश्यकता रखता हैकॉन्फ़िगर किए जा सकने वाले मोड का उपयोग करके मिलती-जुलती डिटेक्शनों की विशेषताओं को समेकित करता है:
विश्वास समेकन: औसत, अधिकतम, या न्यूनतम का उपयोग करके विश्वास स्कोर को संयोजित करता है
निर्देशांक समेकन: औसत (माध्य निर्देशांक), अधिकतम (सबसे बड़ा बॉक्स), या न्यूनतम (सबसे छोटा बॉक्स) का उपयोग करके बाउंडिंग बॉक्स को मिलाता है
मास्क समेकन (इंस्टेंस सेगमेंटेशन के लिए): यूनियन, इंटरसेक्शन, अधिकतम, या न्यूनतम का उपयोग करके मास्क को संयोजित करता है
क्लास चयन: बहुमत मत (औसत), सबसे अधिक विश्वास (अधिकतम), या सबसे कम विश्वास (न्यूनतम) के आधार पर क्लास नाम चुनता है
वैकल्पिक मानदंडों (विचार करने के लिए विशिष्ट क्लास, न्यूनतम विश्वास थ्रेशहोल्ड) के आधार पर डिटेक्शनों को फ़िल्टर करता है
सहमति परिणामों में आवश्यक संख्या में वस्तुएँ (क्लास के अनुसार या कुल) मौजूद हैं या नहीं, यह जाँचकर वस्तु की उपस्थिति निर्धारित करता है
मिले हुए सहमति डिटेक्शन, वस्तु-उपस्थिति संकेतक, और उपस्थिति विश्वास स्कोर लौटाता है
यह ब्लॉक क्लास-जागरूक या क्लास-अज्ञेय मिलान सक्षम करता है: जब class_aware सही होता है, तो केवल मिलती-जुलती क्लास नाम वाली डिटेक्शन को वोटिंग के लिए माना जाता है; जब यह गलत होता है, तो कोई भी ओवरलैपिंग डिटेक्शन (क्लास की परवाह किए बिना) वोट देती है। सहमति तंत्र झूठे सकारात्मक (केवल एक मॉडल द्वारा देखी गई डिटेक्शन) को कम करने में मदद करता है और वस्तु की उपस्थिति पर कई मॉडलों की सहमति की आवश्यकता रखकर विश्वसनीयता बढ़ाता है। समेकन मोड ओवरलैपिंग डिटेक्शनों को संयोजित करने के तरीके में लचीलापन देते हैं, और रूढ़िवादी (इंटरसेक्शन, न्यूनतम) तथा समावेशी (यूनियन, अधिकतम) रणनीतियों के बीच संतुलन बनाते हैं।
सामान्य उपयोग के मामले
बहु-मॉडल एन्सेम्बल: कई विशेषीकृत मॉडलों (जैसे, एक लोगों के लिए अनुकूलित, दूसरा वाहनों के लिए) की भविष्यवाणियों को संयोजित करके समग्र डिटेक्शन सटीकता में सुधार करें, विभिन्न मॉडलों की ताकतों का लाभ उठाते हुए केवल एक मॉडल द्वारा देखी गई डिटेक्शनों को फ़िल्टर करें
झूठे सकारात्मक कम करना: डिटेक्शन स्वीकार करने से पहले कई मॉडलों से सहमति की आवश्यकता रखें (जैसे, किसी वस्तु का पता लगाने के लिए 3 में से 2 मॉडल की आवश्यकता), केवल एक मॉडल द्वारा देखी गई डिटेक्शनों को फ़िल्टर करके झूठे सकारात्मक कम करें
डिटेक्शन विश्वसनीयता में सुधार: विश्वास बढ़ाने के लिए बहु-मत का उपयोग करें (जैसे, 3 मॉडलों से ओवरलैपिंग डिटेक्शन को मिलाएँ, और केवल 2+ वोट वाली डिटेक्शन रखें), यह सुनिश्चित करते हुए कि केवल उच्च-विश्वास वाली, बहु-मॉडल-सहमति प्राप्त डिटेक्शन ही बनी रहें
वस्तु उपस्थिति डिटेक्शन: सहमति के आधार पर निर्धारित करें कि क्या विशिष्ट वस्तुएँ मौजूद हैं (जैसे, जाँचें कि मॉडलों में कम से कम 2 "person" डिटेक्शन मौजूद हैं, उपस्थिति निर्धारित करने के लिए समेकित विश्वास का उपयोग करें), जिससे कॉन्फ़िगर किए जा सकने वाले थ्रेशहोल्ड के साथ मज़बूत वस्तु-उपस्थिति जाँच संभव हो
क्लास-विशिष्ट सहमति: प्रत्येक क्लास के लिए अलग-अलग सहमति आवश्यकताएँ लागू करें (जैसे, "car" के लिए 3 वोट लेकिन "person" के लिए केवल 2 वोट आवश्यक हों), जिससे महत्वपूर्ण वस्तुओं के लिए अधिक सख्त मानदंड और सामान्य डिटेक्शनों के लिए अधिक उदारता मिलती है
विशेषीकृत मॉडल फ्यूज़न: सामान्य-उद्देश्य और विशेषीकृत मॉडलों (जैसे, सामान्य ऑब्जेक्ट डिटेक्टर + विशेषीकृत लाइसेंस प्लेट डिटेक्टर) को संयोजित करें, जिससे एक एकीकृत डिटेक्शन सिस्टम बने जो व्यापक कवरेज और विशिष्ट विशेषज्ञता दोनों का लाभ उठाए
अन्य ब्लॉकों से जोड़ना
इस ब्लॉक की सहमति भविष्यवाणियाँ इससे जोड़ी जा सकती हैं:
कई डिटेक्शन मॉडल ब्लॉक (जैसे, ऑब्जेक्ट डिटेक्शन मॉडल, इंस्टेंस सेगमेंटेशन मॉडल) ताकि विभिन्न मॉडलों से भविष्यवाणियाँ प्राप्त हों, जिन्हें बहुमत मत और स्थानिक ओवरलैप मिलान के आधार पर सहमति डिटेक्शनों में मिलाया जाता है
विज़ुअलाइज़ेशन ब्लॉक (जैसे, बाउंडिंग बॉक्स विज़ुअलाइज़ेशन, पॉलीगॉन विज़ुअलाइज़ेशन, लेबल विज़ुअलाइज़ेशन) ताकि मिली हुई सहमति डिटेक्शनों को प्रदर्शित किया जा सके, और कई मॉडलों के बेहतर सटीकता वाले एकीकृत परिणाम दिखाए जा सकें
गिनती और विश्लेषण ब्लॉक (जैसे, लाइन काउंटर, ज़ोन में समय, वेग) ताकि सहमति डिटेक्शनों की गिनती या विश्लेषण किया जा सके, और बहु-मॉडल सहमति पर आधारित अधिक विश्वसनीय मीट्रिक प्रदान किए जा सकें
डेटा संग्रहण ब्लॉक (जैसे, लोकल फ़ाइल सिंक, CSV फ़ॉर्मैटर, Roboflow डेटासेट अपलोड, वेबहुक सिंक) ताकि सहमति डिटेक्शन परिणामों को सहेजा या प्रेषित किया जा सके, और ऐसे समेकित पूर्वानुमान संग्रहीत किए जा सकें जो बहु-मॉडल सहमति का प्रतिनिधित्व करते हैं
फ़्लो नियंत्रण ब्लॉक (जैसे, Continue If) ताकि आधारित रूप से डाउनस्ट्रीम प्रोसेसिंग को शर्तीय रूप से ट्रिगर किया जा सके
object_presentसंकेतक याpresence_confidenceस्कोर, जिससे ऐसे वर्कफ़्लो सक्षम हों जो वस्तु की उपस्थिति पर बहु-मॉडल सहमति पर प्रतिक्रिया देंफ़िल्टरिंग ब्लॉक (जैसे, Detections Filter) ताकि अतिरिक्त मानदंडों के आधार पर सहमति डिटेक्शनों को और परिष्कृत किया जा सके, जिससे सहमति फ्यूज़न के बाद बहु-चरणीय फ़िल्टरिंग संभव हो
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फील्ड: roboflow_core/detections_consensus@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक अद्वितीय पहचानकर्ता दर्ज करें..
❌
required_votes
int
सहमति आउटपुट में किसी डिटेक्शन को स्वीकार करने के लिए आवश्यक वोटों की न्यूनतम संख्या (विभिन्न मॉडलों से मेल खाने वाली डिटेक्शन)। इससे कम वोट पाने वाली डिटेक्शन फ़िल्टर कर दी जाती हैं। उदाहरण के लिए, यदि इसे 2 पर सेट किया जाए, तो सहमति परिणामों में आने के लिए कम से कम 2 मॉडलों को एक ओवरलैपिंग वस्तु (IoU थ्रेशहोल्ड से ऊपर) का पता लगाना होगा। अधिक मान अधिक सख्त सहमति आवश्यकताएँ बनाते हैं, जिससे झूठे सकारात्मक कम होते हैं लेकिन कम मॉडलों द्वारा देखी गई डिटेक्शन छूट भी सकती हैं..
✅
class_aware
bool
यदि सत्य है, तो केवल विभिन्न मॉडलों की मिलती-जुलती क्लास नाम वाली डिटेक्शन को ही एक ही वस्तु के वोट के रूप में माना जाता है। यदि असत्य है, तो कोई भी ओवरलैपिंग डिटेक्शन (क्लास की परवाह किए बिना) वोट देती है। क्लास-जागरूक मोड अधिक रूढ़िवादी होता है और सहमति में क्लास सुसंगति सुनिश्चित करता है, जबकि क्लास-अज्ञेय मोड विभिन्न क्लासों के बीच वोटिंग की अनुमति देता है लेकिन भिन्न वस्तु प्रकारों की डिटेक्शन को मिला सकता है..
✅
iou_threshold
float
विभिन्न मॉडलों की डिटेक्शन को एक ही वस्तु के रूप में मिलान करने के लिए विचार करने हेतु Intersection over Union (IoU) थ्रेशहोल्ड। इस थ्रेशहोल्ड से ऊपर IoU वाली डिटेक्शन ओवरलैपिंग मानी जाती हैं और एक-दूसरे को वोट देती हैं। कम मान (जैसे, 0.2) अधिक उदार होते हैं और कम ओवरलैप वाली डिटेक्शन से मेल खाते हैं, जबकि अधिक मान (जैसे, 0.5) मिलान के लिए अधिक मज़बूत स्थानिक ओवरलैप की आवश्यकता रखते हैं। सामान्य मान 0.2 से 0.5 तक होते हैं..
✅
विश्वास
float
मिले हुए सहमति डिटेक्शनों पर लागू विश्वास थ्रेशहोल्ड। आउटपुट में केवल वे डिटेक्शन शामिल होती हैं जिनके समेकित विश्वास स्कोर इस थ्रेशहोल्ड से ऊपर हों। विश्वास फ़िल्टरिंग अक्षम करने के लिए 0.0 पर सेट करें। अधिक मान कम-विश्वास वाली सहमति डिटेक्शन को फ़िल्टर करते हैं, जिससे आउटपुट गुणवत्ता बेहतर होती है लेकिन संभावित रूप से वैध पर कम-विश्वास वाली डिटेक्शन हट सकती हैं..
✅
classes_to_consider
List[str]
सहमति प्रक्रिया में शामिल करने के लिए क्लास नामों की वैकल्पिक सूची। यदि दी जाए, तो केवल इन क्लास की डिटेक्शन को वोटिंग और मर्जिंग के लिए माना जाता है; सभी अन्य क्लास सहमति मिलान से पहले फ़िल्टर कर दी जाती हैं। इसका उपयोग असंगत डिटेक्शन को अनदेखा करते हुए सहमति को विशिष्ट वस्तु प्रकारों पर केंद्रित करने के लिए करें। यदि None हो, तो सभी क्लास सहमति में भाग लेती हैं..
✅
required_objects
Optional[Dict[str, int], int]
वस्तु की उपस्थिति निर्धारित करने के लिए आवश्यक वस्तुओं की वैकल्पिक न्यूनतम संख्या। यह एक पूर्णांक हो सकता है (सभी क्लासों में कुल वस्तुएँ) या क्लास नामों को प्रति-क्लास न्यूनतम गिनती से मैप करने वाला एक डिक्शनरी। वस्तु_present आउटपुट के साथ मिलकर इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि प्रत्येक क्लास की पर्याप्त वस्तुएँ मिली हैं या नहीं। उदाहरण के लिए, 3 का अर्थ है कि कुल कम से कम 3 वस्तुएँ मौजूद होनी चाहिए, जबकि {'person': 2, 'car': 1} के लिए कम से कम 2 व्यक्ति और 1 कार आवश्यक हैं। यदि None हो, तो वस्तु की उपस्थिति केवल इस आधार पर निर्धारित की जाती है कि कोई सहमति डिटेक्शन मौजूद हैं या नहीं..
✅
presence_confidence_aggregation
AggregationMode
उपस्थिति विश्वास स्कोर की गणना के लिए समेकन मोड। यह निर्धारित करता है कि वस्तु-उपस्थिति विश्वास की गणना करते समय विश्वास मान कैसे संयोजित किए जाएँ: 'average' (औसत विश्वास), 'max' (सबसे अधिक विश्वास), या 'min' (सबसे कम विश्वास)। यह मोड presence_confidence आउटपुट पर लागू होता है, जो यह दर्शाता है कि आवश्यक वस्तुएँ मौजूद हैं या नहीं, इसका विश्वास..
❌
detections_merge_confidence_aggregation
AggregationMode
ओवरलैपिंग डिटेक्शन के विश्वास स्कोर को मर्ज करने के लिए समेकन मोड। 'average' औसत विश्वास की गणना करता है (बहुमत मत दृष्टिकोण), 'max' मिलती-जुलती डिटेक्शन के बीच सबसे अधिक विश्वास का उपयोग करता है, 'min' सबसे कम विश्वास का उपयोग करता है। क्लास चयन के लिए, 'average' बहुमत मत (सबसे सामान्य क्लास) का प्रतिनिधित्व करता है, 'max' सबसे अधिक विश्वास वाली डिटेक्शन से क्लास चुनता है, 'min' सबसे कम विश्वास वाली डिटेक्शन से क्लास चुनता है..
❌
detections_merge_coordinates_aggregation
AggregationMode
ओवरलैपिंग डिटेक्शन के बाउंडिंग बॉक्स निर्देशांकों को मर्ज करने के लिए समेकन मोड। 'average' सभी मिलती-जुलती बॉक्स से औसत निर्देशांक की गणना करता है (संतुलित दृष्टिकोण), 'max' सबसे बड़ा बॉक्स लेता है (सबसे समावेशी), 'min' सबसे छोटा बॉक्स लेता है (सबसे रूढ़िवादी)। यह मोड केवल बाउंडिंग बॉक्स पर लागू होता है; मास्क समेकन के लिए detections_merge_mask_aggregation का उपयोग किया जाता है..
❌
detections_merge_mask_aggregation
MaskAggregationMode
ओवरलैपिंग डिटेक्शन के सेगमेंटेशन मास्क को मर्ज करने के लिए समेकन मोड। 'union' सभी मास्क को मिलाकर सबसे बड़ा संभव क्षेत्र बनाता है (सबसे समावेशी), 'intersection' केवल ओवरलैपिंग क्षेत्र लेता है (सबसे रूढ़िवादी), 'max' सबसे बड़ा मास्क चुनता है, 'min' सबसे छोटा मास्क चुनता है। यह मोड केवल मास्क वाली इंस्टेंस सेगमेंटेशन डिटेक्शन पर लागू होता है; बाउंडिंग बॉक्स डिटेक्शन detections_merge_coordinates_aggregation का उपयोग करती हैं..
❌
यह संदर्भ कॉलम यह दर्शाता है कि प्रॉपर्टी को गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है, जो वर्कफ़्लो रनटाइम में उपलब्ध हैं। अधिक जानकारी के लिए देखें Bindings ।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। जाँचें कि कौन-से बाइंडिंग प्रकार पहचानों की सहमति संस्करण में v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
predictions_batches(Union[instance_segmentation_prediction,keypoint_detection_prediction,object_detection_prediction]): कई मॉडलों से डिटेक्शन भविष्यवाणियों के संदर्भों की सूची। प्रत्येक मॉडल की भविष्यवाणियाँ उसी इनपुट छवि पर की जानी चाहिए। भविष्यवाणियाँ ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन मॉडल से हो सकती हैं। यह ब्लॉक मॉडलों के बीच ओवरलैपिंग डिटेक्शन का मिलान करता है और सहमति आउटपुट में डिटेक्शन स्वीकार करने से पहले वोटों की न्यूनतम संख्या (required_votes) की आवश्यकता रखता है। कम से कम एक भविष्यवाणी स्रोत आवश्यक है। बैच प्रोसेसिंग का समर्थन करता है..required_votes(integer): सहमति आउटपुट में किसी डिटेक्शन को स्वीकार करने के लिए आवश्यक वोटों की न्यूनतम संख्या (विभिन्न मॉडलों से मेल खाने वाली डिटेक्शन)। इससे कम वोट पाने वाली डिटेक्शन फ़िल्टर कर दी जाती हैं। उदाहरण के लिए, यदि इसे 2 पर सेट किया जाए, तो सहमति परिणामों में आने के लिए कम से कम 2 मॉडलों को एक ओवरलैपिंग वस्तु (IoU थ्रेशहोल्ड से ऊपर) का पता लगाना होगा। अधिक मान अधिक सख्त सहमति आवश्यकताएँ बनाते हैं, जिससे झूठे सकारात्मक कम होते हैं लेकिन कम मॉडलों द्वारा देखी गई डिटेक्शन छूट भी सकती हैं..class_aware(boolean): यदि सत्य है, तो केवल विभिन्न मॉडलों की मिलती-जुलती क्लास नाम वाली डिटेक्शन को ही एक ही वस्तु के वोट के रूप में माना जाता है। यदि असत्य है, तो कोई भी ओवरलैपिंग डिटेक्शन (क्लास की परवाह किए बिना) वोट देती है। क्लास-जागरूक मोड अधिक रूढ़िवादी होता है और सहमति में क्लास सुसंगति सुनिश्चित करता है, जबकि क्लास-अज्ञेय मोड विभिन्न क्लासों के बीच वोटिंग की अनुमति देता है लेकिन भिन्न वस्तु प्रकारों की डिटेक्शन को मिला सकता है..iou_threshold(float_zero_to_one): विभिन्न मॉडलों की डिटेक्शन को एक ही वस्तु के रूप में मिलान करने के लिए विचार करने हेतु Intersection over Union (IoU) थ्रेशहोल्ड। इस थ्रेशहोल्ड से ऊपर IoU वाली डिटेक्शन ओवरलैपिंग मानी जाती हैं और एक-दूसरे को वोट देती हैं। कम मान (जैसे, 0.2) अधिक उदार होते हैं और कम ओवरलैप वाली डिटेक्शन से मेल खाते हैं, जबकि अधिक मान (जैसे, 0.5) मिलान के लिए अधिक मज़बूत स्थानिक ओवरलैप की आवश्यकता रखते हैं। सामान्य मान 0.2 से 0.5 तक होते हैं..विश्वास(float_zero_to_one): मिले हुए सहमति डिटेक्शनों पर लागू विश्वास थ्रेशहोल्ड। आउटपुट में केवल वे डिटेक्शन शामिल होती हैं जिनके समेकित विश्वास स्कोर इस थ्रेशहोल्ड से ऊपर हों। विश्वास फ़िल्टरिंग अक्षम करने के लिए 0.0 पर सेट करें। अधिक मान कम-विश्वास वाली सहमति डिटेक्शन को फ़िल्टर करते हैं, जिससे आउटपुट गुणवत्ता बेहतर होती है लेकिन संभावित रूप से वैध पर कम-विश्वास वाली डिटेक्शन हट सकती हैं..classes_to_consider(list_of_values): सहमति प्रक्रिया में शामिल करने के लिए क्लास नामों की वैकल्पिक सूची। यदि दी जाए, तो केवल इन क्लास की डिटेक्शन को वोटिंग और मर्जिंग के लिए माना जाता है; सभी अन्य क्लास सहमति मिलान से पहले फ़िल्टर कर दी जाती हैं। इसका उपयोग असंगत डिटेक्शन को अनदेखा करते हुए सहमति को विशिष्ट वस्तु प्रकारों पर केंद्रित करने के लिए करें। यदि None हो, तो सभी क्लास सहमति में भाग लेती हैं..required_objects(Union[शब्दकोश,integer]): वस्तु की उपस्थिति निर्धारित करने के लिए आवश्यक वस्तुओं की वैकल्पिक न्यूनतम संख्या। यह एक पूर्णांक हो सकता है (सभी क्लासों में कुल वस्तुएँ) या क्लास नामों को प्रति-क्लास न्यूनतम गिनती से मैप करने वाला एक डिक्शनरी। वस्तु_present आउटपुट के साथ मिलकर इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि प्रत्येक क्लास की पर्याप्त वस्तुएँ मिली हैं या नहीं। उदाहरण के लिए, 3 का अर्थ है कि कुल कम से कम 3 वस्तुएँ मौजूद होनी चाहिए, जबकि {'person': 2, 'car': 1} के लिए कम से कम 2 व्यक्ति और 1 कार आवश्यक हैं। यदि None हो, तो वस्तु की उपस्थिति केवल इस आधार पर निर्धारित की जाती है कि कोई सहमति डिटेक्शन मौजूद हैं या नहीं..
आउटपुट
भविष्यवाणियाँ(Union[object_detection_prediction,instance_segmentation_prediction]): यदिobject_detection_predictionया यदिinstance_segmentation_prediction.presence_confidence(Union[float_zero_to_one,शब्दकोश]):floatमान सीमा में[0.0, 1.0]यदिfloat_zero_to_oneया डिक्शनरी यदिशब्दकोश.
अंतिम अपडेट
क्या यह उपयोगी था?