Skip to content

動画アノテーションツールの比較: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 本のリンクした動画に対する、時間に沿ったティア
BORISLinux、Windows、macOS、Android 用のデスクトップアプリGPL-3.0動画、音声、実地観察からの行動イベントの記録
Prodigyローカルで動かす Web アプリプロプライエタリ音声用インターフェースを使った、動画上のタイムスタンプ付き領域
VIA 3単一の HTML ファイル、ブラウザでオフライン動作BSD-2-Clause何もインストールしない小規模な動画プロジェクト
V7Superviselyホスティング(Supervisely はセルフホストも可)商用モデルによるマスク伝播と管理されたワークフローを伴うトラッキング

フレームをまたいで物体を追う

CVAT のトラックモードは、異なるフレームの図形を一つの物体として結びつけます。アノテーターがいくつかのキーフレームで図形を調整すると、CVAT がその間のフレームを線形補間します。対象は矩形、ポリゴン、点です。Label StudioVideoRectangle タグは、ボックスによる物体トラッキングを動画にもたらします。V7SuperviselySegments.ai は補間によるトラッキングに加え、モデルでマスクを伝播します。

Potatovideo_annotation スキームには、キーフレーム間でボックスとポリゴンを補間するトラッキングモードがあります。SAM 2 によるマスク伝播はサーバー側で実行されます。ブラウザには、マスクを先へ引き継ぐ軽量な処理があります。動画の物体トラッキングのアノテーション方法を参照してください。

何かが起きた時点を記録する

Label StudioTimelineLabels タグは、クリックで 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 でのトラッキングタスク

yaml
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: true

frame_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 を使って実行されます。ブラウザには、モデルを使わずにマスクを次のフレームへコピーする軽量な処理があります。

参考資料