引言

我们在研究目标跟踪前先要了解它分为哪几类,以及大体思路是什么?
分类:①目标建模;②前景背景识别。
思路:①目标建模的思路是首先我们用一些手段把我们想要跟踪的目标“框出来”。例如:我们要跟踪视频中的一个人,我们可以在电脑端用鼠标画框把视频第一帧的人框出来(这个看算法怎么设置的),然后算法就会根据我们框出的目标建立一个模型。在之后的视频帧,算法会根据我们之前建立的人的模型,找视频帧中与其最相似的图像块,然后输出这个图像块的位置,每个帧的位置信息都有了,组成视频后,我们就会发现那个框框在跟着人在运动,这样我们便实现了跟踪。
②前景背景识别主要技术路线是通过一定的技术将前景(需要跟踪的目标)和背景(我们不关心的场景信息)分开。例如:一个视频中只有一个运动的人,其他都不动,我们可以直接检测图像灰度值的变化,发生变化的地方就是我们需要跟踪的人的边缘。

跟踪中常出现的问题:1.遮挡:目标被其他物体遮挡,模板匹配不到物体,(你可能会说,过一会物体出来了再跟上不就好了。不是这样的,模板会根据当前帧目标在不断更新,如果跟不上,它停在了遮挡物处,那么过几帧以后,这个模板就成了遮挡物的模板了,跟着遮挡物走了)。2.目标旋转:例如之前跟着人脸,结果他一转身,就成了跟着后脑勺了,完全跟不上。3.光照变化:二郎研究过这一块的,图像去阴影去雨去雪,但是话又说回来了,图像增强后,人眼看着舒服了,但是机器可能不认。4.运动模糊:有重影了,到底哪个是目标,人都没法确认,何况算法。

上面非常直接地告诉了大家思路,那么之后的所有算法都是在这两个思路实现的过程中产生的。

预备知识:

1.相关滤波

从字面意思理解为:用滤波的方法获得两个对象的相关性(图像中的区域与所需目标的相关性)。滤波就相当于筛子,把符合的目标找出来(例如找凸显边缘的canny滤波)。

滤波器和图像做卷积,卷积后我们的图像变成了响应图像,和原图像尺寸一致,这个响应图像的黄色部分代表最大响应值,目前来看我们这个滤波器是鼻子的模板,跟踪鼻子。

目标跟踪用什么网络 目标跟踪应用实例_多目标跟踪

第一章 目标跟踪MOSSE

1.Bolme 等人在 2010 年提出了基于相关滤波器的输出误差最小平方和跟踪算法(Minimum Output Sum of Squared Error,MOSSE)。该算法属于目标建模算法。基于MOSSE滤波器的跟踪方法对照明、缩放、姿态和非刚性变形不敏感,其运行速度为669帧/秒。
为了有效解决训练过程中的样本贫化问题,Henquriques 等人在 MOSSE 跟踪算法的基础上,提出循环结构跟踪算法(CSK)和核相关滤波跟踪算法(KCF)。

2.基本的跟踪算法流程
①确定跟踪目标,建立响应图g1
是的,初始的响应图不是滤波出来的,而是自己创建的。
等同于你在用鼠标画框,程序自动建立了一个响应图,把响应值最大的位置定在画框的中心。响应图直接是中心为1,其他位置都为0?不是这样的,这样是无法反映以中心向四周的响应逐渐递减的过程。可以用高斯函数,做一个山丘,山顶(画框中心)响应最大,然后向四周响应越来越小。
②利用G1和图像F1,反推滤波器H1
H1=G1/F1
③得到H1以后,就可以通过图像第二帧f2和滤波器h1的卷积获得响应函数G2;
f2(卷积)h1=G2
④用G2更新滤波器,得到滤波器H2

这是基础的步骤,下面来看下MOSSE在其中加了哪几步。

3.添加步骤

①单纯来看,只利用第一帧出画框得来的初始滤波器h1只能满足一个比较独立的任务,换一个人,或者也就变变发型,它可能就跟不上了(过拟合),我们需要建立一个类似于ASEF的滤波器的初始滤波器H*,避免过拟合问题。

ASEF ,是Average of Synthetic Exact Filters 的简称,可译为合成平均滤波器。

下图是为了跟踪人眼而创建的滤波器,可以看出,主要思想是平均。


目标跟踪用什么网络 目标跟踪应用实例_单目标跟踪_02


因此在第一步确定跟踪目标时,不是简单地在第一帧画框,而是给出多个训练集(例如跟踪人,给出多个人的图片fi,都是标注好的,带有响应函数gi)

因此我们可以得到多个图的滤波器hi

目标跟踪用什么网络 目标跟踪应用实例_多目标跟踪_03


然后我们在多个滤波器中找到适合大部分图像的那个滤波器,利用最小化法

目标跟踪用什么网络 目标跟踪应用实例_目标跟踪用什么网络_04


这里最小化是逐个选H*,带入到公式(然求得的响应函数与原初始的响应函数差最小),获得最佳H*。

如何求这个最小法呢?对整个公式求导,

目标跟踪用什么网络 目标跟踪应用实例_KFC_05


然后变化,可得

目标跟踪用什么网络 目标跟踪应用实例_KFC_06


这里的求导不理解没关系,和算法的整体没有太大联系,只是求最小化问题的一种方法。

之后作者原文还写了一些其他求最小化问题的方法,例如像ASEF一样做平均

目标跟踪用什么网络 目标跟踪应用实例_单目标跟踪_07



在更新滤波器的时候,为了得到更鲁棒的滤波器,参考ASEF平均值法,设计了新的方法。

这里有一点需要说明,下面的i可和上面的i不是一个概念。上面的i是训练集的多个图像,而下面的是当前帧,i-1表示上一个帧。初始的第一个帧是上面方法获得的。

ASEF平均值法迭代

目标跟踪用什么网络 目标跟踪应用实例_KFC_08


MOSSE的方法

目标跟踪用什么网络 目标跟踪应用实例_多目标跟踪_09


其中η是学习率,原文取值0.125。可以看出我们接收当前帧变化的0.125的信息,接收上一帧0.975的信息,表明这个过程还是以初始帧为主,不允许出现较大的变化,只是微调(也可能是这里的0.125在微调中算是学习率比较大的了)。

这里有个在线学习的概念,意思是边跟踪,边更新我们的滤波器。一边应用一边更新。

未完待续……(KFC)