roboflow-data-management について
コンピュータービジョン用データセットを管理する Roboflow のスキルです。プロジェクト設定、画像とアノテーションのアップロード、検索、バージョン作成、エクスポートを扱い、Roboflow のデータセットワークフローを管理するエージェント向けです。
主な機能
- 01プロジェクトの作成と確認
- 02画像とアノテーションのアップロード
- 03RoboQL による画像検索
- 04データセットバージョンの作成
- 05データセット分析の確認
- 06一般的な形式でのエクスポート
活用シーン
- 01アノテーション付き画像のプロジェクトへの取り込み
- 02分割・クラス・タグによる画像検索
- 03前処理を適用したバージョンの作成
- 04モデル学習用データセットのエクスポート
MCP 対応
プロジェクト管理、画像検索とアップロード、バージョン生成、確認、エクスポートに使う Roboflow MCP ツールを説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ roboflow/ computer-vision-skills --skill roboflow-data-managementインストール後、Claude Code で/roboflow-data-managementを入力して読み込まれたか確認します。
同梱ファイルlabeling.md
詳細
エージェント向け: このスキルは
roboflow/computer-vision-skillsで作成されています。クライアントにすでにスキルとして読み込まれている場合(たとえば Roboflow プラグインから読み込まれている場合)は、そのコピーを使用してください。roboflow://skills/<name>/...MCP リソースは、スキルが読み込まれていないクライアントに同じスキルを提供します。
Roboflow でのデータ管理
プロジェクトの種類
| 種類 | アノテーション形式 | 用途 |
|---|---|---|
| 物体検出 | バウンディングボックス(ポリゴン/マスクは自動変換) | ボックスで物体の位置を特定 |
| インスタンスセグメンテーション | ポリゴン、マスク | 物体ごとのピクセル単位の境界 |
| セマンティックセグメンテーション | ポリゴン、マスク | ピクセル単位のクラス領域 |
| キーポイント検出 | キーポイント(スケルトン) | 姿勢/スケルトンの推定 |
| 単一ラベル分類 | 画像レベルのラベル(描画アノテーションなし) | 画像ごとに1つのクラス |
| マルチラベル分類 | 画像レベルのラベル | 画像ごとに複数のクラス |
プロジェクトの種類は作成時に設定され、後から変更できません。
データのアップロード
方法
| 方法 | 最適な用途 | 形式 |
|---|---|---|
| Web UI のドラッグ&ドロップ | 1,000 枚未満の画像 | JPG、PNG、WEBP、AVIF、BMP、MOV、MP4、PDF + 40 種類以上のアノテーション形式 |
CLI(roboflow import) | 1,000 枚を超える画像(画像のみ) | 同じ画像形式、動画は不可 |
MCP zip アップロード(image_upload) | ローカルファイルをアップロードするエージェント、zip あたり最大 2 GB/10,000 ファイル | 画像と任意のアノテーションファイル(以下を参照) |
| クラウドストレージバケットのミラーリング | S3/GCS にすでに保存されている大規模または継続的に増加するデータ | roboflow://skills/roboflow-cloud-storage/SKILL を参照 |
| Dataset Upload Workflow Block | 本番環境の Workflows からの収集 | プログラムによる |
| Universe のフォーク | 公開データセットを起点にする場合 | 任意の Universe データセット |
制限: 画像は最大 20 MB、最大 16,400 x 10,900 px です。重複画像は自動的にスキップされます。
動画のアップロード
動画は設定可能なレート(1 フレーム/60 秒~60 fps)でフレームに分割されます。対応形式はブラウザーによって異なります(MP4 H.264 が最も互換性があります)。
CLI アップロード
pip install roboflow
roboflow import -w <workspace> -p <project-id> /path/to/dataset
MCP zip アップロード
image_upload は署名付き URL を返します。クライアントはローカルファイルを zip にまとめ、その URL に PUT し、image_upload_status をポーリングして completed または failed になるまで確認します。
- アノテーションがインポートされます。 zip には画像の隣にアノテーションファイルを格納できます。これらは Web アップローダーと同様に解析されます。COCO JSON(
_annotations.coco.json)、YOLO TXT(data.yamlまたはclasses.txtを含む)、Pascal VOC XML、CreateML JSON、CSV などに対応しています。アノテーションはファイル名で画像と照合されます。分類プロジェクトでは、画像の親フォルダー名がクラスになります。 - フォルダーで分割が設定されます。 画像のパス内のどこかに
train/、valid/、またはtest/フォルダー(training/、validation/、val/、testing/も同様)があると、その分割が設定されます。それ以外の画像にはsplit引数が使用されます。 - アノテーション済み画像はそのまま Dataset に追加されます。 ワークスペースでアノテーションレビューが有効になっている場合(この場合はレビュー用ジョブで待機します)を除き、承認が必要なアノテーションジョブはありません。アノテーションのない画像はバッチ(
batch_name、既定値は "Uploaded via API")に追加されます。annotations_saveとadd_to_dataset=trueを使ってラベルを付けてください。 - 重複画像にもアノテーションが反映されます。 プロジェクト内にすでにある画像は再保存されませんが、zip 内のアノテーションは保存されます。すでにアノテーションがある場合は既存のものが保持され、その画像は
annotationErrorsに "Image was already annotated" として記録されます。置き換えるにはannotation_overwrite=trueを指定してください。分類ラベルは常に置き換えられます。 - 失敗したチャンクは安全に再試行できます。 zip はチャンク単位で処理されます。ステータスが
failedで、chunk-0などのuploadErrorsエントリーがある場合、そのチャンクの画像はアノテーションなしで保存されている可能性があります。同じ zip を再度アップロードしてください。保存済みの画像は重複として扱われ、不足しているアノテーションが保存されます。最初のアップロードで処理できた画像に対する "Image was already annotated" は想定どおりです。
タグ
タグは、整理やフィルタリングに使う画像の自由形式ラベルです。
| 操作 | 方法 |
|---|---|
| アップロード時に追加 | アップロードダイアログのタグセレクター、または API を使用 |
| 既存の画像に追加 | 画像を選択 -> 「Images Selected」 -> 「Apply tags」 |
| 一括で名前を変更/削除 | Project Settings -> Tags -> 「Modify Tags」 |
| タグでフィルター | tag:<name> で検索するか、Assign ページのフィルターを使用 |
| バージョンで使用 | 「Filter by Tag」前処理ステップ(必須/除外/許可) |
データセット検索(RoboQL)
Images ページの検索バー、または MCP の images_workspace_search ツールを使って画像を検索します(1 つのプロジェクト内に絞るには project:<slug> を追加します)。ブール論理を使ってフィルターを組み合わせることができます。
MCP の images_search ツールは RoboQL を解析しません。クエリはセマンティックテキストとして扱われ、結果の順位付けに使われますが、フィルタリングは行われないため、ここで split:valid を指定しても何も変わりません。フィルタリングには独自のパラメーター(タグ、クラス、データセット、バッチ、アノテーションジョブ)のみを使用します。分割やその他の RoboQL フィルターには images_workspace_search を使用してください。
フィルター
| フィルター | 例 | 説明 |
|---|---|---|
| (自由入力テキスト) | person on sidewalk | セマンティック検索(CLIP ベース) |
like-image:<ID> | like-image:abc123 | 視覚的に類似した画像を検索 |
filename: | filename:*factory* | ファイル名で一致(部分一致には * を使用) |
tag: | tag:factory | タグでフィルタリング |
split: | split:train | 分割でフィルタリング |
job: | job:<JOB_ID> | アノテーションジョブでフィルタリング |
class: | class:helmet | 指定したクラスのアノテーションがある画像 |
metadata: | metadata:key=value | ユーザーメタデータでフィルタリング |
project: | project:my-project | プロジェクトでフィルタリング(ワークスペース検索) |
dataset: | dataset:my-project | プロジェクトの Dataset 内の画像。project:my-project NOT dataset:my-project で、まだ含まれていない画像を検索 |
sort: | sort:updated | 結果を並べ替え |
min-width: / max-width: | min-width:1000 | 画像の寸法フィルター |
min-height: / max-height: | max-height:800 | 画像の寸法フィルター |
min-annotations: / max-annotations: | max-annotations:1 | アノテーション数フィルター |
ブール論理
AND、OR、NOT、括弧:class:helmet AND NOT (tag:v1 OR tag:v2)-でフィルターを反転:-class:vest- 数値フィルターの比較演算子:
>、<、>=、<=、=(例:class:helmet>=3)
分割(Train / Valid / Test)
画像は train、valid、test のいずれかの分割に割り当てられます。バージョン生成時(バージョン作成のステップ 2)に分割の割合が再調整されます。拡張は train 分割にのみ適用されます。
データセットのバージョン
バージョンとは、ある時点のデータセットの固定スナップショットです。バージョン作成後にプロジェクトへ加えた変更は、既存のバージョンには影響しません。
バージョン作成パイプライン
- ソースの選択 — データセットの分割から画像を選択
- Train/Test 分割 — 割合を再調整
- 前処理 — すべての分割(train + valid + test)に適用
- 拡張 — train 分割にのみ適用
- 生成 — 不変のバージョンを作成
前処理オプション
| ステップ | 効果 |
|---|---|
| Auto-Orient | EXIF を削除し、向きを正規化 |
| Resize | 引き伸ばす/範囲内に収める/収める(黒い余白)/収める(白い余白) |
| Grayscale | RGB を単一チャンネルに変換 |
| Auto-Adjust Contrast | コントラストストレッチ/ヒストグラム均等化/適応型(CLAHE) |
| Isolate Objects | 各 bbox を個別の画像に切り抜く(OD を分類に変換) |
| Static Crop | すべての画像を固定領域に切り抜く |
| Tile | 画像を NxN グリッドに分割(デフォルトは 2x2。小さな物体の検出に役立ちます) |
| Dynamic Crop | 特定のクラスの周囲で画像を切り抜く |
| Modify Classes | このバージョンのみ、クラスを再割り当て/省略 |
| Filter Null | アノテーションのない画像の割合を調整 |
| Filter by Tag | タグによって画像を必須/除外/許可 |
| Random Sample | 分割ごとに画像の割合をサンプリング |
拡張オプション
学習画像のみに適用されます。バージョンの最大サイズを設定できます(例:3x = 元画像 + 拡張コピー 2 枚)。
| 拡張 | 画像レベル | バウンディングボックスレベル | ティア |
|---|---|---|---|
| 反転 | はい | はい | 基本 |
| 90 度回転 | はい | はい | 基本 |
| クロップ | はい | はい | 基本 |
| 回転 | はい | はい | 基本 |
| シアー | はい | はい | 基本 |
| グレースケール | はい | いいえ | 基本 |
| 色相 | はい | いいえ | 基本 |
| 彩度 | はい | いいえ | 基本 |
| 明るさ | はい | はい | 基本 |
| 露出 | はい | はい | 基本 |
| ぼかし | はい | はい | 基本 |
| ノイズ | はい | はい | 基本 |
| カメラゲイン | はい | はい | 基本 |
| モーションブラー | はい | はい | 基本 |
| カットアウト | はい | いいえ | 拡張(有料) |
| モザイク | はい | いいえ | 拡張(有料) |
データセット分析
プロジェクトのサイドバーから「Analytics」を選択すると利用できます。以下が表示されます。
- 画像数、アノテーション数、画像の平均サイズ、アスペクト比の中央値
- アノテーションの欠落数と null 数
- train/valid/test におけるクラス分布
- 画像サイズの分析(サイズとアスペクト比の分布)
- アノテーションのヒートマップ(クリックしてドラッグすると、領域ごとに画像を絞り込めます)
- オブジェクト数のヒストグラム(バーをクリックすると、一致する画像を確認できます)
クラス
Project Settings -> Classes で管理します。
| 操作 | 説明 |
|---|---|
| 名前を変更 | Override 列に新しい名前を入力します |
| 統合 | 複数のクラスに同じ名前を設定します |
| 削除 | Delete チェックボックスをオンにします |
| ロック | 「Lock Annotation Classes」を有効にすると、新しいクラスの作成を防止できます |
警告: プロジェクトレベルでのクラス変更は、すべての画像に影響します(元に戻せません)。破壊的でない変更には、バージョンレベルの「Modify Classes」前処理を使用してください。
アノテーショングループ
アノテーショングループとは、プロジェクト内のすべてのクラスをまとめるカテゴリです。同じアノテーショングループを共有するプロジェクトは、クラスリストとアノテーションを共有します。
- プロジェクト作成時に「Share image annotations with other projects」を有効にします
- アノテーションの共有:1 つのプロジェクトでの編集は、リンクされているすべてのプロジェクトに影響します
- 共有されている画像/プロジェクトを見分けるには、チェーンリンクのアイコンを確認します
- 複数のプロジェクト間で共有される画像は、使用量には 1 回だけカウントされます
グループ名を再利用すると、ゴミ箱内のプロジェクトであってもアノテーションが共有されます。 グループは、作成時に指定した annotation 名だけで構成されます。別のプロジェクトですでに使われている名前(ゴミ箱内のプロジェクトを含む)で新しいプロジェクトを作成すると、気づかないうちにそのグループに参加します。そのプロジェクトにアップロードした画像がワークスペース内にすでに存在する場合、アノテーションも引き継がれます。また、アノテーション付きでアップロードすると、「Image was already annotated」というエラーが発生します。ユーザーがアノテーションの共有を希望していない場合は、projects_create の前に projects_list と trash_list の annotation 値を確認し、他のプロジェクトが使用していない名前を選んでください。
プロジェクトフォルダー
フォルダーを使うと、プロジェクトを整理できます。SSO ワークスペースでは、特定のチームメンバーのみにフォルダーへのアクセスを制限できます。
| 操作 | 方法 |
|---|---|
| 作成 | ワークスペースビューから「+ New Folder」を選択します |
| プロジェクトを移動 | プロジェクトメニュー -> 「Move Project」を選択します |
| フォルダーを削除 | フォルダーメニュー -> 「Delete」を選択します(プロジェクトは削除されず、ワークスペースのルートに移動します) |
エクスポート形式
バージョンは .zip のダウンロードまたは curl コマンドとしてエクスポートできます。COCO、YOLO、Pascal VOC、TFRecord など、40 種類以上の形式に対応しています。完全なリストは roboflow.com/formats で確認できます。
Python SDK を使ってエクスポートします。
project.version(1).download("yolov8")
プロジェクトの種類とライセンス
プロジェクトの種類やライセンスを推測しないでください。projects_create を呼び出す前に、両方をユーザーに確認してください。
利用可能な MCP ツール
| ツール | 目的 |
|---|---|
projects_create | 新しいプロジェクトを作成します(タイプと、共有する意図がない場合は未使用のアノテーショングループを指定します) |
projects_list / projects_get | プロジェクトの一覧表示、または詳細の取得 |
images_search | 1 つのプロジェクト内をセマンティック検索します。タグ、クラス、Dataset、バッチ、ジョブで絞り込めます(RoboQL は使用しません) |
images_workspace_search | ワークスペース全体を RoboQL で検索します(例:project:my-project split:valid) |
image_upload / image_upload_status | 画像と任意のアノテーションを含む ZIP アップロードを準備し、ステータスを確認します |
versions_generate | 前処理/拡張を適用してデータセットバージョンを生成します |
versions_get | バージョンを確認します |
versions_export | 指定した形式でバージョンをエクスポートします |
関連ページ
roboflow://skills/roboflow-data-management/labeling— アノテーションツール、AI ラベリング、Label Assist、Smart Polygon、Auto Label、アノテーションジョブroboflow://skills/roboflow-cloud-storage/SKILL— S3/GCS バケットをワークスペースにミラーリングします(認証情報、データソース、glob ルール、スケジュール同期)