基于Meanshift、卡尔曼滤波和图像匹配的目标跟踪方法与流程

文档序号:16364015发布日期:2018-12-22 08:19阅读:565来源:国知局
基于Meanshift、卡尔曼滤波和图像匹配的目标跟踪方法与流程

本发明属于视频对象检测与跟踪技术领域,尤其涉及一种基于meanshift、卡尔曼滤波和图像匹配的目标跟踪方法。

背景技术

目标跟踪技术一直是计算机视觉研究领域中的热点之一,各种不同模式的目标跟踪方法层出不穷,传统的目标跟踪方法有:基于实时检测的目标跟踪,基于模板匹配的目标跟踪,基于贝叶斯滤波的目标跟踪等,这些目标跟踪方法实现的作用是单方面,在目标跟踪过程中,目标的不定向运动改变了目标和场景的外观模式,另外,环境的复杂、目标间及目标与场景间的遮挡等情况的出现,这使得传统的目标跟踪方法任务变得更加困难。

依据运动的表达和相似性度量运动目标跟踪算法可以分为四类:基于主动轮廓的跟踪、基于特征的跟踪,基于区域的跟踪和基于模型的跟踪。跟踪算法的精度和鲁棒性很大程度上取决于运动目标的表达和相似性度量的定义,跟踪算法的实时性取决于匹配搜索策略和滤波预测算法。

1、基于主动轮廓的跟踪:

kass提出的主动轮廓模型,在图像域内定义可变曲线,通过对其能量函数的最小化,动态轮廓逐步调整自身形状与目标轮廓相一致。优点:将图像的灰度信息和整体轮廓的几何信息,增强了跟踪的可靠性。缺点:计算量较大,对于快速运动的物体或者形变较大的情况,跟踪效果不够理想。

2、基于特征的跟踪:

不考虑运动目标的整体特征,只通过目标图像的一些显著特征来进行跟踪。(假定运动目标可以由唯一的特征集合表达,搜索到该特征集合就认为跟踪上了运动目标,除了用单一特征来实现跟踪外,还可以进行多特征融合来作为跟踪特征),基于特征的跟踪主要包括特征提取和特征匹配两个方面。

特征提取:从景物的原始图像中提取图像的特征。

特征匹配:进行帧间目标特征的匹配,并且以最优匹配来跟踪目标。常见的基于特征匹配的跟踪算法有基于二值化目标图像匹配的跟踪,基于边缘特征匹配或角点特征匹配的跟踪、基于目标颜色特征匹配的跟踪等等。

缺点:特征鲁棒性不强,对噪音、图像本身模糊等比较敏感。

3、基于区域的跟踪:

得到包含目标的模板,模板的获取可以通过预先人为确定,模板通常略微大于目标的矩形,也可视为不规则形状。在图像序列中,运用相关算法跟踪目标。

4、基于模型的跟踪:

通过先验知识对所跟踪的目标建立模型,然后通过匹配跟踪目标进行模型的实时更新。对于刚体目标来说,其运动状态变换主要是平移、旋转等,方便跟踪。但是对于非刚体目标,其几何模型不容易得到。

优点:该类方法不受观测视角的影响,具有较强的鲁棒性,模型匹配跟踪精度高,适合机动目标的各种运动变化,抗干扰能力强,

缺点:计算复杂,运算速度慢,模型更新较为复杂,实时性较差。

传统的目标跟踪方法依然处于蓬勃发展的阶段,针对目标跟踪问题的种种复杂性,不断涌现出新的、更全面的解决方案。然而,由于问题的复杂性和各传统方法本身的缺陷,目前在目标跟踪领域仍有许多共性问题亟待解决。



技术实现要素:

为克服传统目标跟踪方法无法应对复杂环境、目标无法准确跟踪和被遮挡等问题,本发明在现有技术上进行技术创新和改进,提供了一种基于meanshift、卡尔曼滤波和图像匹配算法的目标跟踪方法,能够提高目标跟踪过程中的精准度,减少周围不良环境因素对跟踪效果的影响。

本发明的技术解决方案是:基于meanshift、卡尔曼滤波和图像匹配算法的目标跟踪方法,该方法包括以下步骤:

步骤(一),获取目标模板,设定初始帧图像中候选目标区域,计算目标特征向量和候选目标特征向量,通过meanshift跟踪算法计算目标特征向量与候选目标特征向量的偏移值,从而确定初始帧中最佳候选目标的初步位置;

步骤(二),采用卡尔曼滤波方法建立最佳候选目标的运动过程模型和观测模型,确定最佳候选目标初始位置在下一帧图像可能出现的可靠位置;

步骤(三),采用图像匹配方法,整合每一帧图像图像中的最佳候选目标,形成连续区域,再次采用meanshift计算连续最佳候选目标区域与模板匹配后的目标区域之间的方向偏移值,当偏移值小于某阈值σ或者迭代次数小于p时,确定目标所在位置,并退出迭代,否则重复步骤(一)-(三)。

进一步的,步骤(一)中确定初始帧中最佳候选目标的初步位置的具体实现方法如下,

首先计算目标特征向量:

候选目标特征向量:

上述两式中,δ(·)是kroneckerdelta函数,k(·)是核函数,b(x)是将特征空间进行量化过程中像素值的量化值,公式中的c和ch都是归一化常数,h为目标所在区域的窗宽,u为特征值大小,m为特征值的个数,nh为窗宽为h的目标区域的像素点个数,y为目标窗口的中心点坐标,xi为目标窗口中第i个像素点的坐标;

然后计算目标特征向量和候选目标特征向量之间的距离,即两者之间的偏移值:

其中被命名为bhattacharyya系数;

最后,使(3)式函数值最小,即bhattacharyya系数最大化,从而确定初始帧中最佳候选目标的初步位置。

进一步的,步骤(二)的具体实现方式如下,

1)根据牛顿运动定理构建基本模型:

其中xk,yk是第k帧最佳候选目标中心在x,y轴上的坐标位置,dxk,dyk就是坐标位置上的微分,可直接把它作为最佳候选目标中心在x,y轴上的速度,t表示两帧数据之间的间隔;

2)建立起最佳候选目标运动的过程模型和观测模型:

获得观测方程:

3)计算转移矩阵和观测矩阵:上式中,wk-1和vk-1实际上是满足高斯分布的加速度,因此可以设定t初值为1,便能得到相应的转移矩阵和观测矩阵

得到这两个重要矩阵后,设定相应的噪声,完成卡尔曼滤波的建模,最后根据这两个矩阵以及初始帧中的最佳候选目标初步位置确定接下来每一帧图像中最佳候选目标可能出现的可靠位置。

进一步的,步骤(三)的具体实现方式如下,

1)模版匹配:由于跟踪目标是已定的,在设计中先直接获取目标的模板,然后对于所拍摄的视频中的目标,进行模板匹配;在视频中提取到目标模板后,通过这一块模板,再通过opencv中的模板匹配matchtemplate函数,在读取的视频中,提取与该模板匹配最成功的一个区域,并将这一部分设为目标区域,用rectangle函数(返回矩形框的函数),将这块区域点的坐标返回,并画出一个矩形框便于观察分析;

2)提取目标区域特征:根据模板匹配选择出了需要跟踪的目标,然后需要提取当前目标区域的特征信息,即颜色特征直方图;

3)计算meanshift向量:在完成目标区域的直方图处理和绘制后,然后确定最佳候选目标区域的颜色特征直方图,并计算出偏移的meanshift向量;

4)模版更新:当偏移值小于某阈值σ或者迭代次数小于p2时,确定目标所在位置为1)中获得目标区域,并退出迭代,否则重复步骤(一)-(三),重新进行模板匹配。

进一步的,p的取值为3。

本发明一方面采用meanshift中的kroneckerdelta函数和相似度函数,通过迭代的不断更新,将目标特征空间进行量化,并快速衡量目标模型和候选的目标模型的相似度,使得目标追踪过程能达到更高的准确率;另一方面采用卡尔曼滤波和图像匹配方法,能够减少外界不良因素对目标追踪过程的干扰,对目标进行精准定位,获得更加准确、更加清晰的目标信息。采用图像匹配的方法消除外界环境干扰,通过比较每一帧图像中目标出现的可靠位置,精确锁定目标所在位置。

附图说明

图1为本发明实现过程的具体流程图;

图2为目标区域的颜色特征直方图;

图3为候选区域的颜色特征直方图。

具体实施方式

本发明将meanshift算法、卡尔曼滤波和图像匹配技术结合起来,各方面的技术特点如下:meanshift算法属于核密度估计知识领域,它完全依靠特征空间中样本点的计算其密度函数值。核密度估计法的原理相似于直方图法,只是多了一个用于平滑数据的核函数。采用核函数估计法,在采样充分的情况下,能够渐进地收敛于任意的密度函数,即可以对服从任何分布的数据进行密度估计。

卡尔曼滤波(kalmanfiltering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法,最优估计也可看作是滤波过程。数据滤波是去除噪声还原真实数据的一种数据处理技术,kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。由于它能够对现场采集的数据进行实时的更新和处理,kalman滤波是目前应用最为广泛的滤波方法,在通信,导航,制导与控制等多领域得到了较好的应用。

图像匹配是通过一定的匹配算法在两幅或多幅影像之间识别同名点的过程。传感器噪声、成像过程中视角改变引起的图像变化、目标移动和变形、光照或者环境的改变带来的图像变化以及多种传感器的使用等因素的影响,同一场景在不同条件下投影所得到的二维图像会有很大的差异。为解决图像畸变带来的匹配困难,人们提出了许多匹配算法,而它们都是由如下四个要素组合而成:特征空间;相似性度量;图像匹配变换类型;变换参数的搜索。在成像过程中,由于噪声及遮挡等原因,导致一幅图像中的特征基元在另一幅图像中有几个候选特征基元或者无对应基元,这些都是初级视觉中的"不适定问题",通常在正则化框架下用各种约束条件来解决。

本发明一方面采用meanshift中的kroneckerdelta函数和相似度函数,通过迭代的不断更新,将目标特征空间进行量化,并快速衡量目标模型和候选的目标模型的相似度,使目标追踪过程能达到更高的准确率;另一方面采用卡尔曼滤波和图像匹配方法,减少外界不良因素对目标追踪过程的干扰,快速对目标进行精准定位,获得更加准确、更加清晰的目标信息。

基于meanshift、卡尔曼滤波和图像匹配算法的目标跟踪方法,该方法包括以下步骤:

(一)、获取目标模板,设定初始帧图像中候选目标区域,计算目标特征向量和候选目标特征向量,通过meanshift跟踪算法计算目标特征向量与候选目标特征向量的偏移值,从而确定初始帧中最佳候选目标的初步位置,其具体过程如下:

1)首先在设定的roi(感兴趣区域,即为本发明实施例设定的候选目标区域)中计算概率密度,并通过meanshift计算整幅图像roi区域与目标模板之间的偏移值;

2)计算出偏移值后,将roi区域的中心点沿着meanshift计算出的目标质心向量方向,向目标质心移动;

3)当roi的中心点与目标质心的偏移量为0时,退出算法计算。

经过上面步骤,便完成了一次迭代,使得设定的roi根据偏移均值的方向和大小,不断地向目标质心或目标方向移动,完成对目标的初步定位。根据经典的ms跟踪算法,可以计算目标和候选目标特征向量如下:

目标特征向量:

候选目标特征向量:

上述两式中,δ(·)是kroneckerdelta函数,k(·)是核函数,b(x)是将特征空间进行量化过程中像素值的量化值,公式中的c和ch都是归一化常数,h为目标所在区域的窗宽,u为特征值大小,m为特征值的个数,nh为窗宽为h的目标区域的像素点个数,y为目标窗口的中心点坐标,xi为目标窗口中第i个像素点的坐标。

计算出目标特征向量和候选目标特征向量后,还需要衡量这两者之间的相似度,这里引入一个相似度函数,它定义的是目标特征向量和候选目标特征向量之间的距离,即两者之间的偏移值。为了适应不同目标之间的比较,这个距离需要有一个度量,用于定义两个离散分布之间的距离:

其中被命名为bhattacharyya系数。

跟踪的过程中,为了在当前帧中找到目标的初步位置,应该使(3)式函数值最小,(3)式函数值最小相当于将bhattacharyya系数最大化。

(二)、采用卡尔曼滤波方法建立最佳候选目标的运动过程模型和观测模型,确定上一帧最佳候选目标初始位置在下一帧图像可能出现的可靠位置;

具体实现过程如下:

1)建立最佳候选目标的运动模型:由于目标在二维图像上,有两个移动方向,加上位置的微分是移动速度,可以得到一个四维向量,将目标跟踪中的状态向量定义为:xk=[xk,yk,dxk,dyk]t,其中xk,yk是第k帧最佳候选目标中心在x,y轴上的坐标位置,dxk,dyk就是坐标位置上的微分,可直接把它作为最佳候选目标中心在x,y轴上的速度。

在跟踪过程中,能够观测到的信息只有最佳候选目标的位置信息,而速度和加速度等信息是不能直接观测到的,因此,观测向量只有两个变量,将其定义为:zk=[xck,yck]t,xck和yck分别表示当前帧中观测到的目标中心在x,y轴上的位置信息,构建最佳候选目标运动模型需要提出一个假设条件:假定最佳候选目标的运动是一个随机加速的直线运动,在x轴和y轴的加速度ax,ay都是随机变化的,且假定这两个加速度都满足高斯分布,即at~n(0,σw2)。

根据牛顿运动定理可以构建基本模型:

2)建立最佳候选目标运动过程模型和观测模型:在y轴也与上面x轴是同样的方程,通过这个运动状态方程,便可以建立起最佳候选目标运动的过程模型和观测模型:

其中,t表示两帧数据之间的间隔。

同样也可以得到观测方程:

3)计算转移矩阵和观测矩阵:式中,wk-1和vk-1实际上是满足高斯分布的加速度,因此可以设定t初值为1,便能得到相应的转移矩阵和观测矩阵

得到这两个重要矩阵后,设定相应的噪声,卡尔曼滤波的建模便完成了,根据这两个矩阵以及初始帧中的最佳候选目标初步位置即可确定接下来每一帧图像中最佳候选目标可能出现的可靠位置。

(三)、采用图像匹配方法,整合每一帧图像中的最佳候选目标,形成连续区域,再次采用meanshift计算连续候选目标区域与模板匹配后的目标区域之间的方向偏移值,当偏移值小于某阈值σ或者迭代次数小于p2时,确定目标所在位置,并退出迭代,否则重复步骤(一)-(三)。采用图像匹配的方法可以消除外界环境干扰,通过比较每一帧图像中目标出现的可靠位置,精确锁定目标所在位置。

具体流程如下:

1)模版匹配:由于跟踪目标是已定的,在设计中先直接获取目标的模板,然后对于所拍摄的视频中的目标,进行模板匹配;在视频中提取到目标模板后,通过这一块模板,再通过opencv中的模板匹配matchtemplate函数,在读取的视频中,提取与该模板匹配最成功的一个区域,并将这一部分设为目标区域,用rectangle函数(返回矩形框的函数),将这块区域点的坐标返回,并画出一个矩形框便于观察分析;

2)提取目标区域特征:根据模板匹配选择出了需要跟踪的目标,在meanshift的迭代过程中,要想在后面的视频中进行跟踪,首先需要提取当前目标区域的特征信息,也就是算法中提到的颜色特征直方图;

3)计算meanshift向量:在完成目标区域的直方图处理和绘制后,需要确定候选目标区域的颜色特征直方图(候选目标区域由步骤(1)和步骤(2)获得),并计算出偏移的meanshift向量;

4)模版更新:根据迭代次数来判断模板更新,当物体不是高速移动,而且视频的帧数比较高时,每一幅的图像移动基本上特别小。因此,理想状况下的meanshift算法,在每一帧的跟踪中,应该迭代次数大概在3次以内,而且偏移量不大便能完成目标的跟踪。因此,当迭代次数大于3次的时候,基本就假设此时的目标已经跟丢了,需要重新开始匹配。

下面结合附图和具体实例对本发明的实施方式进行详细描述。

本实施例是将基于meanshift、卡尔曼滤波和图像匹配的目标跟踪方法应用于装甲机器人的跟踪,图2中x轴是像素排列组合值,y轴是直方图数组的归一化比值,归一化比值这个数组是初始图像的颜色直方图特征数组,在这段特征提取过程中,首先将rgb颜色的空间化为4096个数值,因为本身rgb三个数值,如果不做适当的量化,数值会特别大,会严重影响算法性能;在像素组合排列值这个数组中,将图像的rgb颜色按照bgr的顺序累加起来,然后在直方图中按照此数组和相关系数矩阵(越靠近中心的权值越大)进行整合,得到这块区域的特征颜色直方图,即是跟踪目标区域的特征颜色直方图。

完成了目标区域的直方图处理和绘制后,还需要确定候选区域的特征直方图,图3中归一化比值这个数组与图2中的归一化比值提取部分大同小异,唯一的区别就是在计算像素排列组合这个量化值时,需要用到这个区域每个点的颜色权值,因此不像在图2中归一化比值的计算过程中只是一个单独的变量,图3便是跟踪过程中的候选区域得到的颜色特征直方图。

本实施例中针对以下两种情况进行了实验:

有模版更新的meanshift跟踪:在跟踪过程中,每一帧的大小1280*720pixel,帧率为60fps/s,时长为13s左右,跟踪目标大小为160*140pixel,装甲机器人移动速度为0.5m/s,在第50、150、200、300、400、500、600、700、770帧的视频下,本跟踪方法都能较好的完成目标跟踪,即使在偏远的区域都能锁定跟踪目标;

有遮挡情况下的跟踪:该实验中,每一帧视频大小为1280*720pixel,帧率为60fps/s,时长为10s左右,跟踪目标大小为160*140pixel,装甲机器人移动速度为0.5m/s,通过观测在第10、50、90、150、160、400、590、600帧视频下的跟踪效果发现,本跟踪方法在未进行模版匹配更新时,在目标被小部分遮挡的情况下,还能正常工作,但是当遮挡多了之后就完全失去作用,经过适当的模版匹配更新之后就可以完成目标在被完全遮挡情况下的跟踪。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

虽然以上结合附图描述了本发明的具体实施方式,但是本领域普通技术人员应当理解,这些仅是举例说明,以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。本发明的范围仅由所附权利要求书限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1