基于STC和分块重检测的多线程视觉目标跟踪方法与流程

文档序号:19421598发布日期:2019-12-14 01:33阅读:361来源:国知局
基于STC和分块重检测的多线程视觉目标跟踪方法与流程

本发明涉及计算机视觉应用目标检测与跟踪领域,尤其涉及一种基于stc和分块重检测的多线程视觉目标跟踪方法。



背景技术:

视觉目标跟踪是计算机视觉中一个重要研究方向,在军事无人飞行器、精确制导以及空中预警和民用视频监控,人机交互和无人驾驶等众多领域有着极其广泛的应用,然而目标跟踪面临着目标尺度变换、重度遮挡、快速移动、超出视野和光照变化等众多挑战,因此提出一种可靠的实时视觉目标跟踪方法具有很重要的现实意义。

以往的视觉目标跟踪方法有效的采用了时间上下文信息,根据前面帧的图像目标的位置和尺度信息来跟踪当前帧中目标的位置与尺度,stc在此基础上,基于贝叶斯框架,建立跟踪目标和局部上下文之间的时空关系,将跟踪问题转化为计算置信度图,通过最大化目标位置似然函数来得到目标位置的问题,对于目标轻度遮挡、姿态改变以及光照变化具有很好的跟踪效果,且能达到实时处理的要求,然而对于目标长期跟踪过程中出现的目标重度遮挡、快速移动以及超出视野等情况下,容易导致跟踪失败。考虑到相邻两帧图像间时间间隔很短,即使跟踪目标被严重遮挡,目标附近局部区域仍有可能没有变化,lct采用基于相关滤波器的核岭回归方法来编码由目标对象及其周围环境组成的外观模板,由提取的特征构建的自适应模板能抵抗重度遮挡,快速运动和严重变形,而且解决了传统的基于相关滤波器的跟踪方法在长时间跟踪过程中产生漂移的问题。此外,lct训练了另外一个相关滤波器用来估计目标尺度变化,采用hog特征构建多尺度目标金字塔来详尽搜素最佳目标尺度。对于长期跟踪过程中,目标长时间严重遮挡和超出视野导致跟踪失败需要重检测的情况,lct通过采用随机蕨分类器(randomfern)来训练在线检测器并在激活时扫描窗口。但是仅采用lct算法进行目标跟踪存在跟踪速度极慢的问题。



技术实现要素:

本发明的目的在于提供一种基于stc和分块重检测的多线程视觉目标跟踪方法,旨在用于解决现有的目标跟踪方法对于目标长期跟踪过程中出现的目标重度遮挡、快速移动以及超出视野等情况下,容易导致跟踪失败以及跟踪速度慢的问题。

本发明提供一种基于stc和分块重检测的多线程视觉目标跟踪方法,包括以下步骤:

s1、读取视频或图像序列的第一帧图像,确定跟踪目标;

s2、采用stc算法对第一帧图像建立空间上下文模型;

s3、对第一帧图像中的跟踪目标所在矩形模板区域进行分块操作,并采用第一帧图像中人为选定的目标矩形区域的分块训练svm分类器;

s4、读取下一帧图像,从上一帧图像中学习得到空间上下文模型;

s5、根据步骤s4中从上一帧图像中学习得到的空间上下文模型,更新当前帧图像的时空上下文模型;

s6、获取当前帧图像的置信度图,通过最大化置信度图来获得当前帧图像的目标位置及其置信度概率;

s7、根据步骤s6中获得的置信度概率来判断当前帧图像中跟踪目标被遮挡的程度;

s8、根据步骤s7中判断的跟踪目标被遮挡程度,来选择相应算法更新目标位置;

s9、循环执行步骤s4~s8,直至当前视频或图像序列处理完。

进一步的,所述步骤s3中对第一帧图像进行的分块包括垂直分块和水平分块,垂直分块中,每个子区域大小为模板区域的半高,十分之一宽的矩形区域,水平分块中,每个子区域为模板区域的半宽,十分之一高的矩形区域,总共分成四十个子区域。

进一步的,所述步骤s4具体包括,

设当前帧图像为第t+1帧图像,对于上一帧图像即第t帧图像有确定的目标位置x*,从第t帧图像中学习得到空间上下文模型具体方法如下:

目标邻域上下文先验概率由下式计算:

p(c(z)|o)=i(z)wσ(z-x*)

其中p(c(z)|o)是目标邻域上下文先验概率,描述局部图像区域的特征,z泛指的是目标邻域各个位置,c(z)为当前帧中的上下文特征集xc={c(z)=(i(z),z)|z∈ωc(x*)},o为当前场景中出现的跟踪目标,i(z)为位置z处的图像灰度值,wσ(·)是由下式定义的权值函数:

其中a为归一化常量,使得p(c(z)|o)的值位于区间[0,1]内,σ为尺度参数;

目标位置似然概率置信度图公式如下:

其中为卷积运算,x∈r2为目标位置,b为归一化常量,β为形状参数,ωc(x*)表示x*的局部上下文区域;

为采用fft进行快速卷积计算,将上式变换到频域:

其中为fft变换,⊙为元素对位相乘运算;

由上式推导出空间上下文模型hsc(x)的计算式:

其中为fft逆变换。

进一步的,所述步骤s5具体包括,

由步骤s4从第t帧图像中学习得到的空间上下文模型用于更新第t+1帧图像的时空上下文模型,公式如下:

其中ρ为学习参数,是从第t帧图像中学习得到的空间上下文模型,是视频或图像序列前t帧中累积获得的时空上下文模型。

进一步的,所述步骤s6中获取当前帧图像的置信度图的公式如下:

表示第t帧中的目标位置。

进一步的,所述步骤s7中,当置信度概率值大于a1时,判断跟踪目标不存在遮挡;当置信度概率值在a2~a1之间时,判断跟踪目标处于一般遮挡;当置信度概率值小于a2时,判断跟踪目标严重遮挡或超出视野外;其中1>a1>a2>0;其中a1=0.75,a2=0.3。

进一步的,所述步骤s8中,(1)若判断跟踪目标不存在遮挡,当前帧图像继续采用stc进行目标跟踪,通过最大化由步骤s6获得的置信度图ct+1(x)来获取目标位置

即步骤s6中最大化置信度图获得的当前帧图像的目标位置即为最终的目标位置;

并进行目标尺度更新,目标大小在视频图像序列中可能会发生变化,因此权值函数wσ中的尺度参数σ也应更新,σ的更新策略如下:

其中ct(·)为置信度分布,s't是由连续两帧图像估计的目标尺度,是之前连续n帧图像尺度估计的平均值,λ>0是给定的滤波参数;

同时对当前帧图像中的跟踪目标所在矩形模板区域进行分块操作,采用积分直方图提取每一个子矩形区域的灰度直方图,并用目标所在区域的图像hog特征来训练svm分类器;

(2)若判断跟踪目标处于一般遮挡,继续采用stc更新目标位置,进一步的当置信度概率值小于0.7时,对当前帧图像中的跟踪目标所在矩形模板区域进行分块操作,采用积分直方图提取每一个子矩形区域的灰度直方图,并用目标所在区域的图像hog特征来训练svm分类器;

(3)若判断跟踪目标严重遮挡或超出视野外,采用分块来进一步判断当前帧图像帧中跟踪目标被遮挡情况,具体包括:

以上一帧图像得到的目标位置为中心,定义半径为r的搜索范围,对于搜索范围内的每一个位置(x,y),都有一个以(x,y)为中心的矩形目标区域与上一帧的目标区域对应,采用分块操作,将位置(x,y)所在的矩形目标区域矩形分块,采用积分直方图提取每一个分块的灰度直方图;

采用emd来计算分块之间的相似度,对于每一个分块,得到一个与搜索区域大小相近的相似度图,通过最小化相似度图得到搜索区域范围内与当前子区域块相似度最高的子块对应的emd值,将所有分块对应的值从小到大进行排序,当第五个值小于设定的阈值时,目标被遮挡的程度较轻,此时仍然采用stc更新目标位置,否则,当目标被严重遮挡或超出视野,采用svm分类器进行评分,通过最大化评分图重新定位目标位置。

进一步的,emd定义如下:

设:

其中:

pi表示一张图片的特征,qj表示另一张图片的特征,代表特征pi的权重,代表特征qj的权重,dij表示pi和qj之间的距离;

通过以下最优化问题:

s.t

fij≥0,i=1,2,...,m;j=1,2,...,n;

m、n分别表示p、q集合中特征与权重组合的个数,解出fij,emd的定义为:

当:

时,emd是满足三角不等式的,即emd是距离,用来判断直方图间的相似性。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现如权利要求1至8中任一项权利要求所述的方法。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8中任一项权利要求所述的方法。

与现有技术相比,本发明具有以下有益效果:

本发明提供的这种基于stc和分块重检测的多线程视觉目标跟踪方法,算法主体采用stc目标跟踪,可以处理一般目标检测情况,同时借鉴lct的重检测策略,对于目标出现重度遮挡、快速移动以及超出视野等情况而导致的检测失败问题进行重检测;为实现算法的简化与有效性,将矩形目标模板图像进行分块操作,得到预定义的多个矩形子区域,并采用积分直方图来计算矩形子区域中的灰度直方图,并与第一帧图像中的目标模板图像分块的灰度直方图作比较,用来训练svm分类器,替换lct算法中采用的knn分类器和随机蕨分类器,来实现目标重检测。本发明可以提高目标跟踪的可靠性以及提高目标跟踪的效率。

附图说明

图1为本发明实施例提供的一种基于stc和分块重检测的多线程视觉目标跟踪方法的整体流程图;

图2为本发明实施例提供的stc时空上下文模型与第t+1帧图像跟踪示意图;

图3为本发明实施例提供的图像水平分块与垂直分块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

如图1和图2所示,本发明实施例提供一种基于stc和分块重检测的多线程视觉目标跟踪方法,包括以下步骤:

s1、采用打开视频或图像序列的第一帧图像,人为设定或通过目标检测算法来确定跟踪目标,同时开启lct线程,用于训练svm分类器,训练好的svm分类器用于目标重检测。

s2、采用stc算法对第一帧图像建立空间上下文模型,同时初始化lct中与分块处理和分类训练相关的参数。

s3、对第一帧图像中的跟踪目标所在矩形模板区域进行分块操作,如图3所示,分块包括垂直分块和水平分块,垂直分块中,每个子区域大小为模板区域的半高、十分之一宽的矩形区域,水平分块中,每个子区域为模板区域的半宽、十分之一高的矩形区域,总共分成四十个子区域。其中子区域的数量可以根据目标跟踪的性能要求进行调整。

s4、读取下一帧图像,从上一帧图像中学习得到空间上下文模型,并计算目标邻域上下文先验,具体处理方法如下:

设当前帧图像为第t+1帧图像,第t帧图像中目标位置为x*,从第t帧图像中学习得到空间上下文模型具体方法如下:

按下式计算描述局部图像区域的特征的目标邻域上下文先验概率p(c(z)|o):

p(c(z)|o)=i(z)wσ(z-x*)

其中z是目标邻域中的任意位置,c(z)为当前帧中的上下文特征集xc={c(z)=(i(z),z)|z∈ωc(x*)}(ωc(x*)表示x*的局部上下文区域),o表示图像中出现跟踪目标,i(z)为位置z处的图像灰度值,wσ(·)是由下式定义的权值函数:

其中a为归一化常量,使得p(c(z)|o)的值位于区间[0,1]内,σ为尺度参数;

目标位置似然概率置信度图公式如下:

其中为卷积运算,x为目标在当前帧中的位置,b为归一化常量,β为形状因子。为采用fft进行快速卷积计算,将上式变换到频域:

其中为fft变换,⊙为元素对位相乘运算。由上式可得空间上下文模型hsc(x)为:

其中为fft逆变换。

s5、根据步骤s4中从上一帧图像中学习得到的空间上下文模型,更新当前帧图像的时空上下文模型,公式如下:

其中ρ为学习参数,是从第t帧图像中学习得到的空间上下文模型,是视频或图像序列前t帧中累积获得的时空上下文模型;

上式可以看成一个很容易在频域观测到的时域滤波过程,

其中的时域傅里叶变换,

其中,j为虚部单元,ω为频率;

的定义和类似,时域滤波fω则由下式给出,

其中fω是一个低通滤波器。因此上述时空上下文模型可以有效地滤除视频图像序列中目标状态变化导致的图像噪声,增强目标跟踪算法的稳定性。

s6、按下式计算当前帧的置信度图:

其中表示第t帧中的目标位置,通过最大化置信度图来获得当前帧中的目标位置及其置信度概率。

s7、根据步骤s6中获得的置信度概率来判断当前帧图像中跟踪目标被遮挡的程度:当置信度概率值大于a1时,判断跟踪目标不存在遮挡,包括遮挡很轻的情况;当置信度概率值在a2~a1之间时,判断跟踪目标处于一般遮挡;当置信度概率值小于a2时,判断跟踪目标严重遮挡或超出视野外;其中1>a1>a2>0,a1、a2是根据实际情况来确定的,实际应用时可设a1=0.75,a2=0.3。

s8、根据步骤s7中判断的跟踪目标被遮挡情况,来选择相应的处理策略:

若判断跟踪目标不存在遮挡,即置信度概率值大于0.75时,当前帧图像继续采用stc进行目标跟踪,通过最大化由步骤s6获得的置信度图ct+1(x)来获取第t+1帧图像中目标位置

即步骤s6中最大化置信度图获得的当前帧图像的目标位置即为最终的目标位置。

并进行目标尺度更新,目标大小在视频图像序列中可能会发生变化,因此权值函数wσ中的尺度参数σ也应更新,σ的更新策略如下:

其中ct(·)为置信度分布,s't是由连续两帧图像估计的目标尺度。为了避免尺度调整过于敏感并降低估计错误导致的噪声影响,st+1通过和更新类似的滤波来估计,其中是之前连续n帧图像尺度估计的平均值,λ>0是给定的滤波参数。

同时把lct更新flag置1,不断更新lct线程。当置信度概率值大于0.75时,由于跟踪目标不存在遮挡或者遮挡较轻,因此当前帧与上一帧图像间具有较高的相似度,当stc处理完当前图像帧t+1后,对当前帧图像中的跟踪目标所在矩形区域进行分块操作,具体操作与步骤s3中的分块操作类似,采用积分直方图提取每一个分块的灰度直方图,即统计这个分块内各个灰度值出现的次数。通过计算一幅图像中各个位置的积分直方图,可以快速求出该图像中任意矩形区域的积分直方图,实现积分直方图的快速计算。在上述处理的同时,目标所在区域的图像hog特征被用来训练svm分类器,以便在需要的时候进行目标重定位。

若判断跟踪目标处于一般遮挡,即置信度概率值在0.3~0.75之间时,继续采用stc更新目标位置;由于目标从没有遮挡到一般遮挡或是完全遮挡的过程,stc的置信度概率值在相邻几帧中是一个从高到低的变化过程,因此,此时若有lct更新标志仍然为true且置信度概率值大于0.7,目标图像开始出现由于遮挡或者形变超出stc处理范围,将不再更新lct,将lct更新标志置为false,同时将lct预估标志置为true;而当置信度概率值小于0.7,继续更新lct,对当前帧图像中的跟踪目标所在矩形模板区域进行分块操作,具体操作与步骤s3中的分块操作类似,采用积分直方图提取每一个子矩形区域的灰度直方图,并用目标所在区域的图像hog特征来训练svm分类器,以便在需要的时候进行目标重定位。

若判断跟踪目标严重遮挡或超出视野外,即置信度概率值小于0.3时,导致stc算法目标跟踪失败,此时采用分块来进一步判断当前帧图像帧中跟踪目标被遮挡情况,具体处理方法如下:

由于相邻帧之间目标移动范围有限,以上一帧图像得到的目标位置为中心,定义半径为r的搜索范围,对于搜索范围内的每一个位置(x,y),都有一个以(x,y)为中心的矩形目标区域与上一帧的目标区域对应,采用步骤s3的分块操作,将位置(x,y)对应的矩形目标区域矩形分块,根据整幅图像的积分直方图计算每一个分块的灰度直方图;

然后,采用emd来计算分块间的相似度,设两个分块特征集合p、q如下:

其中m、n分别表示p、q中的特征个数,pi∈r,qj∈r,(r为实数集),pi表示p中的第i(1≤i≤m)个特征,qj表示q中的第j(1≤j≤n)个特征,代表特征pi的权重,代表特征qj的权重,dij表示pi和qj之间的欧氏距离。

两个图像区域的相似度由emd描述,其定义如下:

其中,fij通过以下最优化问题求解:

s.t

fij≥0,i=1,2,...,m;j=1,2,...,n;

时,emd满足三角不等式,可以用来判断两个图像分块直方图间的相似性。

对于每一个分块,计算搜索区域内各个位置分块和该分块的emd相似度,形成一个与搜索区域大小一致的相似度图,通过最小化相似度图(emd值越小越相似)得到搜索区域范围内与该分块相似度最高的子块对应的emd值。将所有分块对应的值从小到大进行排序,通过大量实验验证得到,当第五个值小于设定的阈值时,目标被遮挡的程度较轻,此时仍然采用stc更新目标位置;否则,目标受到严重遮挡或超出视野,采用svm分类器对整幅图像中与目标图像区域尺寸相同的每个图像区域是否为目标区域进行概率估计,最大概率对应的图像区域即为目标的最新位置,从而实现目标重定位。

s9、循环执行步骤s4~s8,直至当前视频或图像序列处理完。具体地,通过循环条件判断当前视频或图像序列是否处理完,如果处理完,结束目标跟踪,否则,提取下一帧图像,从步骤四开始重新计算。

本发明实施例提供的这种基于stc和分块重检测的多线程视觉目标跟踪方法,算法主体采用stc目标跟踪,可以处理一般目标检测情况,同时借鉴lct的重检测策略,对于目标出现重度遮挡、快速移动以及超出视野等情况而导致的检测失败问题进行重检测;为实现算法的简化与有效性,将矩形目标模板图像进行分块操作,得到预定义的多个矩形子区域,并采用积分直方图来计算矩形子区域中的灰度直方图,并与第一帧图像中的目标模板图像分块的灰度直方图作比较,用来训练svm分类器,替换lct算法中采用的knn分类器和随机蕨分类器,来实现目标重检测。本发明可以提高目标跟踪的可靠性以及提高目标跟踪的效率。

本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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