持续创造,加速生长!这是我参加「日新计划 10 月更文应战」的第19天,点击查看活动概况

导读

从方针盯梢的运用场景,底层模型,组件,类型和详细算法几个方面临方针盯梢做了全方面的介绍,十分好的入门文章。

视频目标跟踪从0到1,概念与方法

在今日的文章中,咱们将深入研究视频方针盯梢。咱们从根底开始,了解方针盯梢的需求,然后了解视觉方针盯梢的应战和算法模型,最终,咱们将介绍最盛行的根据深度学习的方针盯梢办法,包括MDNET, GOTURN, ROLO等。本文期望你了解方针检测。

方针盯梢是在视频中随着时刻的推移定位移动方针的进程。咱们能够简单地问,为什么咱们不能在整个视频的每一帧中运用方针检测,然后咱们能够再去盯梢方针。这会有一些问题。假如图画有多个物体,那么咱们就无法将当时帧中的物体链接到前一帧中。假如你盯梢的物体有几帧不在镜头里,然后从头又出现,咱们无法知道它是否是同一物体。本质上,在检测进程中,咱们一次只处理一张图画,咱们不知道物体的运动和过去的运动,所以咱们不能在视频中唯一地盯梢物体。

方针盯梢在核算机视觉中有着广泛的运用,如监督、人机交互、医学成像、交通流监测、人类活动辨认等。比方FBI想用全市的监控摄像头追寻一名驾车逃跑的罪犯。或许有一个需要剖析足球比赛的体育剖析软件。或许你想在购物中心的入口处装置一个摄像头,然后核算每个小时有多少人进出,你不只要对人进行盯梢,还要为每个人创立路径,如下所示。

视频目标跟踪从0到1,概念与方法

当检测失利的时分,盯梢能够接替工作

当视频中有一个移动的物体时,在某些状况下,物体的视觉外观并不清楚。在一切这些状况下,检测都会失利而盯梢会成功,由于它也有物体的运动模型和前史记录。

下面是一些例子,其中有方针盯梢在工作和方针检测失利的状况:

  1. 遮挡:所述方针被部分或完全遮挡,如下图所示:

视频目标跟踪从0到1,概念与方法

  1. 身份切换:两个方针穿插后,你怎么知道哪个是哪个。
  2. 运动含糊:物体由于物体或相机的运动而被含糊。因而,从视觉上看,物体看起来不再相同了。
  3. 角度改变:一个物体的不同角度在视觉上或许看起来十分不同,假如没有上下文,仅运用视觉检测就很难辨认该物体。
  4. 标准改变:物体标准改变过大或许导致检测失利。
  5. 布景杂乱:方针邻近的布景与方针有类似的颜色或纹理。因而,从布景中分离物体会变得愈加困难。
  6. 光照改变:方针物体邻近的光照明显改变。因而,从视觉上辨认它或许会变得愈加困难。
  7. 分辨率:当ground truth围住框内的像素点十分少时,或许会在视觉上难以检测到方针。

底层模型

方针盯梢是核算机视觉中一个陈旧而又困难的问题。有各种各样的技能和算法试图用各种不同的办法来解决这个问题。可是,大多数的技能依赖于两个关键的东西:

1. 运动模型

一个好的盯梢器的关键部件之一是了解和建模方针的运动的才能。因而,一个运动模型被开发来捕捉一个物体的动态行为。猜测物体在未来帧中的潜在方位,从而削减搜索空间。可是,只要运动模型或许会失利,由于物体或许会不在视频中,或许方向和速度发生突变。早期的一些办法试图了解物体的运动模式并猜测它。可是,这些办法的问题是,他们不能猜测忽然的运动和方向改变。这些技能的例子有光流,卡尔曼滤波,kanad-lucas-tomashi (KLT)特征盯梢,mean shift盯梢。

2. 视觉外观模型

大多数高度准确的盯梢器需要了解他们正在盯梢的方针的外观。最重要的是,他们需要学会从布景中区分物体。在单方针盯梢器中,仅视觉外观就足以跨帧盯梢方针,而在多方针盯梢器中,仅视觉外观是不够的。

盯梢算法的几个组件

一般来说,方针盯梢进程由四个模块组成:

1、方针初始化:在此阶段,咱们需要通过在方针周围制作一个边框来定义方针的初始状况。咱们的主意是在视频的初始帧中制作方针的鸿沟框,盯梢器需要估量方针在视频剩余帧中的方位。

2、外观建模:现在需要运用学习技能学习方针的视觉外观。在这个阶段,咱们需要建模并了解物体在运动时的视觉特征、包括在各种角度、标准、光照的状况下。

3、运动估量:运动估量的目的是学习猜测后续帧中方针最有或许出现的区域。

4、方针定位:运动估量给出了方针或许出现的区域,咱们运用视觉模型扫描该区域锁定方针的确切方位。一般来说,盯梢算法不会尝试学习方针的一切改变。因而,大多数盯梢算法都比方针检测快得多。

盯梢算法的类型

1. 根据检测与不需要检测的盯梢器

1.1根据检测的盯梢:将接连的视频帧给一个预先练习好的方针检测器,该检测器给出检测假定,然后用检测假定构成盯梢轨道。它更受欢迎,由于能够检测到新的方针,消失的方针会主动停止。在这些办法中,盯梢器用于方针检测失利的时分。在另一种办法中,方针检测器对每n帧运转,其余的猜测运用盯梢器完结。这是一种十分适合长时刻盯梢的办法。

1.2不需要检测的盯梢:不需要检测的盯梢需要手动初始化榜首帧中固定数量的方针。然后在后续的帧中定位这些方针。它不能处理新方针出现在中心帧中的状况。

2. 单方针和多方针盯梢器

2.1单方针盯梢:即便环境中有多个方针,也只盯梢一个方针。要盯梢的方针由榜首帧的初始化确认。

2.2多方针盯梢:对环境中存在的一切方针进行盯梢。假如运用根据检测的盯梢器,它甚至能够盯梢视频中心出现的新方针。

3. 在线和离线盯梢器

3.1离线盯梢器:当你需要盯梢已记录流中的物体时,运用离线盯梢器。例如,假如你录制了对手球队的足球比赛视频,需要进行战略剖析。在这种状况下,你不只能够运用过去的帧,还能够运用未来的帧来进行更准确的盯梢猜测。

3.2在线盯梢器:在线盯梢器用于即时猜测,因而,他们不能运用未来帧来改善结果。

4. 根据学习和根据练习的策略

4.1在线学习盯梢器:这些盯梢器通常运用初始化帧和少量后续帧来了解要盯梢的方针。这些盯梢器更通用由于你能够在任何方针周围画一个框并盯梢它。例如,假如你想在机场盯梢一个穿红衬衫的人,你能够在一个或几个帧内,在这个人周围画一个鸿沟框,盯梢器通过这些结构了解方针物体,并持续盯梢那个人。

视频目标跟踪从0到1,概念与方法

在线学习盯梢器的中心思想是:中心的赤色方框由用户指定,以它为正样本,一切围绕着方针的方框作为负样本,练习一个分类器,学习怎么将方针从布景中区分出来。

4.2离线学习盯梢器:这些盯梢器的练习只在离线进行。与在线学习盯梢器不同,这些盯梢器在运转时不学习任何东西。这些盯梢器在线下学习完好的概念,也便是说,咱们能够练习盯梢器来辨认人。然后这些盯梢器能够用来接连盯梢视频流中的一切人。

盛行的盯梢算法

OpenCV的盯梢API中集成了许多传统的(非深度学习的)盯梢算法。相对而言,大多数盯梢器都不是很准确。可是,有时它们在资源有限的环境(如嵌入式系统)中运转会很有用。假如你不得不运用一个,我建议运用核相关过滤器(KCF)盯梢器。可是,在实践中,根据深度学习的盯梢器在准确性方面远远领先于传统盯梢器。因而,在这篇文章中,我将讨论用于构建根据AI的盯梢器的三种关键办法。

1. 根据卷积神经网络的离线练习盯梢器

这是早期的一系列盯梢器之一,它将卷积神经网络的辨认才能运用于视觉方针盯梢任务。GOTURN便是一种根据卷积神经网络的离线学习盯梢器,它底子不用在线学习。首要,盯梢器运用成千上万的视频练习一般方针的盯梢。现在,这个盯梢器能够用来毫无问题地盯梢大多数方针即便这些方针不属于练习集。

视频目标跟踪从0到1,概念与方法

GOTURN能够在GPU驱动的机器上运转十分快,即100fps。GOTURN已经集成到OpenCV盯梢API(contrib部分)中。鄙人面的视频链接中,原作者展示了GOTURN的才能。

视频链接:youtu.be/kMhwXnLgT_I

2. 根据卷积神经网络的在线练习盯梢器

这些是运用卷积神经网络的在线练习盯梢器。其中一个例子便是多域网络(MDNet),它是VOT2015应战赛的获胜者。由于卷积神经网络的练习在核算上十分贵重,所以这些办法在布置期间必须运用较小的网络以快速练习。可是,较小的网络并没有太多的区分才能。一种选择是咱们练习整个网络,但在推理进程中,咱们运用前几层作为特征提取器,也便是说,咱们只改变在线练习的最终几层的权值。因而,咱们用CNN作为特征提取器,最终几层能够快速在线练习。本质上,咱们的方针是练习一个能区分方针和布景的通用多域CNN。可是,这在练习中带来了一个问题,一个视频的方针或许是另一个视频的布景,这只会让咱们的卷积神经网络混淆。因而,MDNet做了一些聪明的事情。它将网络从头安排为两部分:榜首部分是同享部分,然后有一部分是独立于每个域的。每个域意味着一个独立的练习视频。首要在k个域上迭代练习网络,每个域都在方针和布景之间进行分类。这有助于咱们提取独立于视频的信息,以便更好地学习盯梢器的通用表示。

视频目标跟踪从0到1,概念与方法

经过练习,去除范畴特定的二分类层,咱们得到了一个特征提取器(上文同享网络),它能够以通用的办法区分任何方针和布景。在推理(生产)进程中,开始的同享部分被用作特征提取器,删去特定的范畴层,并在特征提取器之上添加二分类层。这个二分类层是在线练习的。在每一步中,通过随机抽样的办法搜索前一个方针状况周围的区域来寻找方针。MDNet是一种最准确的根据深度学习的在线练习,不需要检测,单方针盯梢。

3. 根据LSTM+ CNN的根据视频的方针盯梢器

另一类方针盯梢器十分盛行,由于它们运用长短期记忆(LSTM)网络和卷积神经网络来完结视觉方针盯梢的任。循环YOLO (ROLO)便是这样一种单方针、在线、根据检测的盯梢算法。该算法运用YOLO网络进行方针检测,运用LSTM网络进行方针轨道检测。LSTM与CNN的结合是凶猛的,原因有二。

a) LSTM网络特别拿手前史模式的学习,特别适合于视觉方针盯梢。

b) LSTM网络的核算成本不是很高,因而能够构建十分快速的真实世界盯梢器。

视频目标跟踪从0到1,概念与方法

YOLO INPUT – 原始输入帧

YOLO OUTPUT– 输入帧中围住框坐标的特征向量

LSTM INPUT – 拼接(图画特征,围住框坐标)

LSTM OUTPUT– 被盯梢方针的围住框坐标

上面的图咱们这样了解:

  • 输入帧通过YOLO网络。
  • 从YOLO网络得到两个不同的输出(图画特征和鸿沟框坐标)
  • 这两个输出送到LSTM网络
  • LSTM输出被盯梢方针的轨道,即围住框

开始的方位推断(来自YOLO)协助LSTM注意某些视觉元素。ROLO探究了时空上的前史,即除了地理方位的前史,ROLO还探究了视觉特征的前史。即便当YOLO的检测是有缺陷的,比方运动含糊,ROLO也能保持稳定盯梢。此外,当方针物体被遮挡时,这样的盯梢器不太会失利。

最近,有更多根据LSTM的方针盯梢器,它们通过许多改进比ROLO好得多。可是,咱们在这里选择了ROLO,由于它简单且简单了解。

期望这篇文章能让你对视觉方针盯梢有一个很好的了解,并对一些成功的关键方针盯梢办法有一些见解。

英文原文:cv-tricks.com/object-trac…