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

作者:ANKIT SACHAN
编译:ronghuaiyang
导读
从目标跟踪的应用场景 , 底层模型 , 组件 , 类型和具体算法几个方面对目标跟踪做了全方面的介绍 , 非常好的入门文章 。
视频目标跟踪从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、外观建模:现在需要使用学习技术学习目标的视觉外观 。 在这个阶段 , 我们需要建模并了解物体在运动时的视觉特征、包括在各种视点、尺度、光照的情况下 。