google-deepmind/tapnet
Tracking Any Point (TAP)
什麼是 TAP‑Net?
TAP‑Net 是 Tracking Any Point (TAP) 的程式碼庫,這是 Google DeepMind 的一個研究專案,旨在解決在影片中追蹤任意像素級點的問題。與傳統的物件追蹤(追蹤整個邊界框)或光流(僅適用於短視窗)不同,TAP 要求模型接收單一幀上的單一查詢點,然後預測該精確點在所有其他幀中的移動位置(或者它是否變得不可見),即使是在可變形表面、遮擋以及長時間跨度內。
儲存庫中包含的主要組件
| 組件 | 功能 | 如何使用 |
|---|---|---|
| TAP‑Vid & TAPVid‑3D 資料集 | 包含真實與合成影片的 ground-truth 點軌跡的大型基準測試集合(2D 與 3D)。 | 下載資料並執行提供的評估指令碼,以測量模型在 TAP 任務上的準確性。 |
| TAPIR | 一種兩階段點追蹤模型(匹配 + 精細化),執行速度快,並在 TAP‑Vid 上達到了最先進水平。 | 提供預訓練檢查點(JAX & PyTorch);您可以透過 Colab 筆記本或即時演示指令碼執行推論。 |
| BootsTAPIR | 與 TAPIR 具有相同的架構,但在海量無標籤影片上使用自我監督的「引導式」損失進行訓練,顯著提高了準確性。 | 使用方法與 TAPIR 相同;只需載入 BootsTAPIR 檢查點即可。 |
| TAPNext / TAPNext++ | 一種更新、更簡單的追蹤器,將點追蹤視為下一個 token 預測問題。TAPNext++ 增加了長期穩定性、遮擋處理與重新檢測功能。 | 透過提供的 Colab 筆記本(JAX 或 PyTorch)或離線演示執行。 |
| RoboTAP | 展示了如何將 TAPIR 點軌跡轉化為機器人操作的少樣本視覺模仿策略。包括機器人專用資料集與聚類程式碼。 | 使用聚類筆記本將點軌跡轉化為模仿學習的動作原基元 (action primitives)。 |
| TRAJAN | 一種軌跡自動編碼器,為點軌跡集學習潛在空間,對於比較運動分佈或評估生成影片模型非常有用。 | 執行 TRAJAN Colab 演示來對軌跡進行編碼/解碼。 |
| 訓練指令碼 | 用於原始 TAP‑Net 基準測試和在合成 Kubric 資料上進行 TAPIR 訓練的基於 JAX 的訓練流水線。 | 遵循 tapnet/training README 來重現模型或在您自己的資料上進行微調。 |
快速入門
- Colab 演示 – 儲存庫中包含十幾個即插即用的筆記本(例如
torch_tapnextpp_demo.ipynb,tapir_demo.ipynb)。在 Google Colab 上打開其中任何一個,點擊 Run all,您可以在幾秒鐘內上傳自己的影片並查看點追蹤效果。 - 即時演示 – 克隆儲存庫,安裝
tapnet套件,下載檢查點(例如causal_tapir_checkpoint.npy),然後執行python -m tapnet.live_demo。在一般的 RTX 4000 上,您可以在 480×480 幀上獲得約 17 fps 的速度。 - 評估 – 使用
tapnet/tapvid與tapnet/tapvid3d資料夾下載基準測試資料,並呼叫提供的指標指令碼來計算標準的「AJ」(平均 Jaccard)分數。
為什麼它很重要
- 細粒度運動理解 – 與邊界框追蹤相比,點級追蹤是衡量模型對幾何與動態理解更精確的探針。
- 機器人橋樑 – RoboTAP 展示了準確的點軌跡可以直接用於模仿學習,將視覺資料轉化為機器人動作。
- 研究平台 – 該儲存庫集成了資料集、預訓練權重(JAX + PyTorch)、訓練程式碼及一系列演示,為任何想要實驗點追蹤或在此基礎上進行建構的人提供了一站式服務。
README 中連結的資源
- 專案網頁:TAP‑Vid, TAPIR, RoboTAP, BootsTAP, TAPVid‑3D, TAPNext, TRAJAN, TAPNext++
- 用於深入了解背景的部落格文章與論文連結
- 用於下載檢查點的 HuggingFace hub
- 用於生成合成 ground-truth 軌跡的 Kubric 可視化筆記本
TL;DR: TAP‑Net 是一個真正的研究級開源專案,為 Tracking Any Point 問題提供資料集、最先進的模型、訓練流水線及互動式演示——這是一種在電腦視覺與機器人領域都有應用的細粒度影片追蹤任務。
相關
- 專案
- 專案
- Dispatch
- 專案
- 專案