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 点轨迹转化为机器人操作的少样本视觉模仿策略。包括机器人专用数据集和聚类代码。 | 使用聚类笔记本将点轨迹转化为模仿学习的动作原语。 |
| TRAJAN | 一种轨迹自动编码器,为点轨迹集学习潜在空间,对于比较运动分布或评估生成视频模型非常有用。 | 运行 TRAJAN Colab 演示来对轨迹进行编码/解码。 |
| 训练脚本 | 用于原始 TAP‑Net 基准测试和在合成 Kubric 数据上进行 TAPIR 训练的基于 JAX 的训练流水线。 | 遵循 tapnet/training README 来重现模型或在您自己的数据上进行微调。 |
快速入门
- Colab 演示 – 仓库中包含十几个即插即用的笔记本(例如
torch_tapnextpp_demo.ipynb,tapir_demo.ipynb)。在 Google Colab 上打开其中任何一个,点击“全部运行”,您可以在几秒钟内上传自己的视频并查看点追踪效果。 - 实时演示 – 克隆仓库,安装
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
- 项目
- 项目