本发明属于计算机视觉领域,具体涉及基于相关粒子滤波的视觉跟踪方法及装置。
背景技术:
视觉跟踪由于其广泛应用(如视频监控,行为分析,人机交互和车辆导航等)而成为计算机视觉中最为重要的领域之一。目标物体的外观随时间发生大的变化是鲁棒视觉跟踪的主要难点。虽然近几年取得了一定的进展,但其仍然是一个很困难的任务。当下急需在存在诸如光照变化,快速动作,姿势变化,局部遮挡和背景杂乱等因素影响下的跟踪场景中设计鲁棒的算法来进行目标状态估计。
基于相关滤波的跟踪方法已经被证明可以达到相当高的速度和好的鲁棒性效果。对于跟踪而言,相关滤波器估计相似度是通过计算每一个对齐后的基于测试图像样本学得的模板(或滤波器)得点积来得到的。相关滤波的计算可以利用卷积定理来加快计算速度,即时域中的卷积可以通过傅里叶变换转化为频域中的相乘运算。由于其计算效率高,在视觉跟踪领域中,相关滤波被给予较高的关注度。尽管CSK和KCF方法在准确率和鲁棒性方面都达到了最先进的水平,但这些基于相关滤波的跟踪器不能很好地解决尺度变化和遮挡问题。为了解决跟踪过程中的尺度变化问题,DSST跟踪器使用了具有HOG特征的多尺度相关滤波。尽管DSST对于基于尺度金字塔表示学得的相关滤波器在鲁棒性尺度估计的任务中效果好,但对于局部和全部遮挡问题表现不佳。然而,当目标物体被较大程度遮挡时,这两类跟踪器会失去作用。这些基于相关滤波的跟踪方法不能够很好解决遮挡问题,因为他们只使用了一种单一假设,这意味着这些跟踪方法只是在上一时刻的状态附近去搜索现在目标物体的状态。结果是当局部遮挡和快速动作出现时,这些跟踪器很有可能失效。
另一方面,粒子滤波可以被用来解决大尺度变化和局部遮挡。粒子滤波是基于贝叶斯公式的。公式中样本是随时间而增加多种假设,并且样本使用一个随机运动模型去预测下一时间的状态。在基于粒子的跟踪算法中,多样的假设使得跟踪方法能够解决背景杂乱,局部和完全遮挡,从失败和目标暂时消失中恢复。因此,粒子滤波由于其能够解决非线性目标动作和与其他不同物体表示兼容的灵活性优势,在跟踪方法中被广泛使用。总体来说,当采样更多的粒子来建立鲁棒的目标表示时,基于粒子滤波的跟踪算法在杂乱和噪声的环境中的表现可信度更高。然而,基于粒子滤波的跟踪器的计算成本随着粒子的数目会线性增加,这就是其在视觉跟踪中的使用瓶颈。进一步来说,基于粒子滤波的跟踪器是通过采样粒子确定每个目标物体状态的。如果采样粒子不能够很好覆盖目标物体状态,则预测的目标物体状态很可能不准确。为了去克服这个问题,最好是能够引导粒子中心朝向目标物体。
技术实现要素:
本发明的目的是结合相关滤波和粒子滤波的优势,设计鲁棒性的视觉跟踪方法。通过利用粒子滤波有效辅助相关滤波解决尺度变化和局部遮挡问题。另外,相关滤波可以将粒子移动到局部最大激活的地方,进而使用更为少量的粒子进行相关滤波,从而降低运算复杂度。
为实现上述目的,本发明提供一种基于相关粒子滤波的视觉跟踪方法,该方法包括以下步骤:
步骤S1,根据上一时刻的粒子状态和粒子权重在当前时刻生成粒子并进行重采样;
步骤S2,对当前时刻重采样得到的每个粒子进行混合相关滤波使其移动并到达一个稳定的位置;
步骤S3,使用混合相关滤波响应更新所述每个粒子的权重并更新进行混合相关滤波的相关滤波器的参数;
步骤S4,根据更新后的粒子权重对每个粒子状态进行加权从而获得被跟踪目标在当前帧的跟踪状态。
步骤S1包括:
步骤S11:根据上一时刻的粒子状态和粒子权重推测得到在当前时刻生成的粒子状态;
步骤S12:对前一时刻得到的粒子权重进行重采样。
步骤S11中当前时刻可能的粒子状态的状态分布转移概率p(st|st-1)的计算方式如下:
其中,p(st|st-1)表示状态分布转移概率,表示t-1时刻第i个粒子的状态,表示t-1时刻第i个粒子的权重。
步骤S12中对前一时刻得到的粒子权重进行重采样包括,利用下式更新前一时刻的得到的粒子权重:
这里为第i个粒子在t-1时刻的权重,n是粒子数目。
步骤S2包括:
步骤S21;利用混合相关滤波计算当前时刻所述每个粒子的响应分布:
这里为t时刻第i个粒子通过混合相关滤波获得的响应分布,πk是第k个相关滤波器的归一化后的最大响应值,是粒子i的观测,是目标的表观模型;和代表傅里叶变换及其反变换;φ是核函数,αk的计算方式如下:
这里x是一个P×Q维的图像块,对应于粒子的观测,r={r(p,q)}对应于所有的关于图像块的循环平移xp,q,(p,q)∈{0,1,...,P-1}×{0,1,...,Q-1}的高斯函数标签,λ是正则化参数;
步骤S21,对于所述每个粒子,搜索该粒子响应分布最大值,得到该响应分布最大值对应的位置并将该粒子平移至该响应最大值的位置处,得到更新后的粒子状态,记为
步骤S3包括:
步骤S31:利用混合相关滤波模型对当前时刻所述每个粒子计算响应,然后利用所计算得到的响应更新粒子的权重
步骤S32:使用混合相关滤波器,选取具有最大响应的相关滤波器更新相关滤波器参数,同时更新相关滤波器的重要性。
在步骤S31中,由于粒子权重正比于似然函数与前一时刻粒子权重的乘积,即由于粒子经过了重采样过程,所以这里为似然函数,定义如下:
yt为t时刻的观测;为当前时刻时刻第i个粒子经过混合相关滤波后得到的响应分布,为第i个粒子在当前时刻t的状态分布。
步骤S32中如下更新相关滤波器的模型参数:
这里,索引k代表在当前时刻t时第k个相关滤波器在所有K个滤波器中具有最大响应,η为学习速率参数,αk和xk为相关滤波器的模型参数,πk是第k个相关滤波器的最大响应值。
步骤S4包括:
步骤S41,计算当前时刻t预测目标的跟踪状态的期望值:
这里E[st|y1:t]为当前时刻t预测目标的跟踪状态的期望值,y1:t表示从第一时刻到当前时刻t的视频图像帧,该步骤利用此期望值作为目标状态的预测。
根据本发明第二方面,提供了一种基于相关粒子滤波的视觉跟踪装置,该装置包括:
粒子生成模块,被配置为根据上一时刻的粒子状态和粒子权重在当前时刻生成粒子并进行重采样;
滤波模块,被配置为对当前时刻重采样得到的每个粒子进行混合相关滤波使其移动并到达一个稳定的位置;
更新模块,被配置为使用混合相关滤波响应更新所述每个粒子的权重并更新进行混合相关滤波的相关滤波器的参数;
跟踪模块,被配置为根据更新后的粒子权重对每个粒子状态进行加权从而获得被跟踪目标在当前帧的跟踪状态。
本发明的有益效果:1)本发明对于局部和完全遮挡具有鲁棒性,并能够通过增加多种假设从丢失轨迹的状态中恢复。2)本发明可以像传统粒子滤波一样通过粒子采样策略克服尺度变化问题。3)本发明可以在后验密度中对较少的粒子使用卷积相关滤波而有效增加多种模型,从而降低计算代价。4)本发明通过使用混合相关滤波,引导采样粒子朝向目标物体,从而增加跟踪时鲁棒性。
附图说明
图1是本发明基于相关粒子滤波的视觉跟踪方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明提出的基于相关粒子滤波的视觉跟踪方法的流程图,所述方法通过混合相关滤波对物体表观变化建模,结合粒子滤波进行粒子重采样,并在一个统一的框架对目标状态进行最优估计。如图1所示,所述方法包括四个部分:1)使用状态转移模型产生粒子并对其进行重采样,2)对每个粒子进行相关滤波使其移动并到达一个稳定的位置,3)使用相关滤波响应更新粒子权重并更新各相关滤波器参数,4)根据粒子权重对粒子状态进行加权从而获得被跟踪目标在当前帧的最佳状态。
本发明针对传统的基于相关滤波的跟踪方法无法很好的解决局部遮挡和快速移动等问题和传统的基于粒子滤波的跟踪方法计算复杂度高的问题,提出了基于相关粒子滤波的视觉跟踪方法。本发明具有以下优势:(1)对于局部和完全遮挡具有鲁棒性,并能够通过维持多个假设从丢失轨迹中恢复跟踪目标的状态;(2)本发明可以像传统粒子滤波方法一样通过粒子采样策略克服尺度变化问题;(3)在后验密度中较少的粒子保持多种模式,从而降低计算代价;(4)利用混合相关滤波方法,使得采样粒子被引导向目标物体,从而增加跟踪的鲁棒性。
在一实施例中,如图1所示,本发明所提供的基于相关滤波的跟踪方法方法包括以下步骤:
步骤S1,根据上一时刻的粒子状态和粒子权重在当前时刻生成粒子并重采样他们。所述粒子状态表示目标在视频帧中可能的状态,即目标的位置和尺度等。所述目标可以是任意感兴趣的物体,包括人、车辆、动物、商品等。
所述步骤S1进一步包括以下步骤:
步骤S11:根据上一时刻的粒子状态和粒子权重在当前时刻生成粒子。该步骤利用目标在上一帧的状态分布st-1和权重分布wt-1推测目标在当前帧的状态分布st:
p(st|st-1)代表状态分布转移概率,这里表示t-1时刻第i个粒子的状态,表示t-1时刻第i个粒子的权重,除外,其余由步骤S3逐帧确定。设置为默认初始值:这里n为粒子数量。假定相邻帧存在一个仿射运动模型,因此,状态变量由6个仿射变换参数组成(2D线性转换和2D平移)。为状态转移函数,由一个对角高斯分布函数进行建模,该高斯函数的均值为各状态变量的均值,对角协方差矩阵中对角线上的元素取各状态变量均值的0.25倍。
步骤S12:对前一时刻得到的粒子权重进行重采样,即更新各粒子的重要性。
由于在步骤S31中对当前时刻粒子权重的计算依赖于上一时刻的粒子权重,为了防止某些粒子的权重在当前时刻出现过大或过小的情况,本步骤对上一时刻的粒子进行重采样,重采样的方式如下:
这里为第i个粒子在t-1时刻的权重。n是粒子数目。
步骤S2,对每个粒子进行混合相关滤波使其移动并到达一个稳定的位置。利用混合相关滤波计算每个粒子的响应分布:
这里为t时刻第i个粒子通过混合相关滤波获得的响应分布,πk是第k个相关滤波器的归一化后的最大响应值。是粒子i的观测(即指代粒子i对应的图像块),是目标的表观模型。和代表傅里叶变换及其反变换。φ是核函数,说明了从输入的低维空间到高维核空间的映射,在一实施例中,φ可以是高斯核函数。αk的计算方式如下:
这里x是一个P×Q维的图像块,对应于粒子观测的具体像素值,r={r(p,q)}对应于所有的关于图像块的循环平移xp,q,(p,q)∈{0,1,...,P-1}×{0,1,...,Q-1}的高斯函数标签,λ是正则化参数;
当粒子状态计算完成后,对于所述每个粒子,搜索该粒子响应分布最大值,得到所述响应分布最大值对应的位置并据此位置把粒子的中心横纵坐标平移至响应最大值对应的位置处,得到更新后的粒子状态(在一实施例中,采用6个状态变换参数来表示),记为
步骤S3,使用混合相关滤波响应更新粒子权重并更新各相关滤波器的参数。
所述步骤S3进一步包括以下步骤:
步骤S31:使用混合相关滤波响应更新粒子权重该步骤利用混合相关滤波模型对各粒子计算响应。然后利用各粒子的响应更新粒子的权重
粒子权重正比于似然函数与前一时刻粒子权重的乘积,即由于粒子经过了重采样过程,所以我们定义似然函数如下:
这里为似然函数,yt为粒子在t时刻的观测,即t时刻的视频帧。为粒子t时刻第i个粒子经过混合相关滤波后得到的响应分布。
步骤S32:更新相关滤波器的模型参数。该步骤使用混合相关滤波器,在所有K个滤波器中选取具有最大响应的相关滤波器,对其滤波器参数进行更新,同时更新该相关滤波器的重要性。在一实施例中,K可以取3。
更新相关滤波器的模型参数如下:
这里,索引k代表在时间t时第k个相关滤波器在所有K个滤波器中具有最大响应。η为学习速率参数,αk和更新时考虑了当前数值,πk是第k个相关滤波器的最大响应值,用以表示该相关滤波器的重要性。每次更新之后,权重πk被标准化,即
步骤S4,根据粒子权重对粒子状态进行加权从而获得被跟踪目标在当前帧的最佳状态。
当前时刻t的最佳状态的期望可以被离散近似为:
这里n是粒子数目。E[st|y1:t]为当前时刻预测状态的期望值,y1:t表示从时刻1到时刻t的视频图像帧,该步骤利用此期望值作为目标状态的预测,即当前时刻的目标状态为E[st|y1:t],由各粒子状态的加权组合来确定。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。