Point Tracking 手法詳細比較
調査対象: CoTracker / TAP-Net & TAPIR / DINO‑Tracker / PIPs & PIPs++ / RAFT / DOT
目的: 固定カメラ映像で 特定物体をポイントベースで追跡 する場合の技術選定指針を示す。
1. サマリ比較表 (主要評価軸)
| 手法 | ライセンス | 商用利用 | リアルタイム性能 | 精度 (TAP‑Vid 等) | 長期遮蔽耐性 | 主な対象 | 必要リソース | 開発状況 | 備考 |
|---|---|---|---|---|---|---|---|---|---|
| CoTracker | CC‑BY‑NC | ❌ (非商用限定) | ◎ 50–60 FPS (HD, 1k–5k 点) | SOTA級 (TOP‑1) | ◎ | 任意点大量 | GPU (PyTorch, 2‑4 GB VRAM〜) | 非常に活発 (v3 2024/10) | Meta+Oxford/VGG |
| TAP‑Net / TAPIR | Apache 2.0 | ✅ | ○ 30–40 FPS (256点, 256²) | SOTA (±CoT) | ○ | 任意点 | GPU (PyTorch/JAX) | 活発 (BootsTAPIR, TAPNext) | DeepMind |
| DINO‑Tracker | MIT | ✅ | ✕ オフライン数分〜/動画 | SOTA (教師なし首位) | ◎ | 全ピクセル/任意点 | ハイエンドGPU (A100, 40 GB) | 中程度 (ECCV 2024) | テスト時適応が鍵 |
| PIPs / PIPs++ | MIT | ✅ | △ 数 FPS (512²) | 高 | ◎ | 任意点 | GPU (PyTorch) | 継続 (ICCV 2023++) | 粒子連鎖方式 |
| RAFT (Optical Flow) | BSD‑3 | ✅ | △ 10–20 FPS (512²) | 高 (短期) | △ | 全ピクセル | GPU | 停滞 (2020) | フロー連結で追跡 |
| DOT | MIT | ✅ | ◎ CoT比×100 (全画素) | CoT/TAP 同等 | ○ | 全ピクセル (補完) | GPU | 活発 (CVPR 2024) | 補完+フロー融合 |
評価軸説明
リアルタイム性能: 30 FPS 以上を ◎、10–29 FPS を ○、10 FPS 未満を △、オフライン専用を ✕ と表記。
精度: 公開ベンチマークの TAP‑Vid, DAVIS, Badja 等での報告値を総合。
2. 各技術の詳細
2‑1. CoTracker (Meta / Oxford)
- 概要: トークン化した特徴と時空 Transformer により、最大数万点を 共同 で追跡する初のアーキテクチャ。点間の相関を直接モデル化するため、遮蔽後の再同定が極めて強力。
- 実装/速度: 代理トークン (proxy token) で計算量を削減。RTX 3090 で HD 解像度 & 数千点でも 50–60 FPS の実績。マスク付き attention により VRAM 2.8 GB から動作可能。
- 精度/ベンチマーク: TAP‑Vid, Kinetics‑700, Dynamic‑Replica など 7 つのデータセットで SOTA を更新。特に長期遮蔽 (≥100f) で従来法比 +15 pt (J@10) を達成。
- 長所: 高精度、高速、大量点を一括追跡。
- 短所: CC‑BY‑NC → 商用不可。外販には別途ライセンス交渉が必須。
- 統合Tips: PyTorch モジュール1行で呼び出せる。クエリ点は numpy/PyTorch 配列で渡すだけ。OpenCV での前処理 (リサイズ, 正規化) が推奨。
2‑2. TAP‑Net / TAPIR (DeepMind)
- 概要: Tracking Any Point シリーズ。二段階 (候補生成 + 精錬) 構造により、長尺動画でも誤差伝播を抑制。TAPIR は LSTM ではなく Transformer‑GRU を採用しパフォーマンスと並列性を両立。
- 速度: 256×256/256点で 38–42 FPS (A100) 報告。解像度 720p で 15 FPS 程度。PyTorch 版 (オンライン TAPIR) だと依存最少。
- 精度: TAP‑Vid (human, animal, synthetic) で CoTracker に 1–2 pt 及ばないが、BootsTAPIR で教師なし学習を追加することで差を縮小。
- ライセンス: Apache 2.0 — 商用利用・特許条項クリア。
- 長所: ライセンス自由度、実装のシンプルさ、実時間対応。
- 短所: 大規模同時点 (>10k) は速度低下。遮蔽耐性は CoT より僅かに劣る。
-
統合Tips: CUDA>=11 環境で pip install 可能。オンライン API は
track(video, query_points)で逐次呼び出し。
2‑3. DINO‑Tracker
- 概要: DINOv2 (ViT‑L/14) の自己教師特徴を固定し、動画ごとに微調整 (Delta‑DINO) を行うことで高い時間的一貫性を実現。教師データ不要。
- 処理フロー: ①全フレームの patch 特徴抽出 → ②Contrastive 学習で自己整合 → ③Sinkhorn/K‑nn マッチングで軌跡推定。
- 精度: 教師なし手法中最高。TAP‑Vid (animal) で J‑score 0.68 (> TAPIR unsup 0.52)。長期遮蔽 200f でもリカバリ率 90% 超。
- 性能/資源: ViT‑L の計算がボトルネック。8k フレーム (HD) で学習 4–6 分、VRAM 38 GB。
- 長所: ラベル不要、長期遮蔽や非剛体変形に極めて強い。
- 短所: リアルタイム不可。インクリメンタル動画には不向き。
- 適用例: 収録済み検査ライン動画での微細挙動解析、研究用マルチビューデータ整合など。
2‑4. PIPs / PIPs++
- 概要: 粒子を独立に時系列最適化。時間的 prior を損失に組み込み、遮蔽中も軌跡を前向き予測。ICCV 2023 で改良版 PIPs++ を発表。
- 精度: DAVIS16 (dynamic) で TAPIR と同等、遮蔽区間で +6 pt。
- 速度: 隣接フレームの chained optimizer が重く、HD/200点 で 4–6 FPS。
- 長所: 遮蔽耐性、自己回帰的更新のシンプル性。
- 短所: 実時間不可、大量点では顕著に遅い。
- 活用: オフライン品質検証、シミュレーション追跡等。
2‑5. RAFT (Recurrent All‑Pairs Field Trans.)
- 概要: 光学フロー SOTA (CVPR 2020)。全ペア相関 + GRU 反復で高精度フロー推定。追跡はフローを逐次連結。
- 精度: KITTI‑15 EPE 1.5px、Sintel (final) 5.0px。
- 速度: 512² 20 FPS (RTX 2080Ti)。解像度比例で低下。
- 長所: 実装が枯れており安定。タスク平均互換性高。
- 短所: 長期追跡で誤差累積。遮蔽に弱く点喪失が起きやすい。
- 適用: 近接フレームのモーション推定、予備マッチング。
2‑6. DOT (Dense Optical Tracking)
- 概要: 初期点トラッカー (CoT/TAP 等) で得た sparse 軌跡をアンカーに、学習済みフローネットで全画素の軌跡を高速補完。補完後に正規化フュージョンを行い精度維持。
- 速度: CoTracker 比 100×高速。HD/全画素で 40–60 FPS。
- 精度: TAP‑Vid の J@10 で CoT と±1 pt。細部ではマイクロ誤差あり。
- 長所: 全ピクセルを実時間で追跡 → 変形量ヒートマップ等が容易。
- 短所: 単体では走らず、初期 sparse 軌跡推定が必要。
- 活用: 製造ラインの面積歪み監視、大規模シーンの解析。
3. 顧客向けプロダクトへの推奨
3‑1. 第一候補: TAPIR 単体
- 理由: (1) Apache 2.0 でライセンス障壁ゼロ、(2) ライブ追跡でも 30 FPS 到達、(3) 実装がシンプルでメンテ容易、(4) 追加学習や専用ハード不要。
-
実装ガイド: 720p ストリームなら
stride=2で入力リサイズ (360p) → FPS ↗。クエリ点は推論前に物体検出 (YOLOv8 等) で bbox 中心数点を自動生成すると運用がラク。 - 拡張: 長期遮蔽に弱い場面は BootsTAPIR モデルへ切替 (教師なし微調整) で改善。
3‑2. 第二候補: TAPIR + DOT ハイブリッド
- ユースケース: 「局所 (点) と面 (全画素) の両方を監視し、変形マップをリアルタイムで可視化したい」場合。
- 構成例: ①TAPIR で物体上 128 点を追跡 → ②DOT で全画素補完 → ③歪み閾値判定 → ④Slack/WebHook 通知。
- 利点: ほぼ CoTracker 並み精度で全画素データを 30+ FPS で取得可能。
3‑3. コンプライアンス注意: CoTracker は商用不可
- 研究用途なら最良だが、顧客提供には Meta と別途契約が必須。
3‑4. オフライン特化: DINO‑Tracker & PIPs++
- 収録後解析 で長期軌跡品質を重視するケースに適合。
- 結果を CSV/JSON でエクスポート → BI ダッシュボードへ連携など。
3‑5. RAFT の位置づけ
- 単体では推奨しないが、初期フレームの粗マッチングや補完用途にサブモジュールとしては有用。BSD‑3 で組み込み障壁低。