首先,在第一帧需要对要跟踪的目标进行建模。这里使用加了核的直方图法,对要跟踪的目标的颜色分布做一个概率密度分布函数。用来描述要跟踪目标的特征。
然后,在接下来的几帧中,以上一帧的目标所在的位置为中心,在此邻域内进行搜索。以f做为候选目标的中心坐标,在该坐标下,对候选目标同样进行概率密度分布的描述,也就是说描述候选目标的特征。
此时我们得到了两个模型,一个是要跟踪目标的模型,称为target,一个是候选跟踪目标的模型,称为candidate。如何判断当前候选目标所在的位置是不是真实目标所在的位置呢?这就要评价以下,target和candidate有多相似了。两者越相似,则候选目标是真实目标的可能性就越大。评价两者相似程度使用Bhattacharyy系数。
因为要求解的问题是在一个邻域内的,因此可以在上一个目标为中心的领域内,对该系数进行泰勒级数展开,估计其在领域内得到的最大值。求导后发现,要想最大化Bhattacharyy系数,需要最大化一个关于候选目标位置的概率密度分布函数。
为最大化这个概率密度分布函数,需要将y,沿着mean shift向量所在的方向进行运动。迭代若干此后,该概率密度分布函数会收敛到一个最大值,此时可以得到最大化的Bhattacharyy系数,从而可以认为,当前位置下所对应的候选目标,那就是我们所要跟踪的目标了。