> 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/run-a-model/sam3.md).

# SAM 3

## v3

ゼロショットのインスタンスセグメンテーションモデルである Segment Anything 3 (SAM3) を画像に適用します。

オープンボキャブラリのセグメンテーションにはテキストプロンプトを使用できます。クラス名を指定するだけで、SAM3 が画像内のそのオブジェクトをセグメント化します。

このブロックは 2 つの出力形式をサポートしています：

* **rle** (デフォルト): マスクを RLE（Run-Length Encoding）形式で返します。こちらの方がメモリ効率に優れています
* **polygons**：各マスクのポリゴン座標を返します

高解像度画像や検出数の多いワークフローには RLE 形式を推奨します。

### 型識別子

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

### プロパティ

| **名前**                 | **型**                      | **説明**                                                                              | 参照 |
| ---------------------- | -------------------------- | ----------------------------------------------------------------------------------- | -- |
| `name`                 | `str`                      | このステップの一意の識別子を入力してください。                                                             | ❌  |
| `model_id`             | `str`                      | モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです..                                  | ✅  |
| `class_names`          | `Optional[List[str], str]` | 認識するクラスの一覧。                                                                         | ✅  |
| `class_mapping`        | `Dict[str, str]`           | 予測内のクラス名を別の出力名にマッピングします。推論後に適用されます。例えば {'cat': 'gato'} は 'cat' の予測を 'gato' に変更します.. | ✅  |
| `confidence`           | `float`                    | 予測マスクの最小信頼度しきい値。                                                                    | ✅  |
| `per_class_confidence` | `List[float]`              | クラスごとの信頼度しきい値のリスト（class\_names の長さと一致する必要があります）。                                    | ✅  |
| `apply_nms`            | `bool`                     | プロンプト全体に Non-Maximum Suppression を適用するかどうか。                                         | ✅  |
| `nms_iou_threshold`    | `float`                    | プロンプト間 NMS の IoU しきい値。値は \[0.0, 1.0] の範囲である必要があります。                                 | ✅  |
| `output_format`        | `str`                      | 'rle' は効率的な RLE エンコードを返し（推奨）、'polygons' はポリゴン座標を返します。                               | ❌  |

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

### ランタイム互換性

`ハード` - ランタイム `self_hosted_cpu`；実行 `ローカル` : GPU が必要です。run\_locally() は CUDA を必要とするモデルを読み込みます。

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

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

<details>

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

* 入力
  * `images` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 推論対象の画像です..
  * `model_id` ([*`roboflow_model_id`*](/workflows/ja/gaido/developer-guide/kinds/roboflow-model-id.md)): モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです..
  * `class_names` (*Union\[*[*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)*,* [*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)*]*): 認識するクラスの一覧。
  * `class_mapping` ([*`辞書`*](/workflows/ja/gaido/developer-guide/kinds/dictionary.md)): 予測内のクラス名を別の出力名にマッピングします。推論後に適用されます。例えば {'cat': 'gato'} は 'cat' の予測を 'gato' に変更します..
  * `confidence` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)): 予測マスクの最小信頼度しきい値。
  * `per_class_confidence` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): クラスごとの信頼度しきい値のリスト（class\_names の長さと一致する必要があります）。
  * `apply_nms` ([*`boolean`*](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): プロンプト全体に Non-Maximum Suppression を適用するかどうか。
  * `nms_iou_threshold` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)): プロンプト間 NMS の IoU しきい値。値は \[0.0, 1.0] の範囲である必要があります。
* 出力
  * `predictions` (*Union\[*[*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*]*): 検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む予測。sv.Detections(...) オブジェクトの形式で返される場合は `rle_instance_segmentation_prediction` または、sv.Detections(...) 形式の検出バウンディングボックスとセグメンテーションマスクを含む予測。 `instance_segmentation_prediction`.

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/sam3@v3",
	    "images": "$inputs.image",
	    "model_id": "sam3/sam3_final",
	    "class_names": [
	        "車",
	        "人"
	    ],
	    "class_mapping": {
	        "cat": "gato",
	        "dog": "perro"
	    },
	    "confidence": 0.3,
	    "per_class_confidence": [
	        0.3,
	        0.5,
	        0.7
	    ],
	    "apply_nms": "<block_does_not_provide_example>",
	    "nms_iou_threshold": 0.5,
	    "output_format": "rle"
	}
```

</details>

## v2

ゼロショットのインスタンスセグメンテーションモデルである Segment Anything 3 を画像に適用します。

他のモデルからのバウンディングボックス/予測をプロンプトとして渡すことも、オープンボキャブラリのセグメンテーションにテキストプロンプトを使うこともできます。他のモデルからのボックス検出を渡した場合、ボックスのクラス名は予測マスクに引き継がれます。

### 型識別子

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

### プロパティ

| **名前**                 | **型**                      | **説明**                                              | 参照 |
| ---------------------- | -------------------------- | --------------------------------------------------- | -- |
| `name`                 | `str`                      | このステップの一意の識別子を入力してください。                             | ❌  |
| `model_id`             | `str`                      | モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです..  | ✅  |
| `class_names`          | `Optional[List[str], str]` | 認識するクラスの一覧。                                         | ✅  |
| `confidence`           | `float`                    | 予測マスクの最小信頼度しきい値。                                    | ✅  |
| `per_class_confidence` | `List[float]`              | クラスごとの信頼度しきい値のリスト（class\_names の長さと一致する必要があります）。    | ✅  |
| `apply_nms`            | `bool`                     | プロンプト全体に Non-Maximum Suppression を適用するかどうか。         | ✅  |
| `nms_iou_threshold`    | `float`                    | プロンプト間 NMS の IoU しきい値。値は \[0.0, 1.0] の範囲である必要があります。 | ✅  |

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

### ランタイム互換性

`ハード` - ランタイム `self_hosted_cpu`；実行 `ローカル` : GPU が必要です。run\_locally() は CUDA を必要とするモデルを読み込みます。

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

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

<details>

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

* 入力
  * `images` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 推論対象の画像です..
  * `model_id` ([*`roboflow_model_id`*](/workflows/ja/gaido/developer-guide/kinds/roboflow-model-id.md)): モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです..
  * `class_names` (*Union\[*[*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)*,* [*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)*]*): 認識するクラスの一覧。
  * `confidence` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)): 予測マスクの最小信頼度しきい値。
  * `per_class_confidence` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): クラスごとの信頼度しきい値のリスト（class\_names の長さと一致する必要があります）。
  * `apply_nms` ([*`boolean`*](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): プロンプト全体に Non-Maximum Suppression を適用するかどうか。
  * `nms_iou_threshold` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)): プロンプト間 NMS の IoU しきい値。値は \[0.0, 1.0] の範囲である必要があります。
* 出力
  * `predictions` ([`instance_segmentation_prediction`](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)): 検出されたバウンディングボックスとセグメンテーションマスクを sv.Detections(...) オブジェクトの形式で持つ予測。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/sam3@v2",
	    "images": "$inputs.image",
	    "model_id": "sam3/sam3_final",
	    "class_names": [
	        "車",
	        "人"
	    ],
	    "confidence": 0.3,
	    "per_class_confidence": [
	        0.3,
	        0.5,
	        0.7
	    ],
	    "apply_nms": "<block_does_not_provide_example>",
	    "nms_iou_threshold": 0.5
	}
```

</details>

## v1

ゼロショットのインスタンスセグメンテーションモデルである Segment Anything 3 を画像に適用します。

他のモデルからのバウンディングボックス/予測をプロンプトとして渡すことも、オープンボキャブラリのセグメンテーションにテキストプロンプトを使うこともできます。他のモデルからのボックス検出を渡した場合、ボックスのクラス名は予測マスクに引き継がれます。

### 型識別子

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

### プロパティ

| **名前**        | **型**                      | **説明**                                             | 参照 |
| ------------- | -------------------------- | -------------------------------------------------- | -- |
| `name`        | `str`                      | このステップの一意の識別子を入力してください。                            | ❌  |
| `model_id`    | `str`                      | モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです.. | ✅  |
| `class_names` | `Optional[List[str], str]` | 認識するクラスの一覧。                                        | ✅  |
| `のしきい値と比較します` | `float`                    | 予測マスクスコアのしきい値。                                     | ✅  |

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

### ランタイム互換性

`ハード` - ランタイム `self_hosted_cpu`；実行 `ローカル` : GPU が必要です。run\_locally() は CUDA を必要とするモデルを読み込みます。

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

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

<details>

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

* 入力
  * `images` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 推論対象の画像です..
  * `model_id` ([*`roboflow_model_id`*](/workflows/ja/gaido/developer-guide/kinds/roboflow-model-id.md)): モデルのバージョン。変更が必要なのは、ファインチューニング済みの sam3 モデルの場合のみです..
  * `class_names` (*Union\[*[*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)*,* [*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)*]*): 認識するクラスの一覧。
  * `のしきい値と比較します` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)): 予測マスクスコアのしきい値。
* 出力
  * `predictions` ([`instance_segmentation_prediction`](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)): 検出されたバウンディングボックスとセグメンテーションマスクを sv.Detections(...) オブジェクトの形式で持つ予測。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/sam3@v1", 
	    "images": "$inputs.image",
	    "model_id": "sam3/sam3_final",
	    "class_names": [
	        "車",
	        "人"
	    ],
	    "threshold": 0.3
	}
```

</details>
