一种融合卡尔曼滤波与TLD算法的目标跟踪方法解析.docx
《一种融合卡尔曼滤波与TLD算法的目标跟踪方法解析.docx》由会员分享,可在线阅读,更多相关《一种融合卡尔曼滤波与TLD算法的目标跟踪方法解析.docx(28页珍藏版)》请在冰豆网上搜索。
一种融合卡尔曼滤波与TLD算法的目标跟踪方法解析
说明书摘要
本发明公开了一种融合卡尔曼滤波与TLD算法的目标跟踪方法,该方法包括
以下步骤:
首先分析卡尔曼滤波器的原理,并对其加以改进;然后,利用改进的
卡尔曼滤波器增强TLD算法,提高系统的可靠性;最后,利用改进的卡尔曼滤波
器所得到的预测结果,对检测模块进行改进,缩小TLD算法的检测区域,进一步
提高跟踪的实时性。
摘要附图
权利要求书
1.一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法包括如下步骤:
步骤1:
分析和利用卡尔曼滤波器的原理,并对其加以改进;
卡尔曼滤波器用于建模的系统是线性系统;预测和测量的噪声都是白噪声,噪声服从高斯分布;
步骤2:
利用改进的卡尔曼滤波器增强TLD算法;
通过改进的卡尔曼滤波来增强TLD算法,即根据目标位置的时间步长,获得同步更新的参数传递矩阵;
步骤3:
利用改进的卡尔曼滤波器所得到的预测结果,对检测模块进行改进,缩小TLD算法的检测区域;
根据卡尔曼滤波的功能,预计当前帧中目标存在的区域,将预计区域作为
TLD算法的目标检测区域;
通过改进卡尔曼滤波器的预估结果来设置子窗口的位置范围。
2.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法步骤1包括:
第一条条件是通过k-1时刻的系统状态与一个参数矩阵的乘积得到k时刻的系统状态;其余两个条件表示噪声是不随时间变化而变化,用协方差和均值就能准确地为幅值建模;
在实时跟踪过程中,两帧间的时间间隔非常小,相邻帧的目标运动可视为成线性;这样就满足卡尔曼滤波三大条件中的第一个条件,利用卡尔曼滤波估计视频序列中目标的运动状态,运动估计过程包括如下步骤:
(1)运动预测阶段;
假设运动目标的坐标为(x,
y),运动速度为(vx,
vy),则k时刻的状态sk为
T
yk),Ak为系统状态预测方程中的传递矩
(x,y,vx,vy),,测量状态为zk为(xk,
阵为:
1
0
dt
0
Ak
0
1
0
dt
(1)
=
0
1
0
0
0
0
0
1
由于该系统中没有输入控制变量,因此Bk为0,测量方程Hk中的参数矩阵为:
1
0
0
0
(2)
Hk=
1
0
0
0
卡尔曼滤波第二、三两个条件要求噪声必须是白噪声,且服从高斯分布,所
以测量方程和预测方程中的噪声为均为服从高斯分布的白噪声,它们的协方差矩
阵Pk、Qk分布分别为:
1
0
0
0
Pk=
1
0
0
1
0
0
(3)
0
Qk
=
0
1
0
1
0
0
0
0
1
系统的测量方程为:
xk
1000
xk1
10
(4)
yk
0100
yk1
01
系统的预测方程为:
xk
1
0
dt0
xk1
1
0
0
0
yk
0
1
0dt
yk1
0
1
0
0
(5)
vxk
0
0
10
vxk1
0
0
1
0
vyk
0
0
01
vyk1
0
0
0
1
(2)运动更新阶段;
利用预测阶段得到的系统估计Pk和系统状态xk,不断重复预测步骤,直到系统结束;
卡尔曼滤波在相对稳定的系统中,能取得预测效果;但当目标运动带有随机性时使用卡尔曼滤波器,得到的预测效果往往会出现较大的误差;需对卡尔曼滤波进行适当的改进;
卡尔曼滤波在得到上一时刻的状态后,通过状态转移矩阵决定当前时刻状态的预测值,同时状态转移矩阵与k时刻的状态估计也有关,相对准确的测量值能保证预测值的准确度;
若从k到k+1时刻中的某一时间kt发生状态突变,则从k到k1时间段的状态转移矩阵为k时刻的滤波值,但kt到k+1时刻内的转移矩阵为k+1时间观测的状态;假设k到k+1时间段内k+1/2时刻为中间时刻,则有下式:
Xk|k1Ak,k
1
1
(6)
*Ak
*Xk1
2
2
。
3.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法步骤2包括:
(1)初始化系统,将初始边框的中心位置赋予ptcurrent和ptpredict,同时修改卡尔曼滤波器系统状态的初始数值和初始
预测,并利用这两个数值初始化卡尔曼滤波器;
(2)通过卡尔曼滤波器对后续帧
进行预测,且将该时刻预测的系统状态赋给ptpredict;同时,将LK光流法跟踪得到的目标边界框的中心位置点赋给ptcurrent;(3)更新ptcurrent之前,
用ptlast保存原先的系统状态测量;(4)用更新系统的状态预测量和状态测量对卡尔曼滤波器进行纠正,并预测目标边框的中心位置点,采用原来有的目标边框的宽高比来还原出边框;(5)利用卡尔曼滤波器预测每一帧目标边框的可信度,
即计算目标边框与最近邻分类器中目标模板的相似度:
若该值大于0.85,则用该目标边框取代LK光流法的检测边框结果,并将该边框检测结果传递给后续的学习模块和检测模块;相反,则保留LK光流法所得的目标边框;若可信度小于
0.6或满足一定帧数后,则用Lk光流法的边框检测结果重新初始化卡尔曼滤波
器。
4.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法步骤2的TLD算法模块包括:
跟踪模块、学习模块、检测模块,其中跟踪模块的功能是通过一个短周期的自适应跟踪器,在帧与帧之间运动的有限性、可见性的情况下,预测目标的运动趋势;学习模块的功能是评价跟踪模块和检测模块的性能,并利用算法生成的有效训练集来更新检测模块,消除检测误差;检测模块的功能是对目标进行实时检测,同时在必要情况下纠正跟踪
器。
5.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,
其特征在于,所述方法步骤2的TLD算法包括:
首先,设定第一帧中目标的位置和大小,完成TLD算法的初始化;然后,在跟踪过程中,检测模块和跟踪模块共同对每一帧图像进行处理,其中跟踪模块依据前一帧中目标的位置信息来预测当前帧中同一目标的位置,检测模块则对当前帧进行全局扫描以检测目标,且融合
跟踪结果和检测结果,给出当前帧是否存在运动目标、目标所在位置、以及跟踪
轨迹是否有效等信息;最后,将检测结果和跟踪结果输入至学习模块,由学习模
块决定是否对跟踪模块和检测模块进行更新。
6.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法步骤3包括:
(1)通过改进的卡尔曼滤波器估计当前帧中运动目标的中心位置;
(2)若某一矩形区域的长宽比与上一帧中目标边界框的长宽比一致,大小是上一帧边界框的4倍,即认为该矩形区域包含检测目标;(3)
求与所有与该划定矩形区域有交集的子窗口,然后将这一系列子窗口送入分类
器,由分类器检测子窗口中是否包含目标。
7.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,所述方法步骤3所述的检测模块包括:
方程分类器;随机森林分类器;最近邻分类器;每个阶段都将不满足条件的图像块去除,同时将满足条件的图像块送入下一个分类器。
8.根据权利要求1所述的一种融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于:
所述方法应用于卡尔曼滤波。
说明书
一种融合卡尔曼滤波与TLD算法的目标跟踪方法
技术领域
本发明涉及一种融合卡尔曼滤波与TLD算法的目标跟踪方法,属于图像处理
技术领域。
背景技术
运动目标的检测与跟踪一直都是计算机视觉研究领域中热点问题,在国防和民用的各个领域都能到广泛地应用,如智能监控、航天航空、人工智能、导航制导等方面。
在目标检测与跟踪过程中,会面临多个方面的挑战,如目标的遮挡、光线的变化、目标轨迹的改变、目标的运动速度过快、相似目标的出现、复杂的背景等。
随着计算机性能地不断提升,处理视频图像等大规模数据的能力也随随之不断提升,从而使目标检测与跟踪技术得到了极大发展。
1950年,Gibson首先提出采用光流方法,实现由静态向动态的图像处理。
随着研究的深入,光流法已很难满足系统对实时性提出的要求,由此,许多其它方法应运而生。
如:
Meanshift算法以其无参数、计算量小的优势得到重视;Condesation算法利用了粒子滤波的思想;VSAM算法实现了对复杂城市进行全方位视频监控。
总体而言,目前常见的目标检测与跟踪主要分为如下几类:
(1)基于知识的方法:
虽然此类算法解决了统计模式方法的局限性,但同时也引入了一定的问题,如:
验证困难,成本较大,在新的场景中需要重新定义与组织知识等。
(2)基于模型的方法:
该类算法首先提取目标特征;然后,建立目标的空间模型;接下来,结合这些特征和其它参数对目标的特征进行筛选,建立有效的初始假设;最后,
依据特性对目标进行预测,当标记达到特定阀值后,则认为匹配有效。
(3)基于统计模式的方法:
此类算法首先对系统进行大规模的训练,统计出目标的特征的分布;然后,以模式空间距离为标准,对特征匹配分类计数。
该类算法主要应用
在目标与周边背景单一的情况下。
(4)基于人工神经网络和专家系统的方法:
此类算法借助于神经网络,解决传统算法不能解决的问题,但同时由于神经网络的实时性不佳,所以此类算法的实时性相对较差。
而本发明能够很好地解决上面的问题。
发明内容
本发明目的在于解决了现有技术的不足,提供了一种融合卡尔曼滤波与TLD算法的目标跟踪方法,该方法应用于卡尔曼滤波,是利用一种改进的半监督学习机制,不断地对检测和跟踪模块进行更新,从而提高了系统的稳定性、鲁棒性、可靠性。
本发明的融合卡尔曼滤波与TLD算法的目标跟踪方法,其特征在于,包括以下几个步骤:
步骤1:
分析和利用卡尔曼滤波器的原理,并对其加以改进。
卡尔曼滤波器用于建模的系统是线性系统;预测和测量的噪声都是白噪声,噪声服从高斯分布,第一条条件是通过k-1时刻的系统状态与一个参数矩阵的乘积得到k时刻的系统状态;其余两个条件表示噪声是不随时间变化而变化,用协方差和均值就能准确地为幅值建模;
在实时跟踪过程中,两帧间的时间间隔非常小,相邻帧的目标运动可视为成线性;这样就满足卡尔曼滤波三大条件中的第一个条件,利用卡尔曼滤波估计视频序列中目标的运动状态,运动估计过程包括如下步骤:
(1)运动预测阶段;
假设运动目标的坐标为(x,
y),运动速度为(vx,
vy),则k时刻的状态sk为
(
x
y
vx
vyT,测量状态为
zk为
xk
yk
,Ak为系统状态预测方程中的传递矩
),
(
)
阵为:
1
0
dt
0
0
1
0
dt
(1)
Ak=
0
1
0
0
0
0
0
1
由于该系统中没有输入控制变量,因此
Bk为,测量方程Hk中的参数矩阵为:
0
Hk=
1
0
0
0
(2)
0
1
0
0
卡尔曼滤波第二、三两个条件要求噪声必须是白噪声,且服从高斯分布,所
以测量方程和预测方程中的噪声为均为服从高斯分布的白噪声,它们的协方差矩
阵Pk、Qk分布分别为:
1
0
0
0
Pk
1
0
Qk
0
1
0
0
(3)
=
1
=
0
1
0
0
0
0
0
0
1
综上所述,系统的测量方程为:
xk
1
00
0
xk1
1
0
(4)
yk
0
10
0
yk1
0
1
系统的预测方程为:
xk
1
0
dt0
xk1
1
0
0
0
yk
0
1
0
dt
yk1
0
1
0
0
(5)
vxk
0
0
1
0
vxk1
0
0
1
0
vyk
0
0
0
1
vyk1
0
0
0
1
(2)运动更新阶段;
利用预测阶段得到的系统估计Pk和系统状态xk,不断重复预测步骤,直到系统结束;
卡尔曼滤波在相对稳定的系统中,能取得预测效果;但当目标运动带有随机性时使用卡尔曼滤波器,得到的预测效果往往会出现较大的误差;需对卡尔曼滤波进行适当的改进;
卡尔曼滤波在得到上一时刻的状态后,通过状态转移矩阵决定当前时刻状态的预测值,同时状态转移矩阵与k时刻的状态估计也有关,相对准确的测量值能
保证预测值的准确度;
若从k到
态转移矩阵为
的状态;假设
k+1时刻中的某一时间kt发生状态突变,则从k到
k时刻的滤波值,但kt到k+1时刻内的转移矩阵为
k到k+1时间段内k+1/2时刻为中间时刻,则有下式
k1时间段的状
k+1时间观测
:
Xk|k
1
Ak,k
1
*Ak
1
*X
k
1
(6)
2
2
。
步骤2:
利用改进的卡尔曼滤波器增强TLD算法,提高系统的可靠性。
通过改进的卡尔曼滤波来增强TLD算法,即根据目标位置的时间步长,获得
同步更新的参数传递矩阵。
主要过程描述如下:
(1)初始化系统:
将初始边框的中心位置赋予ptcurrent和ptpredict,同时修改卡尔曼滤波器系统状态的初始数值和初始预测,并利用这两个数值初始化卡尔曼滤波器。
(2)通过卡尔曼滤波
器对后续帧进行预测,且将该时刻预测的系统状态赋给
ptpredict
;同时,将LK
光流法跟踪得到的目标边界框的中心位置点赋给
ptcurrent
。
(3)
更新
ptcurrent之前,用ptlast保存原先的系统状态测量。
(4)用更新系统的状态
预测量和状态测量对卡尔曼滤波器进行纠正,
并预测目标边框的中心位置点,采
用原来有的目标边框的宽高比来还原出边框。
(5)利用卡尔曼滤波器预测每一帧
目标边框的可信度,即计算目标边框与最近邻分类器中目标模板的相似度:
若该
值大于0.85,则用该目标边框取代LK光流法的检测边框结果,并将该边框检测
结果传递给后续的学习模块和检测模块;相反,则保留
LK光流法所得的目标边
框。
若可信度小于0.6或满足一定帧数后,则用Lk光流法的边框检测结果重新
初始化卡尔曼滤波器。
步骤3:
利用改进的卡尔曼滤波器所得到的预测结果,对检测模块进行改进,
缩小TLD算法的检测区域,进一步提高跟踪的实时性。
根据卡尔曼滤波的功能,预计当前帧中目标存在的区域,将预计区域作为
TLD算法的目标检测区域。
通过改进卡尔曼滤波器的预估结果来设置子窗口的位置范围,具体过程如下
所述:
(1)通过改进的卡尔曼滤波器估计当前帧中运动目标的中心位置;
(2)若
某一矩形区域的长宽比与上一帧中目标边界框的长宽比一致,大小是上一帧边界
框的4倍,即认为该矩形区域包含检测目标;(3)求与所有与该划定矩形区域有
交集的子窗口,然后将这一系列子窗口送入分类器,由分类器检测子窗口中是否
包含目标。
卡尔曼滤波在得到上一时刻的状态后,通过状态转移矩阵决定当前时刻状态
的预测值,同时状态转移矩阵与k时刻的状态估计也有关,所以相对准确的测量
值能保证预测值的准确度。
有益效果:
1、本发明的卡尔曼滤波在系统突变的时间段内增加了系统的采样率,确保
了预测结果的可信度,且只有在发生突变的情况下采用该方法,并且对系统的跟
踪速度影响不大。
2、本发明提高了系统的稳定性、鲁棒性、可靠性。
附图说明
图1为本发明的TLD算法框架图。
图2为本发明光流法的流程图。
图3为本发明Kalman滤波增强TLD算法框架图。
图4为本发明级联分类器示意图。
具体实施方式
下面结合说明书附图对本发明创造作出进一步的详细说明。
如图1-图4所示,本发明提出了一种融合卡尔曼滤波与TLD算法的目标跟踪方法,该方法首先是分析和利用卡尔曼滤波器的原理,并对其加以改进;然后,利用改进的卡尔曼滤波器增强TLD算法,提高系统的可靠性;最后,利用改进的卡尔曼滤波器所得到的预测结果,对检测模块进行改进,缩小TLD算法的检测区域,进一步提高跟踪的实时性。
本发明的具体实施过程包括以下步骤:
步骤1:
分析和利用卡尔曼滤波器的原理,并对其加以改进。
卡尔曼滤波的实现必须要满足三个重要的条件:
(1)用于建模的系统是线性系统;
(2)预测和测量的噪声都是白噪声;(3)噪声服从高斯分布。
第一条条件是通过k-1时刻的系统状态与一个参数矩阵的乘积得到k时刻的系统状态;其余两个条件表示噪声是不随时间变化而变化,所以用协方差和均值就能准确地为幅值建模。
虽然以上三个条件较为苛刻,但是卡尔曼滤波在实际应用中非常广泛。
由于在实时跟踪过程中,两帧间的时间间隔非常小,所以相邻帧的目标运动可视为成线性。
这样就满足卡尔曼滤波三大条件中的第一个条件,因此可利用卡尔曼滤波估计视频序列中目标的运动状态。
具体的运动估计过程包括以下两个步骤:
(
1)运动预测阶段
假设运动目标的坐标为(x,
y),运动速度为(vx,
vy),则k时刻的状态sk为
(
x
y
vx
vyT,测量状态为
zk为
xk
yk
。
Ak为系统状态预测方程中的传递矩
),
(
)
阵为:
1
0
dt
0
Ak
0
1
0
dt
(1)
=
0
1
0
0
0
0
0
1
由于该系统中没有输入控制变量,因此
Bk为。
测量方程Hk中的参数矩阵为:
0
1
0
0
0
(2)
Hk=
1
0
0
0
卡尔曼滤波第二、三两个条件要求噪声必须是白噪声,且服从高斯分布,所
以测量方程和预测方程中的噪声为均为服从高斯分布的白噪声,它们的协方差矩
阵Pk、Qk分布分别为:
1
0
0
0
1
0
0
1
0
0
(3)
Pk=
1
Qk=
0
1
0
0
0
0
0
0
1
综上所述,系统的测量方程为:
xk
1
00
0
xk1
1
0
(4)
yk
0
10
0
yk1
0
1
系统的预测方程为:
xk
1
0
dt0
xk1
1
0
0
0
yk
0
1
0
dt
yk1
0
1
0
0
(5)
vxk
0
0
1
0
vxk1
0
0
1
0
vyk
0
0
0
1
vyk1
0
0
0
1
(2)运动更新阶段
利用预测阶段得到的系统估计Pk和系统状态xk,不断重复预测步骤,直到系统结束。
卡尔曼滤波在相对稳定的系统中,能取得很好的预测效果;但当目标运动带有随机性时使用卡尔曼滤波器,得到的预测效果往往会出现较大的误差。
因此,需对卡尔曼滤波进行适当的改进。
卡尔曼滤波在得到上一时刻的状态后,通过状态转移矩阵决定当前时刻状态的预测值,同时状态转移矩阵与k时刻的状态估计也有关,所以相对准确的测量
值能保证预测值的准确度。
假设从k到k+1时刻中的某一时间kt发生状态突变,则从k到k1时间段的状态转移矩阵为k时刻的滤波值,但kt到k+1时刻内的转移矩阵为k+1时间观
测的状态。
本发明假设
k到k+1时间段内k+1/2
时刻为中间时刻,则有下式:
1
1
(6)
Xk|k1Ak,k*Ak
*Xk1
2
2
改进后的卡尔曼滤波在系统突变的时间段内增加了系统的采样率,确保了预测结果的可信度,且只有在发生突变的情况