基于相关滤波和显著性检测的航拍视频目标跟踪方法与流程

文档序号:11231954阅读:740来源:国知局

本发明涉及一种基于相关滤波和显著性检测的航拍视频目标跟踪方法



背景技术:

目前,航拍视频跟踪技术已经在军事领域和民事领域得到广泛的应用。相对于固定平台或者手持设备拍摄的视频,航拍视频具有自身特有的性质。首先,摄像机随无人机一同做高速运动,航拍视频序列图像间存在平移、旋转等变换,且视频中场景复杂多变,目标极易受到遮挡、噪声等干扰;另外,由于无人机有时在几千米甚至上万米的高空飞行,运动目标在图像中占的比例很小,这些都对航拍视频处理带来了巨大的挑战。近年来,基于相关滤波的跟踪方法大量涌现,并展现了良好的跟踪性能,尤其是该类方法所具有的实时性,可以在一定程度上满足航拍视频跟踪问题的要求。但是,当视频中的目标被严重遮挡时,基于相关滤波的现有方法会产生漂移,容易导致跟踪失败,因此无法对航拍视频进行长时跟踪。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种基于相关滤波和显著性检测的航拍视频目标跟踪方法,解决航拍视频中由于运动目标被严重遮挡而造成外观模型漂移,从而易导致跟踪失败的问题。

技术方案

一种基于相关滤波和显著性检测的航拍视频目标跟踪方法,其特征在于步骤如下:

步骤1:读取视频中第一帧图像数据,得到目标所在的初始位置信息[x1,y1,w,h],并赋予该图像数据一个是否要进行重检测的标志位flag,置为0;其中:x1,y1表示第一帧目标中心p1的横坐标和纵坐标,w,h表示目标的宽和高;

步骤2:以目标初始位置中心点x1,y1确定一个目标区域r,r的大小为m×n,其中m=3×w,n=3×h;对r提取d维特征图,命名为x;

根据x构造最优相关滤波器ul,ul在频域上的表示ul称为目标模板,计算方法如下:

其中:各个大写的变量为相应的小写变量在频域上的表示,高斯滤波模板(m,n)∈{0,...,m-1}×{0,...,n-1},σ为高斯核的带宽,⊙代表元素相乘运算,上划线表示复共轭,al、b+λ分别为滤波器ul的分子和分母,λ为调整参数;与ul等价,在后续操作中,只需要更新al、b+λ即可更新目标模板ul;另外,把第一帧目标模板的分子al记作init_al,分母中的b记作init_b;l表示维度的索引,l∈{1,...,d};

因此,λ为调整参数,取0.010

进入下述循环处理步骤,直至跟踪结束:

步骤3:读取第k帧图像,k≥2且起始值为2;判断flag值是否为1,若是,则转步骤7;否则,在第k帧图像中以(xk-1,yk-1)为中心,提取大小为m×n的目标搜索区域,若该区域超出当前图像边界,不对其进行扩展,并将其调整为m×n大小;然后对目标搜索区域提取d维特征图,命名为z,再利用目标模板ul计算目标置信图responce,计算下式,

由responce中得到最大响应值mvalue,以及最大响应值对应的坐标(x',y');

其中,为傅里叶逆变换;

步骤4:当最大响应值mvalue是否大于阈值t1,将(x',y')作为目标在第k帧图像中的位置pk,其坐标为(xk,yk),并将标志num_lost置为0,转步骤6;否则,num_lost的值加1;

所述num_lost表示各帧最大响应值连续小于t1的帧数,且num_lost初始值为0;

步骤5:当num_lost大于5时,将flag置为1,转步骤7;否则将(x',y')作为目标在第k帧图像中的位置pk,其坐标为(xk,yk);其中,t1取值范围为0.15-0.25;

步骤6:在当前帧中以(xk,yk)为中心,w、h为宽和高标示出目标的位置,并提取大小为m×n的区域;若该区域超出当前图像边界,不对其进行扩展,并将其调整为m×n大小;

对该区域提取d维特征图,命名为zn;若(xk,yk)来自步骤3中的(x',y'),则按照下式得到a_newl、b_new:

否则,按照下式得到a_newl、b_new:

将a_newl、b_new的值分别赋给al、b,完成对al和b的更新;

其中:η为模板更新学习率,取0.025;若处理完所有图像则算法结束,否则,k的值加1,转步骤3;

步骤7:在当前帧图像中以lock为中心截取图像块patchk,其中,lock的坐标为(xk-1,yk-1),patchk的宽和高分别为符号表示向下取整;若patchk超出当前帧图像边界,则不对patchk进行扩展;

采用基于剩余谱理论的方法对patchk进行显著性检测,得到显著图saliencek;然后使用最大类间方差法对saliencek进行阈值分割,得到显著性阈值图thresholdk,得到init个连通域;

将质心在thresholdk边界15个像素以内的连通域排除,得到last个连通域以及它们的质心ceni,ceni在显著性阈值图中的坐标为(ri,ci);其中,若last为0,则k的值加1,num_lost的值加1,令(xk,yk)=(xk-1,yk-1),转步骤3;否则继续进行,其中,1≤i≤last;

步骤8:通过下式得到每个质心ceni在第k帧图像中的坐标cen_imi:

cen_imi=(ri,ci)-(midxi,midyi)+(xk-1,yk-1)

其中:(midxi,midyi)为patchk的中心在patchk中的坐标;

无论patchk的边界是否与第k帧图像的边界重合,都将lock相对于patchk的位置作为patchk的中心;

步骤9:以cen_imi为中心,在当前帧图像中截取m×n大小的图像块impatchi,若坐标超出图像边界,则将不对impatcih进行扩展,将impatcih调整为m×n大小;对impatchi提取d维特征图,命名为zpatchi,然后与当前的目标模板做相关滤波,再经过傅里叶反变换,得到响应最大值mvaluepatchi;在所有mvaluepatchi中选取最大值mvalue',若mvalue'大于阈值t2,则以mvalue'对应的cen_imi作为新的目标位置pk,其坐标为(xk,yk),并将num_lost和flag置为0,转步骤6;否则,令(xk,yk)=(xk-1,yk-1),num_lost的值加1,k的值加1,flag的值不变,然后转步骤3;其中,t2取值范围为0.10-0.25;

所述提取d维特征图时,维度d的构成包括27维方向梯度直方图特征加1维原始灰度特征,d取28。

有益效果

本发明提出的一种基于相关滤波和显著性检测的航拍视频目标跟踪方法,通过使用基于相关滤波和显著性检测的跟踪方法,结合方向梯度直方图特征和灰度特征,使得跟踪结果对于光照变化、噪声、遮挡等因素具有很强的鲁棒性,尤其是当目标被严重遮挡而导致跟踪失败时,本发明通过重检测机制,可以再次检测到目标,使得目标能够被长时间持续地跟踪;另外,基于剩余谱理论的显著性检测方法计算简便快捷,可以通过较小的计算代价实现对目标的重检测,能有效地满足航拍视频跟踪对算法实时性的要求。

附图说明

图1:基于相关滤波和显著性检测的航拍视频目标跟踪方法流程图

具体实施方式

现结合实施例、附图对本发明作进一步描述:

相关滤波的原理是通过傅里叶变换将图像从空间域转换到频域,利用频域的逐像素相乘代替空间域的卷积操作,可以极大地提高运算速度。而图像显著性检测的目的是获得高质量的显著图,显著图反映了图像中不同区域的显著程度。利用显著图,可以快速检测到图像中的显著区域。本发明采用了基于相关滤波的跟踪方法,并通过使用方向梯度直方图(histogramoforientedgradient,hog)特征加灰度特征构建鲁棒的目标模型来预测目标的中心位置。针对目标被严重遮挡的问题,本发明引入重检测机制来解决该问题:首先判断目标是否被严重遮挡,一旦目标被判定为严重遮挡,则采用基于剩余谱理论的方法来对特定的图像块进行显著性检测:首先计算图像的振幅和相位,然后通过振幅谱突出部分相减得到特征谱,再通过傅里叶逆变换得到显著图,并通过对显著图阈值化得到目标候选区域,最后结合相关滤波的方法对目标进行重新定位。

步骤1读取视频中第一帧图像数据以及目标所在的初始位置信息[x1,y1,w,h],其中x1,y1表示第一帧目标中心p1的横坐标和纵坐标,w,h表示目标的宽和高,将flag置为0。其中,flag为判断是否要进行重检测的标志位。

步骤2根据目标初始位置中心点x1,y1确定一个目标区域r,r的大小为m×n,其中m=3×w,n=3×h。对r提取d维特征图x,其中,维度d的构成包括27维方向梯度直方图特征加1维原始灰度特征,因此,d取28。根据x构造最优相关滤波器ul,ul在频域上的表示ul称为目标模板,计算方法如下:

其中,如果不加特殊说明,,各个大写的变量为相应的小写变量在频域上的表示,高斯滤波模板(m,n)∈{0,...,m-1}×{0,...,n-1},σ为高斯核的带宽,⊙代表元素相乘运算,上划线表示复共轭,al、b+λ分别为滤波器ul的分子和分母,λ为调整参数,取0.010。与ul等价,在后续操作中,只需要更新al、b+λ即可更新目标模板ul。另外,把第一帧目标模板的分子al记作init_al,分母中的b记作init_b。l表示维度的索引,l∈{1,...,d}。

步骤3读取第k帧图像(k≥2且起始值为2),判断flag值是否为1,若是,则转步骤7;否则,在第k帧图像中以(xk-1,yk-1)为中心,提取大小为m×n的目标搜索区域。然后通过步骤2中的方法提取特征图,命名为z,再利用目标模板ul计算目标置信图responce,计算方法如下:

其中,为傅里叶逆变换。可以得到responce中的最大响应值mvalue,即最大响应值对应的坐标(x',y'):

步骤4判断步骤3中的最大响应值mvalue是否大于阈值t1,若是,则将(x',y')作为目标在第k帧图像中的位置pk,其坐标为(xk,yk),并将标志num_lost置为0,转步骤6;否则,num_lost的值加1,继续进行。其中,num_lost表示各帧最大响应值连续小于t1的帧数,且num_lost初始值为0。

步骤5判断num_lost是否大于5,若是,则将flag置为1,转步骤7;否则将(x',y')作为目标在第k帧图像中的位置pk,其坐标为(xk,yk),并继续进行。其中,t1取值范围为0.15-0.25。

步骤6在第k帧中第以(xk,yk)为中心,w、h为宽和高标示出目标的位置,并提取大小为m×n的区域,按照步骤2中的方法对该区域提取特征图,命名为zn。判断(xk,yk)是否来自步骤3中的(x',y'),若是,则按照下式得到a_newl、b_new:

否则,按照下式得到a_newl、b_new:

将a_newl、b_new的值分别赋给al、b,完成对al和b的更新。其中,η为模板更新学习率,取0.025。若处理完所有图像则算法结束,否则,k的值加1,转步骤3。

步骤7在第k帧图像中以lock为中心截取图像块patchk,其中,lock的坐标为(xk-1,yk-1),patchk的宽和高分别为符号表示向下取整,若patchk超出第k帧图像边界,则不对patchk进行扩展。然后采用基于剩余谱理论的方法对patchk进行显著性检测,得到显著图saliencek,然后使用最大类间方差法对saliencek进行阈值分割,得到显著性阈值图thresholdk,得到init个连通域,将质心在thresholdk边界15个像素以内的连通域排除,最终得到last个连通域以及它们的质心ceni,ceni在显著性阈值图中的坐标为(ri,ci)。其中,若last为0,则k的值加1,num_lost的值加1,令(xk,yk)=(xk-1,yk-1),转步骤3;否则继续进行,其中,1≤i≤last。

步骤8对于步骤7中的得到每个质心ceni,通过下式可以得到ceni在第k帧图像中的坐标cen_imi:

cen_imi=(ri,ci)-(midxi,midyi)+(xk-1,yk-1)(6)

其中,(midxi,midyi)为patchk的中心在patchk中的坐标。其中,无论patchk的边界是否与第k帧图像的边界重合,都将lock相对于patchk的位置作为patchk的中心。

步骤9以cen_imi为中心,在第k帧图像中截取m×n大小的图像块impatchi,其中,若坐标超出图像边界,则不对impatchi进行扩展。对impatchi按步骤2提取特征图,命名为zpatchi,然后与当前的目标模板做相关滤波,经过傅里叶反变换之后,得到响应最大值mvaluepatchi,并从各个mvaluepatchi中选取并得到最大值mvalue'。若mvalue'大于阈值t2,则以mvalue'对应的cen_imi作为新的目标位置pk,其坐标为(xk,yk),并将num_lost和flag置为0,转步骤6;否则,令(xk,yk)=(xk-1,yk-1),num_lost的值加1,k的值加1,flag的值不变,然后转步骤3。其中,t2取值范围为0.10-0.25。

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