#0154（2025/05/30）Point Tracking 手法比較

# 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 で組み込み障壁低。