> 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/ja/burokku/blocks/transformations/detections-merge.md).

# 検出結果のマージ

複数の検出予測を、すべての入力検出を包含する和集合のバウンディングボックスを持つ単一の統合検出にまとめ、重複するオブジェクトの統合、複数オブジェクトからの領域作成、検出の簡略化ワークフローにおいて、複数の検出を1つのより大きな検出領域へ簡素化します。

## このブロックの仕組み

このブロックは、すべての入力検出を含む和集合のバウンディングボックスを計算することで、複数の検出を1つの検出に統合します。このブロックは：

1. 複数の検出を含む検出予測（物体検出、インスタンスセグメンテーション、またはキーポイント検出）を受け取ります
2. 入力を検証します（空の検出は空の検出結果を返すことで処理します）
3. すべての入力検出から和集合のバウンディングボックスを計算します：
   * 入力検出からすべてのバウンディングボックス座標（xyxy形式）を抽出します
   * すべてのボックスにわたって最小の x 座標と y 座標（最左上の点）を見つけます
   * すべてのボックスにわたって最大の x 座標と y 座標（最右下の点）を見つけます
   * すべての入力検出を完全に包含する単一のバウンディングボックスを作成します
4. 統合検出の信頼度を決定します：
   * すべての入力検出の中で最も低い信頼度スコアの検出を見つけます
   * この最も低い信頼度を統合検出の信頼度として使用します（保守的なアプローチ）
   * 信頼度スコアが存在しない場合も処理します
5. 次の内容を持つ新しい統合検出を作成します：
   * 計算された和集合のバウンディングボックス（すべての入力検出を包含）
   * カスタマイズ可能なクラス名（デフォルト: "merged\_detection"、class\_name パラメータで設定可能）
   * 入力検出の中で最も低い信頼度（保守的な信頼度割り当て）
   * 統合検出に対して固定の class\_id 0
   * 新しく生成された検出 ID（統合検出の一意の識別子）
6. バウンディングボックス内にすべての入力検出を含む単一の統合検出を返します

このブロックは、複数の検出の統一されたバウンディングボックス表現を作成し、重複する、または近接した検出を1つの領域に統合するのに役立ちます。和集合のバウンディングボックス方式により、元の検出はすべて統合検出内に完全に含まれます。最も低い信頼度を使用することで、このブロックは保守的なアプローチを採用し、統合検出の信頼度が最も不確かな入力検出を反映するようにします。統合検出は、その統合された性質を示す、または特定のカテゴリを表すためにクラス名でカスタマイズできます。

## 一般的な使用例

* **重複検出の統合**: 同一または関連するオブジェクトの重複する複数の検出を単一の統合検出にまとめます（例: 複数フレームにおける同じ人物の重複検出を統合する、異なるモデルからの重複検出を集約する、重なり合うオブジェクト部分を1つの検出にまとめる）、重複検出の簡略化を可能にします
* **複数オブジェクト領域の作成**: 面積ベースの分析のために、複数の検出オブジェクトを包含する単一のバウンディングボックス領域を作成します（例: 群衆解析のために複数の人を含む領域を作成する、シーン内のオブジェクト検出を1つの領域にまとめる、複数の検出を単一の監視ゾーンに統合する）、複数オブジェクト領域ワークフローを可能にします
* **近接検出のグルーピング**: 近接した検出をまとめて単一の統合検出にします（例: 互いに近いオブジェクトの検出を統合する、近接した検出をクラスターにまとめる、隣接する検出を組み合わせて処理を簡略化する）、空間的グルーピングワークフローを可能にします
* **検出の簡略化**: 複数の検出を下流処理向けに1つのより大きな検出へ簡素化します（例: より簡単な分析のために複数の検出を1つに減らす、可視化しやすくするために検出を統合する、効率化されたワークフローのために検出をまとめる）、検出の簡略化ワークフローを可能にします
* **検出からのゾーン定義**: 複数の検出位置からゾーン境界を作成します（例: 検出位置に基づいてゾーンを定義する、検出されたオブジェクトの位置から領域を作成する、検出クラスターから境界を設定する）、検出からのゾーン作成を可能にします
* **冗長検出の除去**: 冗長または重複した検出を単一の表現にまとめます（例: 異なる段階からの重複検出を統合する、冗長なオブジェクト検出をまとめる、繰り返し検出を集約する）、冗長検出の統合ワークフローを可能にします

## 他のブロックへの接続

このブロックは複数の検出予測を受け取り、単一の統合検出を生成します：

* **検出ブロックの後ろに** （例: 物体検出、インスタンスセグメンテーション、キーポイント検出）を用いて、複数の検出を1つの統合検出にまとめ、処理を簡略化し、検出統合ワークフローを可能にします
* **フィルタリングブロックの後に** （例: 検出フィルター）で、特定の条件を満たすフィルタ済み検出を単一の検出に統合します（例: クラスごとにフィルタ済み検出を統合する、フィルタ後に検出をまとめる、フィルタ結果を集約する）、フィルタ済み検出の統合を可能にします
* **クロップブロックの前** 複数の検出から単一のクロップ領域を作成するために（例: 複数のオブジェクトを含む領域をクロップする、複数の検出を包含する領域を抽出する、統合されたクロップ領域を作成する）、複数検出領域の抽出を可能にします
* **ゾーンベースのブロックの前** （例: ポリゴンゾーン、ダイナミックゾーン）で、統合された検出領域に基づいてゾーンを定義します（例: 統合検出領域からゾーンを作成する、統合検出から監視ゾーンを設定する、集約された検出から領域を定義する）、統合検出からのゾーン作成を可能にします
* **可視化ブロックの前** 複数の個別検出の代わりに簡略化された統合検出を表示するために（例: 集約された検出領域を可視化する、統合バウンディングボックスを表示する、簡略化された検出表現を示す）、簡略化された可視化出力を可能にします
* **分析ブロックの前** 簡略化された検出表現の恩恵を受けるものに（例: 統合検出領域を分析する、集約された検出を処理する、簡略化された検出データを扱う）、簡略化された検出分析ワークフローを可能にします

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/detections_merge@v1` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前** | **型** | **説明**                                                                                                                                                                                     | 参照 |
| ------ | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -- |
| `name` | `str` | このステップの一意の識別子を入力してください。                                                                                                                                                                    | ❌  |
| `クラス名` | `str` | 統合検出に割り当てるクラス名です。統合検出は、そのデータ内でこのクラス名を使用します。デフォルトは 'merged\_detection' で、これは統合検出であることを示します。これをカスタマイズして、特定のカテゴリを表したり、統合検出の目的を示したりできます（例: 'crowd'、'group'、'region'）。このクラス名は、検出のデータ辞書に保存されます。。 | ❌  |

この **参照** 列は、で利用可能な動的値を使ってプロパティをパラメータ化できる可能性を示します `ワークフロー` 実行時。参照 *バインディング* 詳細は。

### 入力と出力のバインディング

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `検出結果のマージ` のバージョン `v1` あるか確認してください。

<details>

<summary>入力と出力のバインディング</summary>

* 入力
  * `predictions` (*Union\[*[*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/keypoint-detection-prediction.md)*]*）：複数の検出を1つの検出に統合するための検出予測です。物体検出、インスタンスセグメンテーション、またはキーポイント検出の予測に対応しています。入力検出はすべて、入力検出を包含する和集合のバウンディングボックスを持つ1つの統合検出にまとめられます。空の検出が与えられた場合、このブロックは空の検出結果を返します。統合検出には、バウンディングボックスの境界内にすべての入力検出が含まれます。。
* 出力
  * `predictions` ([`object_detection_prediction`](/workflows/ja/gaido/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>
