> 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/per-class-confidence-filter.md).

# クラス別信頼度フィルター

各クラスごとに異なる信頼度しきい値を適用して検出予測をフィルタリングし、各クラスに設定されたしきい値以上の信頼度を持つ検出のみを保持します（未指定のクラスには設定可能なフォールバックしきい値を使用します）。

## このブロックの動作

このブロックは、クラスを意識した信頼度フィルタリングを検出予測に適用し、クラスごとの品質要件に基づいてどの検出を保持するかをきめ細かく制御できます。ブロックは次のとおりです：

1. 検出予測（物体検出、インスタンスセグメンテーション、またはキーポイント検出）と、クラス名を信頼度しきい値にマッピングする辞書を受け取ります
2. 各検出を順に処理し、その検出のクラス名に対応するしきい値を参照します
3. そのクラスが辞書に存在しない場合は、設定可能な `default_threshold` 値
4. 信頼度が解決されたしきい値以上の検出のみを保持します
5. フィルタリングされた検出を返しつつ、元のメタデータ（クラスID、マスク、キーポイント、トラッカーIDなど）はすべて保持します

単一のグローバルな信頼度しきい値とは異なり、このブロックでは誤検出を起こしやすいクラスには高い信頼度の予測を要求し、検出が難しいクラスにはより緩いしきい値を設定できます。汎用の検出フィルタとは異なり、シンプルな `{"class_name": threshold}` JSONオブジェクト。

## 一般的な使用例

* **ノイズが発生しやすいクラス**：偽陽性を頻繁に生むクラスには非常に高い信頼度（例: 0.9）を要求し、一方で挙動の安定したクラスにはより低い信頼度を許容します
* **検出が難しいクラス**：モデルが高い信頼度でめったに検出しないクラスについては、しきい値を下げて、完全にフィルタリングされないようにします
* **本番運用向けのフィルタリング**：評価時に調整したドメイン固有のしきい値を適用し、下流の分析、アラート、またはカウントブロックがプロジェクトの品質基準を満たす検出だけを見るようにします
* **複数クラスのパイプライン**：単一のグローバルな信頼度しきい値では大まかすぎる場合に、多数のクラスを一度に予測する物体検出モデルと組み合わせて使用します

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

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

* **可視化ブロック** （Bounding Box Visualization、Label Visualization、Polygon Visualization）で、各クラスのしきい値を超えた検出のみを描画します
* **カウントおよび分析ブロック** （Line Counter、Time in Zone、Velocity）で、指標が高品質の検出のみを反映するようにします
* **トラッキングブロック** （Byte Tracker）で、低信頼度ノイズによってトラッカーの関連付けが汚染されないようにします
* **保存またはシンクブロック** （Roboflow Dataset Upload、Webhook Sink、CSV Formatter）で、品質基準を満たす検出だけが保存または送信されるようにします
* **下流の変換ブロック** （Dynamic Crop、Detection Offset）を、フィルタリングされたサブセットに対する後続処理に使用します

### 型識別子

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

### プロパティ

| **名前**              | **型**              | **説明**                                                                                                                                            | 参照 |
| ------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`              | `str`              | このステップの一意の識別子を入力してください。                                                                                                                           | ❌  |
| `class_thresholds`  | `Dict[str, float]` | クラス名から最小信頼度しきい値へのマッピングです。クラス名がこの辞書に含まれる検出は、対応するしきい値以上の信頼度がある場合にのみ保持されます。含まれないクラスは default\_threshold にフォールバックします。しきい値は \[0.0, 1.0] の範囲である必要があります。 | ✅  |
| `default_threshold` | `float`            | class\_thresholds に含まれていないクラス名の検出に適用される信頼度しきい値です。\[0.0, 1.0] の範囲である必要があります。                                                                       | ✅  |

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

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

利用可能な接続は、そのバインディング種別に依存します。どのバインディング種別が `クラスごとの信頼度フィルタ` バージョン `v1` を持っているか確認してください。

<details>

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

* 入力
  * `predictions` (*Union\[*[*`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)*,* [*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*]*): 検出予測をフィルタリングします。各検出は、そのクラスに設定されたしきい値以上の信頼度がある場合にのみ保持されます（class\_thresholds に含まれないクラスには default\_threshold がフォールバックされます）。
  * `class_thresholds` ([*`辞書`*](/workflows/ja/gaido/developer-guide/kinds/dictionary.md)): クラス名から最小信頼度しきい値へのマッピングです。クラス名がこの辞書に含まれる検出は、対応するしきい値以上の信頼度がある場合にのみ保持されます。含まれないクラスは default\_threshold にフォールバックします。しきい値は \[0.0, 1.0] の範囲である必要があります。
  * `default_threshold` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): class\_thresholds に含まれていないクラス名の検出に適用される信頼度しきい値です。\[0.0, 1.0] の範囲である必要があります。
* 出力
  * `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(...) オブジェクトの形式で返す予測 if `object_detection_prediction` または、検出されたバウンディングボックスとセグメンテーションマスクを sv.Detections(...) オブジェクトの形式で返す予測 if `instance_segmentation_prediction` または、検出されたバウンディングボックスと検出されたキーポイントを sv.Detections(...) オブジェクトの形式で持つ予測。 `keypoint_detection_prediction`.

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/per_class_confidence_filter@v1",
	    "predictions": "$steps.object_detection_model.predictions",
	    "class_thresholds": {
	        "car": 0.5,
	        "person": 0.98
	    },
	    "default_threshold": 0.3
	}
```

</details>
