> 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/logic-and-branching/detections-filter.md).

# 検出フィルター

カスタマイズ可能な条件に基づいて検出予測をフィルタリングし、指定した基準（例: クラス名、信頼度スコア、バウンディングボックスのプロパティ）を満たさない検出を選択的に除外しながら、フィルタリングロジックに一致する検出のみを保持します。

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

このブロックは、柔軟なクエリ言語システムを使用して検出予測に条件付きフィルタリングを適用します。このブロックは、

1. 検出予測（物体検出、インスタンスセグメンテーション、またはキーポイント検出）とフィルタリング操作の定義を入力として受け取ります
2. で指定されたフィルタリング条件に対して各検出を評価します `操作` parameter
3. プロパティ抽出操作を使用して、検出プロパティ（例: class\_name、confidence、バウンディングボックス座標）を抽出します
4. バイナリ文（例: class\_name がリスト内、confidence > しきい値）を使用して、抽出したプロパティを基準と比較します
5. 条件に一致しない検出を除外し、フィルター基準を満たす検出のみを保持します
6. フィルター条件を通過した検出のみを含むフィルタリング済み予測を返します

このブロックは、さまざまな検出プロパティ（クラス名、信頼度スコア、バウンディングボックス座標など）を抽出し、条件ロジックを適用して検出をフィルタリングするクエリ言語システムを使用します。フィルタリング操作では、プロパティがリスト内にあるかどうかを確認したり、数値を比較したり、文字列の等価性を確認したり、その他の比較演算子を使用したりできます。この `operations_parameters` 辞書は、（クラス名リストやしきい値などの）実行時の値を提供し、これらはフィルタリング操作で参照されます。これにより、ワークフローの入力や計算済みの値に基づいて変化できる動的なフィルタリング基準が可能になります。複数のフィルタリング操作を連結して、複雑なフィルタリングロジックを作成できます。

## 一般的な使用例

* **クラスベースのフィルタリング**: 検出結果を特定のオブジェクトクラスだけに絞り込みます（例: "person" と "car" の検出のみを保持し、それ以外をすべて除外する）。これにより、不要な検出を除外しながら、関連するオブジェクトタイプに対する集中的な処理が可能になります
* **信頼度しきい値によるフィルタリング**: 低信頼度の検出を除外して検出品質を向上させます（例: 信頼度 > 0.7 の検出を保持し、不確かな予測をフィルタリングする）。これにより、後続処理が信頼できる検出を扱うようになります
* **複数条件フィルタリング**: 複数のフィルタリング条件を同時に適用します（例: class\_name が許可リストに含まれ、かつ confidence > しきい値の検出を保持する）。クラスと信頼度のフィルタリングを組み合わせて、精密な制御を実現します
* **ワークフロー状態に基づく動的フィルタリング**: ワークフロー入力や計算済みの値を使用してフィルタリング基準を決定します（例: ユーザー入力に基づいてクラスをフィルタリングする、照明条件に基づいて信頼度しきい値を調整する）。これにより、変化する条件に応答する適応的なフィルタリングが可能になります
* **後続ブロックの前処理**: 可視化、カウント、または保存ブロックに渡す前に検出結果をフィルタリングします（例: カウント前に偽陽性を除去する、可視化前に背景クラスを除外する）。これによりノイズを減らし、後続操作の精度を向上させます
* **選択的処理ワークフロー**: フィルタリングされた異なるサブセットを別々の後続ブロックに振り分けます（例: 高信頼度の検出を1つのパスへ、低信頼度の検出を別のパスへ）。これにより、検出品質や種類に基づく条件付き処理が可能になります

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

このブロックのフィルタリング済み予測は、次のブロックに接続できます。

* **検出モデルブロック** （例: 物体検出モデル、インスタンスセグメンテーションモデル、キーポイント検出モデル）クラス、信頼度、またはその他のプロパティに基づいてフィルタリングされた予測を受け取るために
* **可視化ブロック** （例: バウンディングボックス可視化、ポリゴン可視化、ラベル可視化）フィルタリングされた検出のみを表示し、視覚的な煩雑さを減らして関連オブジェクトに集中するために
* **カウントおよび分析用ブロック** （例: ラインカウンター、ゾーン滞在時間、速度）特定のフィルタリングされたクラスや信頼度レベルのみをカウントまたは分析し、対象オブジェクトの正確なメトリクスを確保するために
* **データ保存ブロック** （例: ローカルファイル出力、CSVフォーマッタ、Roboflowデータセットアップロード、Webhook出力）フィルタリングされた検出結果のみを保存または送信し、不要な検出を除外してストレージと帯域幅の使用量を削減するために
* **その他の変換ブロック** （例: 検出のマージ、検出の変換、検出オフセット）フィルタリングされたサブセットに追加の変換を適用し、フィルタリングされた検出に対して複雑な処理パイプラインを実現するために
* **フロー制御ブロック** （例: Continue If、Rate Limiter）フィルタリングされた検出が特定の基準を満たすかどうかに基づいて後続処理を条件付きでトリガーし、フィルタリング結果に基づく条件付きワークフローを実現するために

### 型識別子

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

### プロパティ

| **名前** | **型**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **説明**                                                                                                                                                                                                                                                                                                                     | 参照 |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name` | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | このステップの一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                    | ❌  |
| `操作`   | `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]]` | クエリ言語システムを使用したフィルタリングロジックの定義。StatementGroup 構文を使用して条件ロジックを定義する1つ以上のフィルタリング操作（例: DetectionsFilter）を指定します。各操作は、検出プロパティ（class\_name、confidence、coordinates など）を抽出し、バイナリ文（例: class\_name in list、confidence > threshold）を使ってそれらを比較できます。複数の操作を連結して、複雑なフィルタリングロジックを作成できます。操作は operations\_parameters 内のパラメータ名を参照して実行時の値にアクセスします。 | ❌  |

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

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

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `検出結果フィルター` のバージョン `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)*]*): フィルタリングする検出予測（物体検出、インスタンスセグメンテーション、またはキーポイント検出）。各検出は、operations パラメータで指定されたフィルタリング条件に照らして評価されます。フィルター基準に一致する検出のみが出力に含まれます。バッチ処理をサポートしており、複数の検出セットを同時にフィルタリングできます。。
  * `operations_parameters` ([*`*`*](/workflows/ja/gaido/developer-guide/kinds/wildcard.md)): パラメータ名（operations で参照される）を、ワークフローからの実際の値に対応付ける辞書。これらのパラメータは、フィルタリング操作で使用される実行時の値を提供します（例: クラス名リスト、信頼度しきい値）。キーは operations 定義で使用されるパラメータ名と一致し、値はワークフロー入力、ステップ出力、または計算済みの値を参照するセレクタです。例: {'classes': '$inputs.allowed\_classes', 'threshold': 0.7} ここで 'classes' と 'threshold' は operations 内で参照されます。。
* 出力
  * `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)*]*）：sv.Detections(...) 形式の検出バウンディングボックスを含む予測。 `object_detection_prediction` または、sv.Detections(...) 形式の検出バウンディングボックスとセグメンテーションマスクを含む予測。 `instance_segmentation_prediction` または、検出されたバウンディングボックスと検出されたキーポイントを sv.Detections(...) オブジェクトの形式で持つ Prediction の場合 `keypoint_detection_prediction`.

</details>

<details>

<summary>JSON 定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/detections_filter@v1",
	    "predictions": "$steps.object_detection_model.predictions",
	    "operations": [
	        {
	            "filter_operation": {
	                "statements": [
	                    {
	                        "comparator": {
	                            "type": "in (Sequence)"
	                        },
	                        "left_operand": {
	                            "operations": [
	                                {
	                                    "property_name": "class_name",
	                                    "type": "ExtractDetectionProperty"
	                                }
	                            ],
	                            "type": "DynamicOperand"
	                        },
	                        "right_operand": {
	                            "operand_name": "classes",
	                            "type": "DynamicOperand"
	                        },
	                        "type": "BinaryStatement"
	                    }
	                ],
	                "type": "StatementGroup"
	            },
	            "type": "DetectionsFilter"
	        }
	    ],
	    "operations_parameters": {
	        "classes": "$inputs.classes"
	    }
	}
```

</details>
