Skip to main content

Tracking Any Point

Tracking Any Point (TAP) は、video 中の任意の query point を、occlusion を含む長い時間追跡する task です。古典的な optical flow が隣接 frame の dense motion を扱うのに対し、TAP は long-range で sparse な点追跡を扱います。

何が新しいのか

  • Long-range (数百 frame) でも track が消えない
  • Occlusion を陽に扱う (visible / occluded を予測)
  • Sparse / 任意点を扱える
  • Camera motion + object motion 両方に対応

代表的 method

Method一言で
PIPsParticle video の現代版、long-range tracking
TAP-NetTAP-Vid benchmark と共に提案
TAPIRIterative refinement、強い精度
CoTracker複数点を jointly に追跡し、相関を活用
BootsTAPIRSelf-supervised で大規模 video から学習

CoTracker の核心

CoTracker は、複数 query 点を joint に追跡します。点同士の相関 (例えば剛体に乗っている点同士は一緒に動く) を利用することで、各点を独立に追うより頑健になります。

3D / 4D との接続

TAP は、

  • 4D Reconstruction の長時間 motion supervision
  • Dynamic NeRF / 4DGS の motion prior
  • VGGT の 3D point track を 2D で補強
  • Video editing / VFX の matchmoving

など、4D / world model 系研究で重要 component になっています。

数式で見る point tracking

Tracking Any Point では、query point p0\mathbf{p}_0 が video の各 frame tt でどこへ移動するかを推定します。出力は位置 p^t\hat{\mathbf{p}}_t と visibility v^t\hat{v}_t です。

(p^t,v^t)=Fθ(I1:T,p0,t)(\hat{\mathbf{p}}_t,\hat{v}_t)=F_\theta(I_{1:T},\mathbf{p}_0,t)

Training では、位置誤差と visibility の分類誤差を組み合わせます。

L=tvtp^tpt1+λtBCE(v^t,vt)\mathcal{L}=\sum_t v_t\|\hat{\mathbf{p}}_t-\mathbf{p}_t\|_1 +\lambda\sum_t \mathrm{BCE}(\hat{v}_t,v_t)

ここで、vtv_t は point が見えているかどうかを表します。位置 loss に vtv_t が掛かっているのは、隠れている frame では正確な 2D 位置を直接観測できないためです。この式の気持ちは、「見えているときは位置を合わせ、見えていないときは見えないこと自体を正しく予測する」というものです。

関連ページ

主なソース