> 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/datasets/ja/anotshon/anotshon/ai-labeling/auto-label.md).

# 自動ラベル付け

## 概要

{% hint style="info" %}
Auto Labelは数ある [AIラベリング](/datasets/ja/anotshon/anotshon/ai-labeling.md) 機能です。この機能を使用すると [クレジット](https://docs.roboflow.com/platform/billing-and-plans/credits) 当社の [クレジットページに記載されたレートで](https://roboflow.com/credits).
{% endhint %}

Roboflow Auto Labelでは、基盤となるビジョンモデル（SAM 3またはGemini）、Roboflowで学習済みのモデル、または保存済みの [ワークフロー](https://docs.roboflow.com/workflows) を使って画像を自動ラベリングできます。

Roboflow Auto Labelは、指定したオブジェクトを識別するために次のソースを使用できます：

* SAM 3 - テキストプロンプトからオブジェクトをラベリングする基盤モデル（物体検出とセグメンテーション）
* Gemini（Boxes）- Gemini 3.7 Flashは、指定したクラスに対してバウンディングボックスを描画します（物体検出のみ）
* Roboflowで学習したモデル（[https://github.com/roboflow/docs/tree/main/models/README.md](https://github.com/roboflow/docs/tree/main/models/README.md "mention"))
  * 注：現在サポートされているのは、同じデータセットのAnnotation Batchに属するモデルのみです。
* 保存済みの [ワークフロー](https://docs.roboflow.com/workflows) あなたのプロジェクトタイプに対応した

Auto Labelは、コンピュータビジョンモデルの学習に使用するために数百万枚の画像のラベリングに使われてきました。

自分のハードウェアで自動ラベリングしたい場合は、Roboflowも [Autodistill](https://github.com/autodistill/autodistill)という、さまざまな基盤モデルを使って画像データセットを自動ラベリングするためのオープンソースフレームワークも提供しています。

### Roboflow Auto Labelを使うべき場合

車両（例：フォークリフト）、人物、一般的な欠陥（例：亀裂）、一般的な製品（例：レコード、パン）などの一般的なオブジェクトにアノテーションする必要がある場合は、Roboflow Auto Labelを使うべきです。

オブジェクトの特定のバリエーションを識別する必要がある場合は、SAM 3のような基盤モデルは使うべきではありません。たとえば、Auto Labelは亀裂の種類を区別したり、電子機器の固有の欠陥を識別したりできません。

## Roboflow Auto Labelでデータをラベリング

Roboflowプラットフォームでは、全バッチに対してジョブを実行する前に、Auto Labelがデータセット内のデータクラスのラベリングでどのように動作するかをプレビューできます。ラベリング後は、品質保証のために結果を確認し（推奨）、ラベリング済みデータセットでモデルを学習できます。

### ステップ1：データをアップロード

まず、Roboflowにデータをアップロードします。 [画像、動画、アノテーションをアップロード](/datasets/ja/toappurdo/adding-data.md) 詳細はガイドをご覧ください。

<figure><img src="/files/7b187b717af3a270255c035f4111095b7bca2710" alt=""><figcaption><p>Roboflowに画像をアップロードしています。</p></figcaption></figure>

### ステップ2：Auto Labelを開く

すべての画像をアップロードすると、画像をどのようにラベリングしたいか尋ねられます。「Auto-Label And Review」を選択してください。

<figure><img src="/files/e9eb6c3b75bf97cfee9cf13fc00210debded1516" alt="" width="353"><figcaption><p>Roboflow Auto Labelインターフェースを開くには、「Auto-Label And Review」を選択してください。</p></figcaption></figure>

### ステップ3：Auto Labelを設定

Auto Labelのラベリングインターフェースが表示され、そこで自動ラベリングジョブを設定できます。

#### クラス（および説明）

クラスは、画像内のオブジェクトに割り当てたいラベルを表します。説明は、基盤モデル（SAM 3）がそのクラスのインスタンスを識別するために使用する、クラスの視覚的な説明を表します。デフォルトでは、説明はクラス名になります。Gemini（Boxes）はクラス名のみを読み取るため、説明は影響しません。

Auto Labelは、視覚的に明確な説明のある一般的なオブジェクトをラベリングする際に最も効果的です。たとえば、Auto Labelは生産ライン上のアルミ缶の位置を識別できます。しかし、アルミ缶のブランドを区別するなど、特定の要件に従って画像をラベリングすることはできません。

#### テスト結果を生成

Auto Labelを設定したら、「Generate Test Results」をクリックして、データセットの小さなサブセットでクラスをテストします。デフォルトでは4枚の画像が選択されます。

<figure><img src="/files/95c5847a4c8cc3a7da4b185c53de7b7faa9328aa" alt=""><figcaption><p>Auto Labelのインターフェース。</p></figcaption></figure>

### ステップ4：Roboflow Auto Labelのラベルを評価

例の画像で「アルミ缶」クラスを使用したときのテスト結果です。ここから次のことができます：

<figure><img src="/files/db0aaf1cac70522ab17033436d577f5f0b353d11" alt=""><figcaption><p>Auto Labelがアルミ缶をアノテーションしています。</p></figcaption></figure>

#### クラスと説明を調整する

Auto Labelが期待どおりに画像をラベリングしない場合は、クラスの別の説明を試してください。

{% hint style="info" %}
すべてのテスト結果は無料で、クレジットも消費しません。
{% endhint %}

#### 信頼度を調整する

各クラスの右側の数値は、（表示されているこのクラスのボックス数）/（このクラスの総ボックス数）を表します。クラスごとの信頼度しきい値を調整して、表示するボックスを増減できます。信頼度が高いほど、表示されるボックスは少なくなります。

{% hint style="info" %}
ここで設定した信頼度しきい値は、バッチ全体をラベリングするときにも同じものが使われるため、必ず適切か確認してください！
{% endhint %}

Gemini（Boxes）はすべてのボックスを最大信頼度で返すため、設定するしきい値はありません。これを選択すると、スライダーとプレビューラベル上の信頼度値は非表示になります。

#### 別の画像でテストする

バッチ内の別の画像でAuto Labelの性能を確認するには、左下の「Test images」セクションにある画像をクリックします。その画像のプレビューは、追加のボタンを押さなくてもすぐに読み込まれるはずです。

## ワークフローでラベル付け

基盤モデルや学習済みモデルの代わりに、保存済みの [ワークフロー](https://docs.roboflow.com/workflows)を使って自動ラベリングでき、SAHI、モデルアンサンブル、複数ステップのカスタムロジックを使ってバッチにラベルを付けられます。

Auto Labelのモデルのドロップダウンで「Workflows」タブを開き、ワークフローを選択します。プロジェクトタイプ（検出、セグメンテーション、分類）に対応するワークフローのみが表示されます。

ワークフローを選択した後、各出力クラスをプロジェクト内のクラスに割り当て、クラスごとの信頼度しきい値を設定します。サンプル画像でプレビューが実行されるので、ジョブ開始前にマッピングを確認できます。

{% hint style="info" %}
マッピングしたクラスのみが適用されます。マッピングされていない出力クラスは削除されるため、プロジェクトに書き戻したいクラスはすべてマッピングしてください。
{% endhint %}

マッピングが正しければ、「Auto Label With This Workflow」をクリックしてジョブを開始します。バックグラウンドで実行され、マッピングされたラベルをバッチに適用します。

### バッチでAuto Labelを実行

Auto Labelが期待どおりに画像をラベリングする場合は、「このモデルでAuto Label」をクリックします。概要モーダルを確認し、クリックして続行してください。1000枚の画像のラベリングには数分かかるはずです。

ジョブが開始されるとAnnotateページに移動し、新しいAuto Labelジョブが他のアノテーションジョブと並んで表示されます。Auto Labelはバックグラウンドで実行されるため、完了後にそこで結果を確認できます。

## 既存のアノテーション

バッチ内の画像にすでにアノテーションがある場合、概要モーダルでAuto Labelの扱い方を尋ねられます。いずれかのオプションを選ぶまでジョブは開始されません：

* 「既存のアノテーションを保持」は、各画像にすでにあるアノテーションの横にAuto Labelの予測を追加します。
* 「既存のアノテーションを置換」は既存のアノテーションを削除し、Auto Labelの予測のみを保存します。

## HTTP API

REST APIを使って、自動ラベリングジョブをプログラムから開始し、追跡できます。Auto Labelは、基盤モデル（SAM 3）または自分で学習したRoboflowモデルを使って、バッチ内の画像を自動的にアノテーションします。

これらのエンドポイントには [スコープ付きAPIキー](https://docs.roboflow.com/reference/authentication/authentication/scoped-api-keys) が必要で、 `annotationJob.create` および `annotationJob.read` のスコープがそれぞれ必要です。

### Auto Labelジョブを作成

自動ラベリングジョブを開始するには、POSTリクエストを送信します：

```bash
curl --location --request POST 'https://api.roboflow.com/${WORKSPACE}/${PROJECT}/autolabel?api_key=${ROBOFLOW_API_KEY}' \\
--header 'Content-Type: application/json' \\
--data-raw '{
    "batchId": "<BATCH_ID>",
    "modelType": "sam3",
    "ontology": {"犬": "犬", "猫": "猫"}
}'
```

または省略できます `ontology` をAPIにモデルまたはデータセットのクラスから自動生成させるには：

```bash
curl --location --request POST 'https://api.roboflow.com/${WORKSPACE}/${PROJECT}/autolabel?api_key=${ROBOFLOW_API_KEY}' \\
--header 'Content-Type: application/json' \\
--data-raw '{
    "batchId": "<BATCH_ID>",
    "modelType": "sam3"
}'
```

#### リクエストボディ

| パラメータ                         | 型           | 必須  | 説明                                                                                               |
| ----------------------------- | ----------- | --- | ------------------------------------------------------------------------------------------------ |
| `batchId`                     | 文字列         | はい  | ラベリングする画像バッチのID。                                                                                 |
| `modelType`                   | 文字列         | はい  | 使用するモデル。以下のいずれか： `sam3`, `custom_roboflow`.                                                      |
| `ontology`                    | オブジェクトまたは配列 | いいえ | プロンプトをクラス名にマッピングします。形式は以下を参照してください。省略した場合は自動的に生成されます（ [オントロジーの自動生成](#ontology-auto-derivation)). |
| `numImagesToLabel`            | 数値          | いいえ | ラベリングする画像数。デフォルトはバッチ全体です。                                                                        |
| `defaultConfidence`           | 数値          | いいえ | すべてのクラスに適用される信頼度しきい値（0〜1）。                                                                       |
| `confidenceThresholds`        | オブジェクト      | いいえ | クラスごとの信頼度しきい値。例： `{"犬": 0.5, "猫": 0.7}`.                                                         |
| `reviewerEmail`               | 文字列         | いいえ | レビュー担当として割り当てるワークスペースメンバーのメールアドレス。デフォルトはワークスペースの所有者です。                                           |
| `runNMS`                      | ブール値        | いいえ | 非最大抑制を実行するかどうか。デフォルトは `true`.                                                                    |
| `modelOptions`                | オブジェクト      | いいえ | 追加のモデル固有オプション（例： `{"modelId": "your-model/1"}` 向け `custom_roboflow`).                            |
| `preserveExistingAnnotations` | ブール値        | いいえ | 画像上にすでにあるアノテーションを保持し、Auto Labelの結果を追加します。デフォルトは `false`で、既存のアノテーションは置き換えられます。                    |

#### オントロジーの形式

この `ontology` フィールドは複数の形式を受け付けます。すべて内部で正規化されます。

**オブジェクト（標準）**  - キーはプロンプト、値はクラス名です：

```json
{"犬": "犬", "猫": "猫"}
```

**文字列の配列**  - 各文字列がプロンプトとクラス名の両方として使われます：

```json
["犬", "猫"]
```

**オブジェクトの配列：**

```json
[{"class": "犬", "prompt": "犬"}, {"class": "猫", "prompt": "猫"}]
```

#### オントロジーの自動生成

〜の場合 `ontology` が省略される（または空である）と、APIは以下に基づいて自動的に生成しようとします： `modelType`:

| モデルタイプ            | 生成元                                             |
| ----------------- | ----------------------------------------------- |
| `custom_roboflow` | で指定されたモデルの学習済みクラスを使用します `modelOptions.modelId`. |
| `sam3`            | データセットで定義されたクラス名を使用します。                         |

データセットにロックされたアノテーションクラスがある場合、生成されたオントロジーは許可されたクラスと交差されるため、無効なアノテーションは作成されません。

リクエストは `400` を返して失敗します。たとえば、データセットにクラスがない場合や、モデルのクラスがデータセットのロックされたクラスと重複しない場合などです。考えられる `errorType` の値：

* `MISSING_MODEL_ID` - `modelOptions.modelId` に必要です `custom_roboflow` オントロジーが提供されていない場合。
* `MODEL_CLASSES_UNAVAILABLE` - 指定されたモデルにクラスがありません。
* `NO_MATCHING_CLASSES` - モデルのクラスがデータセットのロックされたクラスと重複していません。
* `DATASET_HAS_NO_CLASSES` - データセットに定義されたクラスがありません（ `sam3`).

#### レスポンス

```json
{
    "jobId": "auto-label-job-uuid",
    "annotationJobId": "annotation-job-uuid",
    "message": "自動ラベリングジョブが作成されました"
}
```

### Auto Labelジョブのステータスを取得

自動ラベリングジョブの進行状況を確認するには、GETリクエストを送信します：

```bash
curl 'https://api.roboflow.com/${WORKSPACE}/autolabel/jobs/${JOB_ID}?api_key=${ROBOFLOW_API_KEY}'
```

以下を使用してください： `jobId` 作成エンドポイントから返されたものを使用します。

#### レスポンス

```json
{
    "id": "auto-label-job-uuid",
    "status": "pending",
    "modelType": "sam3",
    "projectType": "object-detection",
    "projectId": "project-id",
    "annotationJobId": "annotation-job-uuid",
    "numImages": 100,
    "numImagesSentBack": 0,
    "subjobs": [
        {"id": "subjob-1", "status": "pending"},
        {"id": "subjob-2", "status": "done"}
    ],
    "ontology": {"犬": "犬"},
    "confidenceThresholds": {"犬": 0.5},
    "startTime": "2026-01-01T00:00:00.000Z"
}
```

## MCPサーバー

AIエージェントを [MCPサーバー](https://docs.roboflow.com/agents/mcp-server) に接続すると、次のツールで画像バッチを自動ラベリングできます：

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>autolabel_start</code></td><td>画像バッチに対するホスト型の自動ラベリングジョブを開始します。</td></tr><tr><td><code>autolabel_job_get</code></td><td>自動ラベリングジョブの各サブジョブのステータスと進捗を取得します。</td></tr></tbody></table>
