CVAT の使い方:高速かつ正確なアノテーションのためのわかりやすいステップごとのガイド
コンピュータビジョンモデルのトレーニングを試したことがあるなら、誰もが直面する壁にぶつかったことがあるでしょう。それは、データに優れたラベルが必要だということです。CVAT (Computer Vision Annotation Tool) は、高品質の画像およびビデオアノテーションを作成するための最も人気のあるプラットフォームの 1 つです。オープンで強力であり、サイドプロジェクトから本番パイプラインまで拡張できるように構築されています。このハウツーガイドでは、インストール、セットアップ、ラベリングワークフロー、自動化ヘルパー、品質管理、エクスポートについて説明します。これにより、混乱することなく、ゼロからクリーンなデータセットを作成できます。
例やショートカット、避けるべき落とし穴を交えながら、実践的かつ直接的に説明します。
CVAT とは何ですか?なぜ使用するのですか?
CVAT は、画像やビデオにアノテーションを付けるためのウェブベースのツールです。オブジェクト検出、セグメンテーション、分類、トラッキングをサポートしています。ローカルまたはサーバー上で実行し、チームメイトを招待し、プロジェクト/タスクを管理し、ラベルを一般的な形式 (COCO、YOLO、VOC など) にエクスポートできます。反復可能で、共同作業が可能で、正確なラベリングが必要な場合、CVAT がそれを提供します。
- 一般的なトレーニングフレームワーク用の複数のエクスポート形式
公式なオリエンテーションとして、CVAT チームの「Getting Started」は役立つ入門書です。
クイックセットアップ:CVAT を実行する最も速い方法
CVAT の一般的なインストールパスでは Docker を使用します。サーバー、データベース、依存関係がバンドルされているため、数分で開始できます。
- Docker および Docker Compose (または Docker Desktop)
- 推奨:最新の CPU、十分な RAM (ビデオを多用するタスクの場合は 8〜16GB 以上)
- CVAT リポジトリをクローンして compose スクリプトを実行するか、コンテナイメージを直接使用します。公式ドキュメントに正確なコマンドと環境変数が記載されています。Docker Hub に公開されているサーバーイメージもあります。
- コンテナが実行されたら、ブラウザ ({Chrome}など) を開き、管理者/ユーザーを作成してサインインします。
ヒント:マウントされたボリュームにデータを保存すると、タスク、プロジェクト、アノテーションが更新後も保持されます。
CVAT ワークフローの概要
プロジェクト → タスク → ジョブの 3 つのレイヤーで考えます。
- プロジェクト:関連するタスクのコレクション (例:「小売店の棚の検出 2025」)。グローバルラベルを定義します。
- タスク:単一のラベリングユニット (例:1,000 枚の画像のバッチまたは 2 時間のビデオ)。
- ジョブ:タスクの分割 (例:長尺ビデオのスライス) をアノテーターに割り当てます。
この構造により、大規模なデータセットを管理し、チームメイトに作業を割り当て、ラベル定義の一貫性を保つことができます。
ステップ 1:プロジェクトとラベルの作成 (スキーマ設計)
データをアップロードする前に、オントロジー(何をどのようにラベリングするか)を定義します。
- クラス:例:
person、car、helmet、crack。
- 属性:例:
occluded: yes/no、weather: sunny/rainy、damage_severity: 1–5。
- カラーコーディング:視覚的な明瞭さを向上させます。
ベストプラクティス:
- 描画を必要としないメタデータには属性を使用します (例:「is_crowd」)。
- 意図的に階層化されていない限り、クラスが重複しないようにします (例:
vehicle > car/bus/truck)。
プロジェクトレベルでラベルを定義すると、関連するすべてのタスクがそれを継承します。
ステップ 2:タスクの作成とデータのアップロード
ダッシュボードから:
- プロジェクトを選択します (オプションですが推奨)。
- データをアップロードします。設定に応じて、画像のドラッグアンドドロップ、ディレクトリの指定、またはクラウドストレージリンク (例:S3、Azure Blob) の提供を行います。
- ラベルが正しいことを確認し (継承されたものか、タスク固有のものか)、作成をクリックします。
長尺ビデオの場合は、各ジョブを管理しやすく、アノテーターの応答性を維持するために、チャンク化またはジョブの自動分割を有効にすることを検討してください。
ステップ 3:適切なアノテーションモードの選択
CVAT は複数のアノテーションツールをサポートしています。
- バウンディングボックス:オブジェクト検出に最適です。
- ポリゴン/ポリライン:インスタンス/セマンティックセグメンテーション、道路車線、亀裂用。
- 立方体:2D 画像内の 3D のような遠近法ボックス用。
- ポイント:キーポイントまたはランドマーク (ポーズ、顔のランドマーク)。
キーボードショートカットを使用すると、作業が大幅にスピードアップします。
- Shift/Alt キーを押すと、図形が制約され (ツールによって異なります)、スナップします。
ヒント:ラベルリストを小さく、焦点を絞った状態に保ちます。クラスが多すぎると、アノテーターの速度が低下し、エラー率が上がります。
ステップ 4:ビデオアノテーション—補間と追跡
ビデオの場合、すべてのフレームにアノテーションを付ける必要はありません。代わりに:
- キーフレームにボックスまたはポリゴンを作成します。
- 補間/追跡を有効にします。CVAT はシェイプを前方に伝播できます。その後、必要に応じて新しいキーフレームで修正します。
- オブジェクトが遮蔽されたり、再表示されたりする場合は、トラックを分割または結合します。
- シーケンスをクリーンに保つために、「outside」や「occluded」のような状態をマークします。
これにより、時間的な一貫性を保ちながら、大幅に時間を短縮できます。調査やコミュニティのベストプラクティスでも、ビデオラベリングを加速するためにインタラクティブ/自己アノテーション支援が推奨されています。
ステップ 5:自動アノテーションおよび支援ツールの使用
CVAT は、作業をスピードアップするために支援ラベリングをサポートしています。デプロイメントに応じて、次のことができます。
- 組み込みのモデル支援機能を使用して、ボックス/マスクを提案します。
- サーバー側のモデルを実行してフレームを事前にラベル付けし、修正します。
小さくて高品質のシードセットから開始し、簡単なモデルをトレーニングし、それを使用して残りのデータに事前にラベル付けします。反復的に修正して再トレーニングします。
注:詳細は、環境で有効にするモデルによって異なります。公式ドキュメントとコミュニティチュートリアルでは、モデルを CVAT に接続し、UI で自動アノテーションを有効にする方法が示されています。
ステップ 6:役割とレビューによるコラボレーション
CVAT はマルチユーザーです。一般的な役割は次のとおりです。
- プロジェクトマネージャー:ラベルを定義し、タスク/ジョブを作成し、アノテーターを割り当て
- レビュー担当者/QA:作業をチェックし、修正を依頼
明確なガイドラインを設定します。正しい/正しくないアノテーションの例、属性の定義、およびエッジケース (例:「反射をラベル付けするか?」)。レビューツール (コメント、問題フラグ、ステータスの変更) を使用して、品質を向上させます。
ステップ 7:信頼できる品質管理
いくつかの実用的な QC 戦略:
- ゴールドタスク:専門家がラベル付けした画像をいくつか挿入して、アノテーターをベンチマークします。
- オーバーラップ:同じジョブを 2 人のアノテーターに割り当てます。IoU と合意を比較します。
- スポットチェック:レビュー担当者は各ジョブの割合を監査します。
- メトリクス:モデルトレーニング中にクラスごとの混同パターンを追跡して、ガイドラインを改善します。
時間の経過に伴う一貫性は、1 回限りの完璧なラベルよりも重要です。決定事項を文書化し、エッジケースを発見したらラベルガイドを更新します。
ステップ 8:保存、バージョン管理、エクスポート
頻繁に保存します (CVAT は自動保存も行います)。準備ができたら:
- エクスポート形式:COCO、YOLO、Pascal VOC など。トレーニングコードが予期する形式を選択します。
- フレーム範囲:特定のセグメントまたはタスク全体をエクスポートします。
- フィルター:必要に応じて、特定のラベルまたは属性のみをエクスポートします。
最新のエクスポートオプションとパラメータについては、公式ドキュメントを参照してください。インストールとサーバーイメージの詳細については、ドキュメントと Docker Hub ページが信頼できる情報源です。
実践的なシナリオとヒント
シナリオ 1:小売店の棚でのオブジェクト検出
- ラベル:
product、price_tag、promotional_sign。
- 速度を上げるためにボックスを使用します。
promo=yes/no のような属性を追加します。
- 軽量トレーニングパイプラインのために YOLO にエクスポートします。
シナリオ 2:道路車線セグメンテーション
- フレームワークに応じて、COCO パノプティック/セグメンテーションにエクスポートします。
シナリオ 3:安全装備のコンプライアンス
- ビデオ全体で
person、helmet、vest を追跡します。
- トラッキング + 属性 (
helmet=present/absent) を使用します。
- 入り口/出口でオクルージョンを注意深く確認します。
プロのヒント:
- UI の応答性を維持するために、タスクを数千枚の画像未満に保つか、長尺ビデオを分割します。
- パフォーマンスと明瞭さのバランスを取るために、画像のサイズを正規化するか、ビデオを圧縮します。
- データセットをバージョン管理します。明確なタグ (例:
v1.2.0) を付けてエクスポートし、タスクが完了したらロックします。
一般的な問題のトラブルシューティング
- 大きなビデオで UI がラグい:より短いジョブに分割します。プレビューの解像度とプリフェッチサイズを小さくします。
- トラッキングでのアノテーションのずれ:特に速い動きやオクルージョン中は、より頻繁にキーフレームを追加します。
- 紛らわしいラベル:オントロジーをリファクタリングします。詳細を属性に移動します。視覚的な例を提供します。
- エクスポートの不一致:ターゲットトレーニングライブラリの予期されるフィールド (例:YOLO クラスインデックスマッピング、COCO カテゴリ ID) を再確認します。
ML パイプラインへの統合
- 前処理:アノテーションを高速化するために、アップロードする前に画像のサイズを変更/正規化します。
- 自動化:簡単なモデルで事前にラベル付けし、CVAT で修正してから、反復処理します。
- データの CI:ラベルをコードのように扱います。バージョン管理されたエクスポート、チェックサム、および変更ログ。
- ストレージ:大規模なビデオデータセットには、クラウドバケットとライフサイクルポリシーを使用します。
注目すべき点:AI アシスタントを使用してガイドラインを文書化したり、ラベル分類を作成したり、レビュー担当者のフィードバックを要約したりする場合は、Sider.AI のようなツールを使用すると、明確な指示と一貫性のあるレビューチェックリストを作成できます。決定を記録し、例を生成して、チームで共有可能なプレイブックに変換できます。詳細については、Sider.AI をご覧ください。 30 分間のスタータープラン
- 5 分:CVAT をローカルにインストールして起動します。
- 5 分:3〜5 個のラベルと 2 つの属性を持つプロジェクトを作成します。
- 10 分:ボックスを使用して 20 枚の画像にアノテーションを付けます。ショートカットを学びます。
- 5 分:YOLO にエクスポートして、簡単なトレーニングパスを実行します。
終了するまでに、生の画像からトレーニング可能なデータセットまでの完全なループが完了します。
詳細はこちら
- より高速なワークフローを促すビデオのインタラクティブ/自己アノテーションに関する調査。
重要なポイント
- 最初にラベルを定義します。スキーマ設計により、ダウンストリームの苦痛を防ぐことができます。
- ビデオには補間と追跡を使用します。キーフレームを賢く使用します。
- 自動アノテーションは作業を加速します。ヒューマンレビューは品質を保証します。
- トレーニングコードが予期する形式でエクスポートします。すべてをバージョン管理します。
- 小さく始めて、迅速に反復し、明確なガイドラインでスケールします。
よくある質問
Q1:CVAT とは何ですか?画像アノテーションにどのように使用できますか?
CVAT は、画像およびビデオ用のブラウザベースのラベリングプラットフォームです。プロジェクトを作成し、ラベルを定義し、タスクとしてデータをアップロードし、ボックスまたはポリゴンでアノテーションを付け、COCO や YOLO などの形式でエクスポートします。
Q2:CVAT をすばやくインストールするにはどうすればよいですか?
最も簡単な方法は Docker を使用することです。公式インストール手順に従ってサーバーをローカルで起動し、ブラウザで Web UI にアクセスしてセットアップとユーザー作成を行います。
Q3:CVAT はビデオで自動アノテーションまたは追跡を支援できますか?
はい、CVAT は補間と追跡をサポートしてフレーム全体にアノテーションを伝播し、モデル支援ラベリングを統合してオブジェクトに事前にラベル付けし、レビューをスピードアップできます。
Q4:CVAT はどのエクスポート形式をサポートしていますか?
一般的なエクスポートには、COCO、YOLO、Pascal VOC が含まれます。トレーニングフレームワークの予期されるスキーマとクラスインデックスマッピングに一致する形式を選択します。
Q5:CVAT でチームと品質管理を管理するにはどうすればよいですか?
共有ラベルでプロジェクトを作成し、タスクをジョブに分割し、役割 (アノテーター、レビュー担当者) を割り当て、レビュー、コメント、ゴールドタスク、およびオーバーラップチェックを使用して、一貫した品質を確保します。