文章:Tracking using Multilevel Quantizations
作者:Zhibin Hong, Chaohui Wang, Xue Mei, Danil Prokhorov, and Dacheng Tao1
出处:ECCV 2014
跟踪问题依然是计算机视觉领域一个难以解决的问题。利用单一层次的信息很难实现所有场景下目标的跟踪。本跟踪器探索三层信息的融合,实现目标的跟踪。利用的信息分别是:像素层,超像素层,目标框层。该跟踪算法的主要特点是可以实现对非刚性目标的鲁棒跟踪。
1 综述
许多跟踪算法只利用了单一层次的图像特征信息。例如:像素,超像素,目标框。每一个层次的信息都有其优缺点,很难适用于所有的情况。本文基于条件随机场融合了多层目标信息。将多层信息融合到一个框架来优化目标位置的决策。在像素层,在线随机森林提供一个软决策,判断每一个像素属于目标的概率。在中间层,通过考虑像素间的空间关系和特征相似性,将像素划分到不同的超像素区域。基于超像素直方图训练另一个随机森林分类器。在最高层,引入了基于目标框的正则化项。最后,通过一个动态图削减方法高效的求解优化问题,从而确定出目标的位置。整体算法框图如下:
在本文的框架中,条件随机场的节点包括像素,超像素,目标框。
2 算法
MQT跟踪器将多层量化信息融合到一个图模型中,从而实现高效和鲁棒的目标跟踪。
2.1 多层量化模型
整个模型是建立在三层外观表示上,也就是像素层,超像素层和目标框。首先在每一层提取信息,然后利用一个图模型对他们进行融合推理。
第一层:像素层
像素是一幅图像最精细的表达。假设每一个像素i用一个d维的特征向量fi表示,并且每个像素位置处有一个标签(0背景, 1前景)。则像素层的一元能量函数定义如下:
p(xi;Hp)表示像素i属于类别xi的概率。这里是参数为Hp的随机森林的输出。
第二层:超像素层
超像素可以很好的帮助理解图像。这里首先采用SLIC(Simple LinearIterative Clustering)算法聚类像素,得到超像素集合。对每一个超像素集合k,都赋予一个类别标签yk(1或0)。同像素层一样,训练一个ORF,将其输出作为某一个超像素属于目标或者背景的概率。超像素层的能量函数定义为:
第三层:目标框层
在最高层,我们最一个目标框来划定目标。假设用B(z)表示参数z下的一个目标框,则能量函数fai(B(z))表示目标出现在B(z)中的概率。在其他的跟踪器中仅仅通过优化来获得目标位置,在MQT中,还通过其他两层的信息来获得目标位置。
对于目标框层的量化,这里采用中值流来实现。能量函数的定义如下:
有了上述三层后,采用一个条件随机场(CRF)融合不同层的信息。不同层的中的每个单元代表图中的一个节点。然后利用相应的一元势能函数连接这些节点。
在像素层,每两个节点之间都相互连接,势能函数如下:
对于像素层和超像素层的连接,使用如下势能函数:
对于像素层和目标框层的连接,使用如下势能函数:
d(x,i)表示像素i距离目标边界的距离。
最后,对于一幅给定的图像I,我们用吉布斯分布描述条件随机场(CRF)中的所有的随机变量。Gibbs能量函数E(z,x,y)定义为上述势能函数的和。
最后,需要最小化上述势能函数E(z,x,y),来确定跟踪框的参数z。由于,相对x,y最小化E可以采用高效的图割算法。最后,引入一个辅助函数,得到最后需要优化的目标函数:
对于上式的优化,先针对x,y优化得到的最优值,然后再针对z得到E的最优值。
2.2 在线特征森林
1 特征的选择
对于像素层,提取3维RGB,3维的CIELAB,48维的纹理特征组成一个54维的特征向量来表示每一个像素点。
对于超像素层,提取HSV空间中的64维归一化直方图和10维的方向不变局部二值模式来组成一个74维的特征。
2 分类器的选择
这里选择随机森林的输出作为像素层和超像素层的势能函数。
3 随机森林的训练
对于像素层和超像素层随机森林的训练,一个关键的问题的训练样本的选择。
对于像素层:在第一帧中,得到了目标的初始位置,以目标框的形式给出,由于目标框内还包括背景像素,因此先采用Grabcut方法分割出目标,然后将目标区域内的像素作为正样本,区域外的所有像素作为负样本。这里,为了防止分割不可靠的情况发生,如果分割出的目标区域小于目标框的70%,则认为分割不可靠,将整个目标框内的像素作为正样本。
对于超像素层:每一个超像素块的类别标签由其内部大多数像素的类别标签来决定。
在跟踪过程中,还需要对随机森林进行在线训练,此时对于训练样本的选取按照以下准则:
对于像素层:
对于超像素层:
同时,在跟踪过程中还增加了遮挡的判断:当目标像素在目标框内的比例小于0.3时,则认为目标发生遮挡,此时不对分类器进行更新。
整个算法伪代码如下:
有点乱,呵呵,努力提高!