動画アノテーションツールの比較:CVAT、Label Studio、ELAN、BORIS、Potato
CVAT、Label Studio、ELAN、BORIS、VIA、V7、Potato を、物体トラッキング、時間区間、行動コーディング、マスク伝播について比較し、それぞれの一致度の測り方もまとめました。
動画アノテーションは、たいてい二つの作業のどちらかです。物体トラッキングは、何かを図形で囲み、フレームをまたいで追いかける作業で、オープンソースでは CVAT が定番です。時間区間のアノテーションは、何かが起きた時点を記録する作業で、言語学や行動研究では ELAN と BORIS が標準です。Potato は、複数のアノテーターが参加する研究のために両方をブラウザで行い、イベントの開始と終了の時点についてアノテーター同士がどれだけ一致しているかを報告します。
物体トラッキングは、動画の中の物体を追いかけます。通常はキーフレームで物体を描き、その間のフレームを補間します。時間区間は、開始時刻、終了時刻、ラベル(動作や話者のターンなど)の組です。マスク伝播は、モデルを使ってセグメンテーションマスクを次のフレームへ引き継ぎます。
このページは動画を扱います。すべてのデータの種類を 1 ページで比べたものは AI アノテーションツールの比較にあります。
比較する価値のある動画アノテーションツールは?
| ツール | 動作形態 | ライセンスと費用 | 向いている用途 |
|---|---|---|---|
| Potato | セルフホストの Web アプリ | GPL-3.0、無料 | 複数アノテーターによる研究:トラッキング、時間区間、区間ごとの質問、一致度 |
| CVAT | セルフホストまたはホスティング | MIT。ホスティング版は 1 ユーザー月額 33 ドル | 大量のボックス、ポリゴン、点のトラッキング |
| Label Studio | セルフホストまたはホスティング | Apache-2.0 Community Edition、有料プランあり | VideoRectangle による物体トラッキング、TimelineLabels によるフレーム範囲のラベル |
| ELAN | デスクトップアプリ | GPL-3.0 | 最大 4 本のリンクした動画に対する、時間に沿ったティア |
| BORIS | Linux、Windows、macOS、Android 用のデスクトップアプリ | GPL-3.0 | 動画、音声、実地観察からの行動イベントの記録 |
| Prodigy | ローカルで動かす Web アプリ | プロプライエタリ | 音声用インターフェースを使った、動画上のタイムスタンプ付き領域 |
| VIA 3 | 単一の HTML ファイル、ブラウザでオフライン動作 | BSD-2-Clause | 何もインストールしない小規模な動画プロジェクト |
| V7、Supervisely | ホスティング(Supervisely はセルフホストも可) | 商用 | モデルによるマスク伝播と管理されたワークフローを伴うトラッキング |
フレームをまたいで物体を追う
CVAT のトラックモードは、異なるフレームの図形を一つの物体として結びつけます。アノテーターがいくつかのキーフレームで図形を調整すると、CVAT がその間のフレームを線形補間します。対象は矩形、ポリゴン、点です。Label Studio の VideoRectangle タグは、ボックスによる物体トラッキングを動画にもたらします。V7、Supervisely、Segments.ai は補間によるトラッキングに加え、モデルでマスクを伝播します。
Potato の video_annotation スキームには、キーフレーム間でボックスとポリゴンを補間するトラッキングモードがあります。SAM 2 によるマスク伝播はサーバー側で実行されます。ブラウザには、マスクを先へ引き継ぐ軽量な処理があります。動画の物体トラッキングのアノテーション方法を参照してください。
何かが起きた時点を記録する
Label Studio の TimelineLabels タグは、クリックで 1 フレームに、ドラッグでフレーム範囲にラベルを付けます。ELAN は、スキームが必要とするだけのティアでタイムラインにアノテーションを付けられ、統制語彙と最大 4 本の同期動画に対応しています。BORIS は、動画、音声、実地観察から行動イベントを記録し、コーディングします。Prodigy は動画のタイムスタンプに沿って領域を記録し、VIA 3 は画像や音声に加えて動画もアノテーションできます。
Potato では、時間区間をタイムライン上でラベル付けします。バージョン 2.9 からは segment_schemes によって任意のアノテーションタイプを区間の中に置けるので、区間ごとに評価や自由記述の質問を付けられます。動画アノテーションを参照してください。
動画アノテーションの一致度
イベントの開始時点に印を付ける 2 人のアノテーターが、同じフレームを選ぶことはありません。そのため時間の一致度は、二つの印がどれだけ離れていても同じ印とみなすかによって変わります。
- ELAN にはアノテーター間信頼性の計算機能が組み込まれています。決められた割合以上重なるアノテーションを対応づける修正版 Cohen の κ と、分割結果をランダムに生成した分割と比べて偶然を考慮する Staccato アルゴリズムです。
- Potato は、重なりについて時間 IoU、境界の位置について α、ラベルについて α、イベントに印が付いたかどうかについて α を報告し、照合の許容幅は値を変えたスイープとして示します。ドキュメントには制約が一つ明記されています。区間の重なりには、まだ偶然のベースラインがありません。時間軸上の一致度を参照してください。
- CVAT のコンセンサスエンジンは、クラスごとのしきい値に対して生の IoU でアノテーターを比較します。
トラックとマスクについては、Potato はマスクをマスクのコンセンサスと STAPLE でフレームごとに比較し、ボックスはバウンディングボックスのアノテーター間一致度の測り方で説明している形状の一致度で比較します。
形式
Potato は、トラックを MOT、動画物体セグメンテーションのマスクを DAVIS、時間に沿ったアノテーションを ELAN で開ける EAF で書き出します。コンピュータビジョンの形式を参照してください。
Potato でのトラッキングタスク
annotation_schemes:
- annotation_type: video_annotation
name: tracks
description: "Draw the object once, then press Track forward."
source_field: video_url
mode: tracking
labels:
- {name: subject, color: "#d1495b"}
tracking_options:
interpolation: linear
auto_advance_frames: 5
video_fps: 12
frame_stepping: trueframe_stepping でアノテーターは 1 フレームずつ進めるようになり、auto_advance_frames は Track forward で進む幅を決めます。
動画で Potato ができないこと
- 物体ごとの属性にはまだ対応していません。 トラックにはラベルが一つ付くだけです。隠れや切れのフラグには別のスキームを組み合わせる必要があります。
- ブラウザ内でのマスク伝播はしません。 SAM 2 による伝播はサーバー側で実行されます。
- アノテーターの提供はありません。 自分で集めるか、Prolific で募集してください。
2026 年 8 月と 9 月に、各プロジェクトのドキュメントで確認しました。
よくある質問
無料の動画アノテーションツールで一番良いものは?
大量の物体トラッキングなら、CVAT が無料で成熟しており、セルフホストできます。時間に沿った行動や発話のコーディングなら、ELAN と BORIS が無料のデスクトップツールです。複数のアノテーターがブラウザで同じ動画にラベルを付け、一致度を報告する研究なら、Potato は無料でそれを備えています。
キーフレーム間を補間できる動画アノテーションツールは?
CVAT のトラックモードは、キーフレーム間で矩形、ポリゴン、点を線形補間します。Potato のトラッキングモードはボックスとポリゴンを補間します。V7 と Supervisely は補間に加えてモデルでマスクも伝播します。Label Studio の VideoRectangle はボックスをトラッキングします。
動画の行動コーディングには何を使えばよいですか?
BORIS と ELAN が定評のある無料ツールで、ELAN はティアのペア間でアノテーター間信頼性を計算できます。複数のコーダーがブラウザで同じコーディングスキームを適用し、全員の一致度を報告するなら、Potato の時間区間が向いています。
動画アノテーションの一致度はどう測りますか?
イベントについては、各アノテーターの区間を許容幅の範囲で対応づけ、重なり、境界の一致、ラベルの一致を報告します。0.25 秒での一致と 2 秒での一致は別の主張なので、できれば複数の許容幅で示してください。トラックについては、ボックスやマスクの IoU でフレームごとに図形を比べます。
Potato の動画マスク伝播はどこで実行されますか?
サーバー側で、SAM 2 を使って実行されます。ブラウザには、モデルを使わずにマスクを次のフレームへコピーする軽量な処理があります。