> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/hi/blocks/blocks/transformations/detections-merge.md).

# Detections Merge

सभी इनपुट डिटेक्शनों को समाहित करने वाले एक यूनियन बाउंडिंग बॉक्स के साथ कई डिटेक्शन प्रेडिक्शनों को एक एकल मर्ज्ड डिटेक्शन में संयोजित करें, जिससे ओवरलैप करने वाले ऑब्जेक्ट समेकन, कई ऑब्जेक्ट्स से क्षेत्र निर्माण, और डिटेक्शन सरलीकरण वर्कफ़्लो के लिए कई डिटेक्शनों को एक बड़े डिटेक्शन क्षेत्र में सरल किया जा सके।

## यह ब्लॉक कैसे काम करता है

यह ब्लॉक सभी इनपुट डिटेक्शनों को समाहित करने वाले एक यूनियन बाउंडिंग बॉक्स की गणना करके कई डिटेक्शनों को एकल डिटेक्शन में मर्ज करता है। यह ब्लॉक:

1. कई डिटेक्शनों वाली डिटेक्शन प्रेडिक्शन्स (ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) प्राप्त करता है
2. इनपुट की वैधता जाँचता है (खाली डिटेक्शनों को एक खाली डिटेक्शन परिणाम लौटाकर संभालता है)
3. सभी इनपुट डिटेक्शनों से यूनियन बाउंडिंग बॉक्स की गणना करता है:
   * इनपुट डिटेक्शनों से सभी बाउंडिंग बॉक्स निर्देशांक (xyxy फ़ॉर्मेट) निकालता है
   * सभी बॉक्सों में न्यूनतम x और y निर्देशांक (सबसे बाएँ और सबसे ऊपर के बिंदु) ढूँढता है
   * सभी बॉक्सों में अधिकतम x और y निर्देशांक (सबसे दाएँ और सबसे नीचे के बिंदु) ढूँढता है
   * एक ऐसा एकल बाउंडिंग बॉक्स बनाता है जो सभी इनपुट डिटेक्शनों को पूरी तरह घेरता है
4. मर्ज्ड डिटेक्शन का कॉन्फ़िडेंस निर्धारित करता है:
   * सभी इनपुट डिटेक्शनों में सबसे कम कॉन्फ़िडेंस स्कोर वाले डिटेक्शन को ढूँढता है
   * इस सबसे कम कॉन्फ़िडेंस को मर्ज्ड डिटेक्शन के कॉन्फ़िडेंस के रूप में उपयोग करता है (संरक्षणात्मक दृष्टिकोण)
   * ऐसे मामलों को संभालता है जहाँ कॉन्फ़िडेंस स्कोर मौजूद नहीं हो सकते
5. इनके साथ एक नया मर्ज्ड डिटेक्शन बनाता है:
   * गणना किया गया यूनियन बाउंडिंग बॉक्स (सभी इनपुट डिटेक्शनों को घेरता है)
   * एक अनुकूलन योग्य क्लास नाम (डिफ़ॉल्ट: "merged\_detection", class\_name पैरामीटर के माध्यम से कॉन्फ़िगर करने योग्य)
   * इनपुट डिटेक्शनों से सबसे कम कॉन्फ़िडेंस (संरक्षणात्मक कॉन्फ़िडेंस असाइनमेंट)
   * मर्ज्ड डिटेक्शन के लिए एक स्थिर class\_id 0
   * एक नया जनरेट किया गया डिटेक्शन ID (मर्ज्ड डिटेक्शन के लिए विशिष्ट पहचानकर्ता)
6. सभी इनपुट डिटेक्शनों को अपने बाउंडिंग बॉक्स में समाहित करने वाला एकल मर्ज्ड डिटेक्शन लौटाता है

यह ब्लॉक कई डिटेक्शनों का एक एकीकृत बाउंडिंग बॉक्स प्रतिनिधित्व बनाता है, जो ओवरलैप करने वाले या पास-पास स्थित डिटेक्शनों को एकल क्षेत्र में समेकित करने के लिए उपयोगी है। यूनियन बाउंडिंग बॉक्स दृष्टिकोण सुनिश्चित करता है कि सभी मूल डिटेक्शन मर्ज्ड डिटेक्शन के भीतर पूरी तरह समाहित हों। सबसे कम कॉन्फ़िडेंस का उपयोग करके, ब्लॉक एक संरक्षणात्मक दृष्टिकोण अपनाता है, यह सुनिश्चित करते हुए कि मर्ज्ड डिटेक्शन का कॉन्फ़िडेंस सबसे कम निश्चित इनपुट डिटेक्शन को दर्शाए। मर्ज्ड डिटेक्शन को उसके मर्ज्ड होने को दर्शाने या किसी विशिष्ट श्रेणी का प्रतिनिधित्व करने के लिए एक क्लास नाम के साथ अनुकूलित किया जा सकता है।

## सामान्य उपयोग के मामले

* **ओवरलैपिंग डिटेक्शन समेकन**: समान या संबंधित ऑब्जेक्ट्स के कई ओवरलैपिंग डिटेक्शनों को एक एकल एकीकृत डिटेक्शन में मर्ज करें (उदा., कई फ़्रेमों से एक ही व्यक्ति के ओवरलैपिंग डिटेक्शनों को मर्ज करना, अलग-अलग मॉडलों से डुप्लिकेट डिटेक्शनों को समेकित करना, ओवरलैपिंग ऑब्जेक्ट भागों को एक डिटेक्शन में संयोजित करना), जिससे ओवरलैपिंग डिटेक्शन सरलीकरण सक्षम होता है
* **बहु-ऑब्जेक्ट क्षेत्र निर्माण**: क्षेत्र-आधारित विश्लेषण के लिए कई पहचाने गए ऑब्जेक्ट्स को समाहित करने वाला एकल बाउंडिंग बॉक्स क्षेत्र बनाएँ (उदा., भीड़ विश्लेषण के लिए कई लोगों वाला क्षेत्र बनाना, किसी दृश्य में ऑब्जेक्ट्स के डिटेक्शनों को एक क्षेत्र में मर्ज करना, कई डिटेक्शनों को एकल मॉनिटरिंग ज़ोन में संयोजित करना), जिससे बहु-ऑब्जेक्ट क्षेत्र वर्कफ़्लो सक्षम होते हैं
* **निकटवर्ती डिटेक्शन समूहीकरण**: पास-पास के डिटेक्शनों को एक एकल मर्ज्ड डिटेक्शन में समूहित करें (उदा., एक-दूसरे के करीब स्थित ऑब्जेक्ट्स के डिटेक्शनों को मर्ज करना, पास के डिटेक्शनों को क्लस्टरों में समूहित करना, सरल प्रसंस्करण के लिए आसन्न डिटेक्शनों को संयोजित करना), जिससे स्थानिक समूहीकरण वर्कफ़्लो सक्षम होते हैं
* **डिटेक्शन सरलीकरण**: डाउनस्ट्रीम प्रसंस्करण के लिए कई डिटेक्शनों को एक बड़े डिटेक्शन में सरल करें (उदा., सरल विश्लेषण के लिए कई डिटेक्शनों को एक में कम करना, आसान विज़ुअलाइज़ेशन के लिए डिटेक्शनों को समेकित करना, सुव्यवस्थित वर्कफ़्लो के लिए डिटेक्शनों को मर्ज करना), जिससे डिटेक्शन सरलीकरण वर्कफ़्लो सक्षम होते हैं
* **डिटेक्शनों से ज़ोन परिभाषा**: कई डिटेक्शन स्थानों से ज़ोन सीमाएँ बनाएँ (उदा., डिटेक्शन स्थानों के आधार पर ज़ोन परिभाषित करना, पहचाने गए ऑब्जेक्ट स्थितियों से क्षेत्र बनाना, डिटेक्शन क्लस्टरों से सीमाएँ स्थापित करना), जिससे डिटेक्शनों से ज़ोन निर्माण सक्षम होता है
* **अनावश्यक डिटेक्शन हटाना**: अनावश्यक या डुप्लिकेट डिटेक्शनों को एकल प्रतिनिधित्व में मर्ज करें (उदा., अलग-अलग चरणों से डुप्लिकेट डिटेक्शनों को संयोजित करना, अनावश्यक ऑब्जेक्ट डिटेक्शनों को मर्ज करना, दोहराए गए डिटेक्शनों को समेकित करना), जिससे अनावश्यक डिटेक्शन समेकन वर्कफ़्लो सक्षम होते हैं

## अन्य ब्लॉकों से जोड़ना

यह ब्लॉक कई डिटेक्शन प्रेडिक्शन्स प्राप्त करता है और एकल मर्ज्ड डिटेक्शन उत्पन्न करता है:

* **डिटेक्शन ब्लॉक्स के बाद** (उदाहरण के लिए, ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) कई डिटेक्शनों को सरल प्रसंस्करण के लिए एक एकीकृत डिटेक्शन में मर्ज करने हेतु, डिटेक्शन समेकन वर्कफ़्लो को सक्षम करते हुए
* **फ़िल्टरिंग ब्लॉक्स के बाद** (उदा., Detections Filter) विशिष्ट मानदंडों को पूरा करने वाले फ़िल्टर किए गए डिटेक्शनों को एकल डिटेक्शन में मर्ज करने के लिए (उदा., क्लास के आधार पर फ़िल्टर किए गए डिटेक्शनों को मर्ज करना, फ़िल्टरिंग के बाद डिटेक्शनों को संयोजित करना, फ़िल्टर किए गए परिणामों को समेकित करना), फ़िल्टर किए गए डिटेक्शन समेकन को सक्षम करते हुए
* **क्रॉप ब्लॉक्स से पहले** कई डिटेक्शनों से एकल क्रॉप क्षेत्र बनाने के लिए (उदा., कई ऑब्जेक्ट्स वाला क्षेत्र क्रॉप करना, कई डिटेक्शनों को समेटने वाला क्षेत्र निकालना, एकीकृत क्रॉप क्षेत्र बनाना), बहु-डिटेक्शन क्षेत्र निष्कर्षण को सक्षम करते हुए
* **ज़ोन-आधारित ब्लॉक्स से पहले** (उदा., Polygon Zone, Dynamic Zone) मर्ज्ड डिटेक्शन क्षेत्रों के आधार पर ज़ोन परिभाषित करने के लिए (उदा., मर्ज किए गए डिटेक्शन क्षेत्रों से ज़ोन बनाना, मर्ज किए गए डिटेक्शनों से मॉनिटरिंग ज़ोन स्थापित करना, समेकित डिटेक्शनों से क्षेत्र परिभाषित करना), मर्ज्ड डिटेक्शनों से ज़ोन निर्माण को सक्षम करते हुए
* **विज़ुअलाइज़ेशन ब्लॉकों से पहले** कई अलग-अलग डिटेक्शनों के बजाय सरल मर्ज्ड डिटेक्शनों को प्रदर्शित करने के लिए (उदा., समेकित डिटेक्शन क्षेत्रों का विज़ुअलाइज़ेशन, मर्ज किए गए बाउंडिंग बॉक्स दिखाना, सरलीकृत डिटेक्शन प्रस्तुति दिखाना), सरलीकृत विज़ुअलाइज़ेशन आउटपुट को सक्षम करते हुए
* **विश्लेषण ब्लॉक्स से पहले** जो सरलीकृत डिटेक्शन प्रस्तुति से लाभान्वित होते हैं (उदा., मर्ज किए गए डिटेक्शन क्षेत्रों का विश्लेषण, समेकित डिटेक्शनों को प्रोसेस करना, सरलीकृत डिटेक्शन डेटा के साथ काम करना), सरलीकृत डिटेक्शन विश्लेषण वर्कफ़्लो को सक्षम करते हुए

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फील्ड: `roboflow_core/detections_merge@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**      | **प्रकार** | **विवरण**                                                                                                                                                                                                                                                                                                                                                                                                            | संदर्भ |
| ------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`       | `str`      | इस स्टेप के लिए एक अद्वितीय पहचानकर्ता दर्ज करें..                                                                                                                                                                                                                                                                                                                                                                   | ❌      |
| `class_name` | `str`      | मर्ज्ड डिटेक्शन को असाइन करने के लिए क्लास नाम। मर्ज्ड डिटेक्शन अपने डेटा में इस क्लास नाम का उपयोग करेगा। डिफ़ॉल्ट 'merged\_detection' है, यह दर्शाने के लिए कि यह एक मर्ज्ड डिटेक्शन है। आप इसे किसी विशिष्ट श्रेणी का प्रतिनिधित्व करने या मर्ज्ड डिटेक्शन के उद्देश्य को इंगित करने के लिए अनुकूलित कर सकते हैं (उदा., 'crowd', 'group', 'region')। यह क्लास नाम डिटेक्शन की data dictionary में संग्रहीत होगा.. | ❌      |

यह **संदर्भ** कॉलम यह दर्शाता है कि प्रॉपर्टी को गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है, जो `वर्कफ़्लो` रनटाइम में उपलब्ध हैं। अधिक जानकारी के लिए देखें *Bindings* ।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। जाँचें कि कौन-से बाइंडिंग प्रकार `पहचानों का विलय` संस्करण में `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `भविष्यवाणियाँ` (*Union\[*[*`instance_segmentation_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`object_detection_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/object-detection-prediction.md)*]*): कई डिटेक्शन वाले डिटेक्शन प्रेडिक्शन जिन्हें एकल डिटेक्शन में मर्ज करना है। ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन प्रेडिक्शन्स का समर्थन करता है। सभी इनपुट डिटेक्शन एक यूनियन बाउंडिंग बॉक्स वाले एक मर्ज्ड डिटेक्शन में संयोजित किए जाएंगे जो सभी इनपुट डिटेक्शनों को घेरता है। यदि खाली डिटेक्शन दिए जाते हैं, तो ब्लॉक एक खाली डिटेक्शन परिणाम लौटाता है। मर्ज्ड डिटेक्शन अपनी बाउंडिंग बॉक्स सीमाओं के भीतर सभी इनपुट डिटेक्शनों को शामिल करेगा..
* आउटपुट
  * `भविष्यवाणियाँ` ([`object_detection_prediction`](/workflows/hi/developer-guide/developer-guide/kinds/object-detection-prediction.md)): sv.Detections(...) ऑब्जेक्ट के रूप में पहचाने गए बाउंडिंग बॉक्स वाली भविष्यवाणी।

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/detections_merge@v1",
	    "predictions": "$steps.object_detection_model.predictions",
	    "class_name": "<block_does_not_provide_example>"
	}
```

</details>
