在FastCapture数据集测试上,CoTracker的成绩在一众模型中脱颖而出,其中也包括Meta自家的DINOv2。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

视频动作跟踪,已经精确到了每个像素!

Meta最新推出的视频跟踪工具CoTracker,发布没多久就在GitHub上斩获了1.4k星标。

图片

从官方发布的几个DEMO来看,效果还是很震撼的。

一场马术比赛中,马匹在骑手的操纵下优雅地跨过障碍,画出了优美的弧线。

还有一架帆船乘风破浪,仿佛捉住了风的影子。

另一边,一位跳伞运动员从空中划过,留下了一道绚丽的彩虹……

对这个新“玩具”,有网友评论说,它不仅能改变物体追踪技术,也将在体育(动作)分析、野生动物追踪,甚至电影后期领域掀起一场新的革命。

图片

我们也第一时间上手试玩了一下线上的简易版本,下面就一起来看看吧。

精准记录像素轨迹

首先有请四川知名网红、熊猫界的当红炸子鸡“果赖”隆重登场。

图片

只见花花六亲不认的步伐被CoTracker整个记录了下来,真的是太可爱了。

不过要论戏剧性的话,可能还得是我们的“西直门三太子”萌兰。

图片

看完了可爱的胖达,接下来就要进入整活环节了,来点名场面!

这个就不用再多介绍了吧(确信)。

图片

除了上面的这位老朋友,还有王境泽吃炒饭的镜头。

只见他手上诚实的动作在CoTracker面前暴露无遗。

图片

而在地球的另一边,马斯克正在直播用FSD开着特斯拉去找小扎,准备进行一番亲切友好的交流。

图片

CoTracker的效果就展示到这里了,朋友们如果想看其他效果可以自己玩玩看。

传送门:https://huggingface.co/spaces/facebook/cotracker

不过,在线DEMO是个简易版本,还不支持自定义跟踪位置,只能根据输入的跟踪数量等距分配。

图片

但是如果自己部署、用代码操纵的话,就可以设置任意跟踪点了。

说到这我们正好来看一下CoTracker该怎么部署。

首先是Colab版本,我们刚刚说到的自定义跟踪点也在Colab当中。

传送门:https://colab.research.google.com/github/facebookresearch/co-tracker/blob/master/notebooks/demo.ipynb

Colab的过程不必过多介绍,进入之后运行笔记中的代码就可以了。

而如果想自己动手的话,最简单的方式是从torch.hub中直接调用已完成预训练的版本。

pip install einops timm tqdm
  • 1.

import torch
import timm
import einops
import tqdm

cotracker = torch.hub.load("facebookresearch/co-tracker", "cotracker_w8")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

如果要对模型进行评估或训练,那么使用GitHub Repo更为合适。

首先要安装一下程序和相关依赖:

git clone https://github.com/facebookresearch/co-tracker
cd co-tracker
pip install -e .
pip install opencv-python einops timm matplotlib moviepy flow_vis
  • 1.
  • 2.
  • 3.
  • 4.

然后下载模型:

mkdir checkpoints
cd checkpoints
wget https://dl.fbaipublicfiles.com/cotracker/cotracker_stride_4_wind_8.pth
wget https://dl.fbaipublicfiles.com/cotracker/cotracker_stride_4_wind_12.pth
wget https://dl.fbaipublicfiles.com/cotracker/cotracker_stride_8_wind_16.pth
cd ..
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

有关评估和训练的方式,可以到GitHub项目页来查看,链接放在了文末。

那么,CoTracker又是怎么实现像素级追踪的呢?

评分超过DINOv2

虽然都是追踪,但CoTracker和物体追踪模型有很大区别。

CoTracker并没有基于语义理解对视频中物体进行分割的过程,而是把重点放在了像素点上。

图片

底层方面,CoTracker采用了Transformer架构。

Transformer编码了视频中点的跟踪信息,并迭代更新点的位置。

推理上,CoTracker还采用了一种窗口机制,在时间轴上划分出滑动窗口。

CoTracker使用上个窗口的输出对后面的窗口进行初始化,并在每个窗口上运行多次Transformer迭代。

这样就使得CoTracker能够对更长的视频进行像素级跟踪。

图片

总之,经过一番训练之后,CoTracker取得了一份不俗的成绩单。

在FastCapture数据集测试上,CoTracker的成绩在一众模型中脱颖而出,其中也包括Meta自家的DINOv2。

图片

总之,喜欢的话,就赶紧体验一下试试吧!

论文地址:https://arxiv.org/pdf/2307.07635.pdfGitHub项目页:
https://github.com/facebookresearch/co-tracker

文章来自:51CTO

Loading

作者 yinhua