王占凤,郭 星,袁继彬
1.巢湖学院计算机与信息工程学院,安徽巢湖,238000;2.安徽大学计算机科学与技术学院,安徽合肥,230031;3.中国人民银行合肥中心支行,安徽合肥,230091
运动目标追踪就是使用运动目标检测方法得到的特定目标信息,并在之后的图像序列中持续识别和跟踪。如果追踪的目标是单个对象,那么就可以对每一个图像序列进行目标检测。但是,如果追踪的对象有多个,那么如何区分这些检测到的目标信息,确保追踪目标的准确性,成为目前需要解决的问题。也就是说,需要对检测到的目标信息进行特征提取,以用于之后的目标匹配。
Mean Shift算法是一种非参数密度估计过程,最早是由Fukunaga等人[1]提出来的,其基本思想是利用特征空间中的密度梯度方向进行迭代搜索,获得局部密度极大值的样本点。它的优点在于不需要知道特征空间中任何的先验知识,只需要根据空间中的样本点即可进行估计。
Mean Shift跟踪算法以人体区域像素灰度值的概率分布为特征进行跟踪。对边缘遮挡、目标旋转、变形和背景运动的影响不敏感,因此具有很好的鲁棒性,适用于人体目标的跟踪。
基于Mean Shift算法的目标跟踪流程是利用鼠标在屏幕中选取一定的区域作为跟踪的目标,选取的区域是核函数计算的区域,区域面积则为核函数的带宽,然后对选取的跟踪区域中每个像素点计算特征值概率。而特征点概率就是根据直方图计算的该点所在的区域的频率值。在后来的图像帧中计算候选区域的每个特征值,对该特征值与初始帧的特征值进行相似度计算。通过相似函数计算目标的Mean Shift向量,这个向量表示目标从初始位置向当前位置移动的向量,由于Mean Shift算法的收敛性,不断迭代计算Mean Shift向量,则该向量最终收敛于目标的真实位置,从而达到跟踪的目的。
(1)
(2)
设在后续帧中目标候选区域的中心为y。若后续的候选区域中像素点用{xi}i=1,…,nh表示,则特征值u=1,…,m在候选目标模型中出现的概率可以表示为:
(3)
(4)
(5)
(6)
(7)
(8)
其中,g(x)=-k′(x)。整个Mean Shift跟踪算法以y0为起点,沿着两个模型的灰度梯度方向移动。完整的目标跟踪算法[2]如下:
(2)根据式(4)计算{wi}i=1…nh。
(9)
C0=N(ch+nhcs)≈Nnhcs
(10)
其中,N是迭代次数,ch是计算直方图的开销,cs是计算单次加法、单次开方和单次除法的开销,nh是核函数窗口带宽中像素个数。
由上述分析可知,MeanShift算法计算量小,可以满足实时跟踪的需要,而且采用无参数的概率估计算法,适应性强。而核函数方法对遮挡、旋转和变形等各种干扰具有很强的鲁棒性。但是,传统的MeanShift算法没有模板更新机制,在跟踪过程中,跟踪的窗口带宽始终不变,导致目标变化时,跟踪失败;在跟踪初始化时,还要人工选择初始化窗口。
验证试验在室内进行,移动的物体都是人体。在摄像头指定的视野内划定一个区域,一旦有运动物体在此区域停留若干时间,则对该目标进行跟踪,完成目标初始化。
传统的MeanShift算法是对目标整体进行处理的方法,使得目标尺度发生变化,造成跟踪失败;而且当光线变化时,因为传统算法采用单一的颜色建模,颜色变化也容易造成目标跟踪失败。为了解决上面两个问题,本文对目标进行分块,利用人体的特征,对人体进行分块,并对每块进行纹理和颜色相结合的方式进行建模,大大地提高了跟踪的鲁棒性。
根据人体结构特征,将人体分为六块:第一块整体,第二块、第三块、第四块是分别将人体划分为上中下三个部分,第五块、第六块即人体左右两个部分。各区域块如下图1所示。
(1)LBP纹理模型[4]。LBP模型是利用像素点的统计特性描述的一种模型,利用中心点的灰度值与领域相运算而得。计算公式如下:
第一块第二块第三块第四块第五块第六块
图1 人体分块示意图
(11)
(2)LTP纹理模型[5]。LTP模型是在LBP基础上对阈值函数改进,增加抗噪声能力而来的,将阈值函数改为:
(12)
(13)
(1)计算当前第i个模型的概率特征Pi(y0),并计算权值:
(14)
则联合概率为P(y0)=p0w01+p1w10。
(2)根据联合概率,结合划分的六个区域块,计算Bhattacharrya系数:
(15)
(3)根据MeanShift算法,计算新的均值漂移向量。
(16)
实验主要验证改进的MeanShift在身体部分尺度变化及人体被遮挡情况下跟踪的有效性。图2为传统算法在面临跟踪任务被新物体遮挡时,发生跟踪失败,继续跟踪新物体了。而图3和图4分别测试了在人体部分被遮挡和完全被遮挡的情况下,改进算法的表现,可以看出,改进的算法在这两种情况下继续保持跟踪的准确性,验证了算法的有效性。
图2 传统Mean Shift算法在跟踪过程中碰到遮挡时的情况
本文介绍了人体跟踪的Mean Shift方法,阐述了原理,分析了Mean Shift存在的问题问题以及如何改进,并分析在有人遮挡情况下的人体如何进行追踪。用实验验证了相比于Mean Shift传统算法在人体被遮挡情况容易出现跟踪失败现象,改进后算法在人体部分或完全被遮挡情况下依然能保持跟踪的准确性。
图3 改进后的Mean Shift算法在部分身体被遮挡的情况
图4 改进后的Mean Shift算法在身体完全被遮挡的情况
参考文献:
[1]Fukanaga K,Hostetler L D.The estimation of the gradient of a density function,with applications in Pattern recognition[J].IEEE Trans Information Theory,1975,21(1):32-40
[2]Comaniciu D,Ramesh V.Kernel-based object tracking[J].IEEE International Transactions on Pattern Analysis and Machine Intelligenee,2003,25(5):564-575
[3]Isard M,Blake A.CONDENSATION:Conditional Density Propagation for Visual Tracking[J].International Journal of Computer Vision,1998,29(1):5-28
[4]陈远祥.视频图像运动目标跟踪技术的研究[D].南通:江苏大学计算机科学与通信工程学院,2010,28-32
[5]方颖,王汇源,赵建蕾,等.适用于多目标之间遮挡问题的跟踪算法[J].计算机应用,2007,27(3):62-65