TAP-Vid: A Benchmark for Tracking Any Point in a Video— TAP-Vid:跟踪视频中任意点的基准、
学习这一篇文章的本来的目的是为了学习一下TAP-NET便于明白后面用到的TAPIR方法的使用。
摘要核心
在较长的视频剪辑中跟踪表面上的任意物理点的题目已经受到了一些关注,但到目前为止,还没有用于评估的数据集或基准。在本文中,我们首先将题目情势化,将其命名为跟踪任意点(TAP)
- 我们介绍了一个辅助基准测试,TAP-Vid,包罗了真实天下的视频,这些视频具有准确的人体标注的点轨迹,以及合成视频,这些视频具有完美的真实点轨迹。
- 我们基准构建的核心是一种新奇的半自动众包管道,它使用光流估计来补偿更简单的短期运动(如相机抖动),使注释者可以或许专注于视频中较难的部门。
- 我们在合成数据上验证了我们的流程,并提出了一个简单的端到端点跟踪模型 TAP-Net,表明在使用合成数据举行训练时,它在我们的基准测试中优于所有先前的方法。
代码地址:https://github.com/deepmind/tapnet.和之前写的新的跟踪网络是一个项目地址
弁言与相干工作
文章提出的是真实场景中通用物理表面上的点的长期运动估计题目。我们的工作旨在直接情势化长期物理点跟踪题目。
有多种跟踪算法可以办理这个题目,但都部门地存在不同的缺点,如图所示。
(5)为每个感兴趣的对象手动选择的语义关键点。 相比之下,我们的使命是在整个视频中跟踪物理表面上的任何点,包罗可变形物体上的点。
- 流行的检测框和视频对象分割的跟踪算法提供有关表面变形和旋转的有限信息。
计算机视觉中的纹理主要指的是图像中重复出现的局部模式或结构,这些模式可以是颜色、强度、形状或方向上的规律性变化。纹理是图像的一个重要特性,它可以帮助我们识别和分类不同的物体和场景。
- 对于一些最常见的跟踪题目(例如面部、手部和人体姿势),研究职员因此为手动选择的语义关键点构建了跟踪器,这非常有用,但无法扩展到任意对象和表面。
我们对任意点跟踪的描述如图所示。
图 1:跟踪视频中任意点 (TAP) 的题目。输入是一个视频剪辑(例如 10 秒长)和一组查询点(像素/帧坐标中的 x、y、t;用双圆圈表现)。目的是猜测整个视频的轨迹(x、y 像素坐标;彩色线),指示同一表面上的类似物理点,以及指示不存在的帧的二元遮挡指示器(黑色实线段) 可见的。
- 我们只要求可以从单个像素查询中明确确定目的点和表面(即我们不处理透明物体、液体或气体),并直接估计它怎样在视频中移动
While tracking synthetic points is straightforward, obtaining groundtruth labels for arbitrary real-world videos is not. Thankfully, there’s good evidence that humans (and other animals) excel at perceiving whether point tracking is accurate, as it is an example of the “common fate Gestalt principle.
在现实天下的视频分析中,获取准确的跟踪点(即物体或特性点)的标签要困难得多。这是由于现实天下的视频包罗了很多不可猜测和复杂的因素,如光照变化、遮挡、物体的快速移动等,这些都会影响跟踪的准确性人类感知点跟踪准确性的能力:这里提到的“共同命运”是格式塔心理学中的一个概念,指的是当一组元素以某种方式共同移动或变化时,它们会被视为一个整体。在视觉感知中,假如一组点或元素以相似的方式移动,我们倾向于将它们视为一个整体,这种感知能力帮助我们判断跟踪的准确性。格式塔原理强调了人类视觉系统怎样将视觉元素构造成故意义的整体。
- 在这项工作中,我们首先构建一个管道,以实现对真实视频上的点轨迹的高效、准确的注释。 然后,我们使用这个管道来标记来自 Kinetics 的 1,189个真实 YouTube 视频和 30 个 DAVIS 评估视频 ,每个视频大约有 25 个点,使用一小群熟练的注释者和多轮查抄来确保注释的准确性 。 总体而言,我们发现,注释者均匀需要大约 3.3 个小时来跟踪 10 秒视频剪辑中每一帧的 30 个点。
也就是说人工标注了一个用于点评测的数据集,来举行基准的评估,开创了一会物理点跟踪的评估基准的先河。
文章的主要贡献
主要简单表现在了下面的三个方面。
- 设计并验证了一种算法,可以帮助注释者更准确地跟踪点。
- 构建了一个评估数据集。
- 我们探索了几种基线算法,并将我们的点跟踪数据集与最靠近的现有点跟踪数据集(JHMDB 人类关键点跟踪)举行比较,证明使用我们的题目表述举行训练可以进步这个更加有限的数据集的性能。
相干工作总结
- 一些早期的手工设计作品办理了表面点的长期跟踪题目
- 光流估计麋集运动,但仅限于图像对之间
- 运动结构(SFM)
- 语义关键点跟踪
- Keypoint discovery
自己提出的标准与其他标准的比较图表
表 1:与跟踪数据集的比较。 与现有数据集不同,我们的数据集包罗在较长(呃)持续时间(10 秒)内任意类不可知点的精确人类注释轨迹。
数据集概述
看完介绍的部门其实也可以发现了,这篇文章的主要是介绍提出的数据集和评价标准。
整个数据集也就包罗了上面的四种数据集情势
TAP-Vid 点跟踪数据集。 来自我们用于评估的四个点跟踪数据集的两个随机视频的地面实况点注释 - TAP-Vid-Kinetics 和 TAP-VidDAVIS 包罗从人类网络的点注释的真实视频、合成的 TAP-Vid-Kubric 数据集以及 来自模仿机器人环境的 TAP-Vid-RGB-Stacking。
- 算法吸取视频和一组查询点,即点列表 (x, y, t) x, y 代表二维位置,t 代表时间
- 对于每个查询点,算法必须输出 一组位置 如下所示 每帧一个,估计该点移动的位置。
( x t , y t ) \left(x_{t}, y_{t}\right) (xt,yt)
- 一个二进制值 ot,指示该点在每帧上是否被遮挡。在遮挡期间,(xt, yt) 输出通常被以为是无意义的。
表 2:我们的四个 TAP-Vid 数据集的统计数据。 均匀。 点是每个视频的均匀注释点数; # Frames 是每个视频的帧数。 请注意,TAP-Vid-Kubric 数据加载器可以对任意点举行采样,因此每个 Kubric 视频在功能上有无穷的点。
- TAP-Vid-Kinetics
- TAP-Vid-DAVIS
- TAP-Vid-Kubric
- TAP-Vid-RGB-Stacking
Real-World Dataset Construction数据集构建
给定一个视频,注释分三个阶段举行,如图所示。
- 首先,注释者选择对象,尤其是移动的对象,而不考虑它们跟踪的难度。
- 接下来,他们在每个选定对象上选择点并跟踪它们。
- 末了,我们有一个细化阶段,此中低质量的注释由不同的注释器纠正,根据需要迭代多次。
图 4:注释工作流程。 有 3 个阶段:(1):使用边界框选择对象,(2) 通过基于光流的辅助举行点注释,以及 (3) 迭代细化和校正。
标注界面的可视化展示。
由第二个注释者查抄和更正点以达到所需的准确性。 这种迭代细化一直持续到末了一个注释者与所有先前的标签一致为止。 均匀而言,一个 10 秒的视频大约需要 3.3 小时才气完成,通常需要 4-5 名注释者举行细化
Track Assist Algorithm-构建数据集中的轨迹辅助算法
- 需要一种算法,允许注释者调解通过光流创建的估计,以补偿否则会累积的错误。
辅助算法的步调描述‘
- 我们首先使用 RAFT 计算整个视频的光流。 当注释器在帧 s 上选择起始点 ps 时,我们使用流将该点从一个帧传播到下一帧(对分数像素使用双线性插值),一直到末了一帧。
- 当注释者选择帧 t 上的第二个点 pt 时,我们找到最小化与每帧估计的光流的平方差异的路径。 这对应于办理以下优化题目:
arg min ρ ∈ P s : t ∑ i = s t − 1 ∥ ( ρ i + 1 − ρ i ) − F ( p i ) ∥ 2 s.t. ρ s = p s , ρ t = p t \underset{\rho \in \mathcal{P}_{s: t}}{\arg \min } \sum_{i=s}^{t-1}\left\|\left(\rho_{i+1}-\rho_{i}\right)-\mathcal{F}\left(p_{i}\right)\right\|^{2} \quad \text { s.t. } \quad \rho_{s}=p_{s}, \rho_{t}=p_{t} ρ∈Ps:targmini=s∑t−1∥(ρi+1−ρi)−F(pi)∥2 s.t. ρs=ps,ρt=pt
P s : t \mathcal{P}_{s: t} Ps:t
是从帧 s 到帧 t 的所有大概路径的集合,此中每条路径由点列表描述。
ρ in P s , t is a list { ρ i , i ∈ { s , … , t } } \rho \text { in } \mathcal{P}_{s, t} \text { is a list }\left\{\rho_{i}, i \in\{s, \ldots, t\}\right\} ρ in Ps,t is a list {ρi,i∈{s,…,t}}
此中每一个元素rou
F : Z 2 → R 2 \mathcal{F}: \mathbb{Z}^{2} \rightarrow \mathbb{R}^{2} F:Z2→R2
是光流张量,即将图像像素映射到光流向量。
通过办理这个优化题目就可以消除一定的轨迹错误的影响。
时间缘故原由和方向的的缘故原由,我们暂时忽略评价的标准先关注于提出的简单的点跟踪网络
核心网络— TAP-Net
这是我们所知的第一个用于跟踪任何点的端到端深度学习算法。
- 我们的方法受到cost volumes的启发 ,这已被证明在光流方面是成功的
- 我们首先计算视频的麋集特性网格,然后将查询点的特性与视频中其他位置的特性举行比较。
- 然后,给定查询和另一个帧之间的比较集,我们应用一个小型神经网络,该网络回归到点位置(通过 Huber 丧失训练)并对遮挡举行分类(通过交叉熵训练)。
任何跟踪题目都涉及将查询点与视频中的其他位置举行比较,以便找到匹配项。
构造本钱体积
本钱体积的计算步调与方法。
我们首先为视频计算一个麋集的特性网格,然后将查询点的特性与视频中其他地方的特性举行比较。然后,我们将比较集视为一个特性自己,并在上面执行更多的神经网络计算。本钱量可以检测重复的模式,即使这些模式与训练中看到的模式不同。整个的过程如下所示。
此中Fijt是表示在空间位置i、j和时间t处的图像内容的d维特性。
F i j t F_{i j t} Fijt
给定在位置xq、yq和时间tq处的查询点,我们在位置iq、jq、tq处经由网格上的双线性插值从特性网格Ft提取特性以表示它。
- 我们将提取的特性称为Fq。然后,我们将本钱量计算为矩阵乘积:即,假如特性图F中的每个特性都是形状d,则输出本钱量Cqijt = F q Fijt。因此,Cq是一个3D张量,我们对其应用ReLU激活。
C q i j t = F q ⊤ F i j t . C_{q i j t}=F_{q}^{\top} F_{i j t} . Cqijt=Fq⊤Fijt.
图7:单个查询的本钱量计算。使用逐帧ConvNet提取所有视频帧的特性。然后通过2D双线性插值得到第tq帧中的给定查询点位置(i,j)的特性。用来自不同时间t的空间特性来对特性举行点缀,以得到对应的本钱体积。
本钱体积的后处理—轨迹猜测
先给出对于本钱矩阵猜测整体流程图。
从本钱体积推断位置和遮挡本钱体积切片(用于帧t和查询q)被馈送到两个分支中:遮挡和坐标回归遮挡分支在回归标量遮挡logit之前通过池化来折叠空间特性。点回归分支通过Conv层折叠通道,应用空间softmax,然后应用软argmax
- 在第一次Conv+ReLU之后,我们分成两个分支一个用于遮挡推断,另一个用于位置推断。
- 我们的遮挡分支使用Conv(32个单位),然后是空间均匀池化。接下来是线性层(16个单元)、ReLU和另一个产生单个logit的线性层。
- 对于位置推断,我们应用了一个Conv层,它有一个输出,然后是一个空间softmax。
- 然后是软argmax ,这意味着计算热图的argmax,然后是argmax位置四周半径内激活的空间均匀位置。
通过这两个处理就可以得到,对应的点的猜测轨迹和遮挡环境完成点跟踪了。
什么是 Soft Argmax?
Soft Argmax 是一种从数值分布中估计出“中心位置”的方法。与通例的 Argmax 不同,通例的 Argmax 是直接选择某个点的最大值(即离散值),而 Soft Argmax 则通过计算一个加权均匀来得到“软位置”(即连续值)。
x s o f t = ∑ i x i ⋅ w i x_{\mathrm{soft}}=\sum_{i} x_{i} \cdot w_{i} xsoft=i∑xi⋅wi
|