画像アノテーションエディター

画像に矩形やポリゴンを描画し、ラベルを付けて COCO / YOLO 形式でエクスポート。

100% ローカル処理 — 画像とアノテーションがブラウザの外に出ることはありません。

ビジュアルエディターと JSON エディターはリアルタイム同期 — すべての変更が即座に双方に反映されます。

Tips

🖱️

矩形の描画

矩形ツールを選択し、キャンバス上でクリック&ドラッグします。バウンディングボックスは画像の境界に自動的にスナップします。

ポリゴンの描画

ポリゴンツールを選択しクリックで頂点を配置。Enter またはダブルクリックで図形を閉じます。Escape でキャンセル。

✏️

図形の編集

選択モードで図形をクリック。角ハンドルのドラッグで矩形をリサイズ、頂点ハンドルのドラッグでポリゴンを変形。図形内ドラッグで移動。

⌨️

キーボードショートカット

Ctrl+Z / Ctrl+Shift+Z で元に戻す/やり直し。Delete/Backspace で選択を削除。Escape で選択解除。Enter でポリゴン確定。

🔍

ズーム&パン

マウスホイールでズーム。中ボタンドラッグまたは Space 押しながらドラッグでパン。フィットで画像に合わせ、リセットで 1:1 に戻す。

🏷️

ラベル&メモ

アノテーションを選択しサイドバーでラベルとメモを編集。ラベルは COCO/YOLO エクスポートのカテゴリ名として使用。ラベルなしは "unlabeled" としてエクスポート。

📋

ネイティブ JSON 形式

ネイティブ JSON はすべてのデータ(ラベル、メモ、色、正確な座標)を保持し、後で再インポートできます。作業の保存と再開に使用してください。

🤖

COCO JSON 形式

COCO JSON は物体検出データセットの標準形式(Detectron2, MMDetection 等で使用)。矩形は bbox とポリゴンセグメンテーションの両方でエクスポート。トレーニングと評価に最適。

📐

YOLO BBox 形式

YOLO BBox は正規化された center-x, center-y, width, height を1行ずつ出力し、classes.txt も生成。YOLOv5/v8/v9 の物体検出トレーニングに使用。

🔷

YOLO セグメンテーション形式

YOLO セグメンテーションは正規化されたポリゴン頂点を1行ずつ出力し、classes.txt も生成。YOLOv8-seg 以降のインスタンスセグメンテーショントレーニングに使用。

🔄

リアルタイム JSON 同期

ビジュアルエディターと下の JSON エディターは同期しています。どちらで座標やラベルを編集しても、即座に双方向に反映されます。

📁

ファイル命名規則

エクスポートファイルは元の画像名から命名: {name}_annotations.json, {name}_coco.json, {name}_yolo_bbox.txt, {name}_yolo_seg.txt と対応する _classes.txt ファイル。

よくある質問

画像はサーバーにアップロードされますか?
いいえ。すべての処理は JavaScript を使用してブラウザ内で完結します。画像、アノテーション、エクスポートファイルがデバイスの外に出ることはありません。
物体検出にはどのエクスポート形式を使うべきですか?
PyTorch ベースのフレームワーク(Detectron2, MMDetection, DETR)には COCO JSON を使用。Ultralytics YOLOv5/v8/v9 には YOLO BBox を使用。各フレームワーク向けに最適化されたバウンディングボックス情報を含みます。
インスタンスセグメンテーションにはどの形式を使うべきですか?
ポリゴンマスクによるピクセルレベルのセグメンテーションには COCO JSON を使用(Mask R-CNN, Detectron2 対応)。YOLOv8-seg には正規化ポリゴン頂点をエクスポートする YOLO セグメンテーションを使用。
YOLO BBox と YOLO セグメンテーションの違いは?
YOLO BBox は軸に沿ったバウンディングボックスのみ(center_x, center_y, width, height)。YOLO セグメンテーションは実際のポリゴン頂点をエクスポートし、正確な形状を保持。両方とも 0〜1 の正規化座標を使用。
既存のアノテーションをインポートできますか?
はい。インポートボタンでこのツールから以前エクスポートしたネイティブ JSON ファイルを読み込めます。ファイル内の画像サイズは現在読み込まれている画像と一致する必要があります。
ラベルなしのアノテーションはエクスポート時にどう処理されますか?
ラベルなしのアノテーションは COCO/YOLO 形式でカテゴリ名 "unlabeled" としてエクスポートされます。トレーニング用にエクスポートする前に意味のあるラベルを付けることを推奨します。
ドラッグ操作でのアンドゥ/リドゥはどう動作しますか?
ドラッグ操作(図形の移動、矩形のリサイズ、ポリゴン頂点の編集)は1つのアンドゥステップにまとめられます。Ctrl+Z 1回でドラッグ全体を元に戻し、途中の位置ごとには戻りません。
対応している画像フォーマットは?
PNG, JPEG, WebP 画像を読み込めます。画像は HTML canvas に表示されます。非常に大きな画像(例: 8000×6000)はローエンドデバイスでは遅く感じることがあります。
複数の画像を同時にアノテーションできますか?
このツールは一度に1枚の画像を処理します。アノテーションをエクスポートしてから次の画像を読み込んでください。バッチ処理にはスクリプトでエクスポートファイルを結合することを検討してください。
YOLO ファイルには classes.txt が含まれますか?
はい。YOLO BBox と YOLO セグメンテーションの両方がアノテーションファイル({name}_yolo_bbox.txt または {name}_yolo_seg.txt)と対応するクラスファイル({name}_yolo_bbox_classes.txt または {name}_yolo_seg_classes.txt)の2つのファイルをエクスポートします。