技术领域
[0001] 本
发明属于
计算机视觉领域的目标跟踪技术,具体涉及一种结合有效异常点检测的粒子滤波目标跟踪算法。
背景技术
[0002] 随着现代科技的快速发展,视频
监控系统的应用已经融入到很多住宅小区
停车场以及街道,特别是在
银行、机场安检等与人们生命财产安全相关的特殊场合。因此视频监控技术的研究成为了国内外研究的热点。其中目标跟踪是被广泛关注的一种技术。虽然目前人们已经研究了很多的跟踪算法,但是目标跟踪技术依旧面对很多挑战,例如因为光照、视
角、遮挡等原因引起目标外观发生变化时,如何及时地更新外观模型,并且准确高效地估计出目标的
位置是目标研究的一个难题。
[0003] 常用的目标跟踪
框架包含两个模
块,一个是目标状态估计模块,一个是目标外观模型模块。目标状态估计主要是根据当前
帧来估计下一帧目标的位置,常用的算法是光流法、mean-shift、粒子滤波等,粒子滤波因其非线性、非高斯、非参数的特点被广泛应用。
[0004] 目标外观模型的建立中,主成分分析法(Principal Component Analysis,以下简称为PCA)作为数据分析工具的一种,常常被用来分析灰度特征各个维度之间的相关性,通过去相关的技术降低其维度,从而建立目标外观模型。在粒子滤波的框架下,PCA首先对目标模板进行特征空间的建模,然后将粒子投影到该特征空间进行重建,通过计算粒子的重建误差,来判断粒子与目标的相似度,最后通过粒子的概率加权来估计目标的位置。PCA建立的特征空间在跟踪的过程中,计算简单,速度快,不受光照和噪声的影响。但是对目标外观变化很敏感,因此需要在跟踪的过程中对PCA特征空间进行更新。目前大部分基于PCA的算法中,都有更新的模块,但是更新的
频率太高,降低了跟踪的效率。例如,在J.Lim 2004年提出的ILV(Incremental Learning for Visual)算法以及2013年Wang D中OSP(Online object tracking with sparse prototypes)中都使用PCA进行外观建模,并且使用增量PCA对之前的特征空间进行更新,这两个算法中,直接按照每5帧一次的更新频率进行,这样的更新频率不仅引起不必要的更新,更是极大地增加了计算的复杂度。若减小更新频率,就会导致更新的不够及时,致使错误的跟踪结果。因此,如何实现最佳的更新频率,避免增加不必要的复杂度,同时又避免因为更新的不够及时导致的错误跟踪结果是一个迫切需要解决的问题。
发明内容
[0005] 本发明针对的技术问题是在目标跟踪中对PCA建立的特征空间进行更新时,频繁地更新会引起不必要的计算,但是若减少更新频率,又会因更新的不及时导致目标跟丢的现象。
[0006] 为解决上述问题,本发明提出了一种结合有效异常点检测的粒子滤波目标跟踪算法,在更新之前,增加判断准则,对跟踪结果进行异常点检测,并且统计异常
像素的个数,通过实验设置
阈值,判断异常个数是否到达更新要求。一旦异常点个数超过阈值,则进行特征空间更新。
[0007] 本发明的技术方案具体包括以下步骤:
[0008] (1)在粒子滤波的框架中,使用PCA法对目标模板进行特征空间的建模;
[0009] (2)在后续的跟踪中,使用该特征空间计算粒子的权值,通过计算粒子的概率加权和来估计目标的位置,完成第一阶段的PCA;
[0010] (3)使用洛伦兹估计器对第一阶段PCA的追踪结果进行异常值检测,并计算异常值个数,通过设置阈值,判断异常值个数是否达到更新的标准;
[0011] (4)对达到更新标准的追踪结果,进行二次PCA分解。
[0012] 进一步,上述步骤1具体包括以下步骤:
[0013] (1) 为X的均值,计算
[0014] (2)计算X的协方差矩阵R=XTX;
[0015] (3)计算协方差矩阵R的特征值和
特征向量;
[0016] (4)取对应特征值大的特征向量为目标模板的特征向量空间。
[0017] 上述步骤2又包括以下步骤:
[0018] (1)进行目标跟踪时,将粒子投影到目标特征空间中,使用该特征空间的向量来表示粒子,并计算粒子重建误差 其中,y表示粒子,U为建立的特征空间,c为要计算的系数;
[0019] (2)使用最小二乘估计法计算系数c,即c=UTy;
[0020] (3)最后通过计算粒子的概率加权和来估计目标在当前帧的位置。
[0021] 上述步骤3包括以下步骤:
[0022] (1)使用的洛伦兹估计器为 通过计算目标函数其中e=y-cU来计算系数c,其中y为追踪结果,U为目标模板的特征空间;
[0023] (2)使用
梯度下降法求解该最小化问题,在
迭代的过程中,系数c按照进行迭代,系数c则按照 进行迭代,当两个参数都收敛时,结束迭代过程;
[0024] (3)迭代结束后,使用该系数计算追踪目标重建误差,该误差中大于 像素点视为异常点,小于该阈值的,可以视为正常点;
[0025] (4)最后计算异常点的所有个数,设置阈值,该值可以通过实验获得,若异常点的个数大于该阈值,则说明该追踪结果需要更新。
[0026] 上述步骤4所述的进行二次PCA分解具体包括:
[0027] (1)收集需要更新的追踪结果,达到一定帧数时,将这些追踪结果再次投影到特征空间中;
[0028] (2)使用最小二乘法来计算追踪结果的重建误差,并且对该误差进行二次PCA分解;
[0029] (3)分解得到的特征向量中,将具有最大特征值的特征向量增加到之前的特征空间中,完成一次更新。
[0031] 1,本发明在该目标跟踪算法中使用洛伦兹估计器对跟踪结果进行异常值检测,通过统计异常点的个数来判断是否需要更新。首先增加判断条件,一方面可以大大减少更新的频率,另一方面可以准确地检测到是否需要更新,。
[0032] 2,本发明通过计算异常点来判断更新的方法,比直接计算所有像素重建误差平方和更加准确,因为所有像素中,有一部分是来自背景,如果背景发生变化,也会使整个重建误差和增大,从而增加不必要的更新,而洛伦兹估计器只关心异常值,这样在一定程度上减小了背景对更新的影响。
附图说明
[0033] 图1为粒子在PCA建立的特征空间U中投影的几何表示示意图。
[0034] 图2为洛伦兹估计器函数以及其影响函数示意图。
[0036] 图4为使用PCA建立的目标特征空间。
[0037] 图5为目标外观变化不大的时,异常点的检测示意图。
[0038] 图6为目标外观变化较大时,异常点的检测示意图。
[0039] 图7为目标在遮挡的时候,异常点的检测示意图。
[0040] 图8为序列每一帧异常点的统计曲线的显示图。
具体实施方式
[0041] 下面结合附图对本发明的具体实施方式做进一步详尽的说明。
[0042] 本发明提出的一种结合有效异常点检测的粒子滤波目标跟踪算法主要分为以下4个步骤:
[0043] 1、在粒子滤波的框架中,使用PCA技术对目标模板进行特征空间的建模。
[0044] 首先读入视频序列的第一帧,手动框出目标,对目标进行简单的
颜色直方图建模;然后在该目标周围,按照均值为0,方差为5的高斯分布开始设置粒子分布,通过计算每个粒子和目标颜色直方图之间的欧式距离,判断粒子与目标的相似度,并给予相应的权值;最后计算粒子的概率加权和,来估计下一帧的粒子。每次都把跟踪结果保存下来连续跟踪5帧之后,将跟踪结果使用PCA分解出5个互相垂直的特征向量,这5个特征向量共同组成了目标模板的特征空间U,将垂直于U的空间表示为
[0045] 2、在后续的跟踪中,使用该特征空间计算粒子的权值,通过计算粒子的概率加权和来估计目标的位置,此为第一阶段的PCA;
[0046] 在后续的跟踪中,将该粒子投影到此特征空间中,然后计算粒子的重建误差。如图T1所示,向量 表示一个粒子,系数c为向量 的投影系数,计算公式为c=Uy;因此粒子在空间U中的投影是UUTy,重建误差是 从重建误差 中可以判断出,粒子与特征空间U的欧式距离,即粒子与目标的相似性。然后通过 得到粒子的权
重,在这里,σ=0.25。
[0047] 3、使用洛伦兹估计器对第一阶段PCA的追踪结果进行异常点检测,并计算异常点个数,通过设置阈值,判断异常值个数是否达到更新的标准;
[0048] 用y来表示步骤2中的追踪结果,使用洛伦兹估计器来计算y中的异常点,其计算公式为:
[0049]
[0050] 使用梯度下降法来估计该参数,迭代公式是:
[0051]
[0052] 其中c是特征向量的系数,σ指的是异常点和正常点判断的界限,两个参数都要在迭代中收敛。参数初始化为:c0=[1,1,1,1,1]T,σ0=1,参数上标表明迭代的次数,0即还没有开始迭代时的参数值。梯度下降的步长step=0.01;若步长太大,梯度下降法容易发生震荡,若步长太小,下降速度太慢,需要比较多的迭代次数才能收敛,本实验中的步长设计是通过实验获得,并且只需要15次左右的迭代便可以收敛,另外
[0053]
[0054]
[0055] 除了参数c每次迭代时需要更新,参数σ每次迭代也要更新,其更新公式是:
[0056]
[0057] 通过迭代算法获得参数c和σ后,计算重建误差 当 的时候视为异常点,小于的视为正常点。统计异常点的个数,若异常点的个数大于800(只针对本次使用的视频,其他序列需要实验获得),则此追踪结果需要进行更新,若小于,则不需要。
[0058] 4、对达到更新标准的追踪结果,进行二次PCA分解。
[0059] 将达到更新标准的追踪结果,收集起来,达到5帧时,再进行更新,更新方法是把这5帧再次使用最小二乘的方法投影到旧的特征空间中,然后计算重建误差,将重建误差进行二次PCA的分解,将分解的特征向量中最大特征值对应的特征向量添加到原有的特征空间中,完成更新。
[0060] 实验结果如下图,图4是使用PCA对目标模板建立的特征空间,后续的跟踪都使用这个特征空间;图5是目标外观变化不大时检测到的异常点的显示,异常点个数是462,σ=0.194975;图6是外观变化较大时异常点的个数是892,σ=0.236287;图7是遮挡的时候的异常点显示,异常点个数是1627,σ=0.317551;图8是该序列每一帧异常点的统计的曲线显示。两个比较大的峰值,是目标被遮挡的时候。把遮挡也看作是目标外观发生变化的一种,也进行更新,可以处理目标遮挡时候的追踪。
[0061] 需要说明的是,以上所述仅为本发明的一个具体
实施例,并不用以限制本发明,本实施例中所用数据集和攻击模式仅限于本实施例,凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。