基于粒子滤波的KCF无人机地面目标跟踪研究

2019-11-11 07:29
无人机 2019年9期
关键词:实时性滤波器滤波

本文介绍了核相关滤波算法(KCF)的理论知识,由于KCF算法具有固定的学习模式,跟踪框不能随目标尺度变化改变,因而本文将其与粒子滤波算法结合,采用粒子分布估计目标的位置。针对目标尺度的问题,设计一种由粗到精的尺度估计方法,通过实验验证,本文算法的跟踪精度远高于经典KCF算法,且对常见干扰因素具有良好的跟踪效果。

无人机执行目标跟踪任务过程中,从获取图像数据到分析和处理图像数据再到无人机外设做出对应动作调整,都具有实时性的约束,必须在一定的时间间隔内完成,而通常目标跟踪算法在此过程中耗费的处理时间占比很大。此外,对于无人机视频图像而言,目标尺寸较小,而视野范围却较大,并且视频中经常存在目标尺度变化。因此,无人机目标跟踪算法对于实时性和准确性的要求很高。而一般实时性较好的目标跟踪算法难以保证准确性,而准确性较好的目标跟踪算法又难以保证实时性。近年来,基于相关滤波器的跟踪算法以其优异的实时性成为了跟踪领域研究的热点,与基于深度学习和SVM分类器的目标追踪算法相比而言,相关滤波的实时性是其他算法比不上的。核相关滤波算法(KCF,Kernel Correlation Filter),是在2014年提出来的,这个算法在跟踪效果和跟踪速度上都让人惊讶,因而一大批的学者开始KCF进行研究,并且工业界也在陆续把KCF应用在实际工程当中。但KCF仍然具有不足之处,当跟踪过程中出现的遮挡和噪声时,KCF算法的跟踪效果较差,容易出现跟踪漂移的情况,且难以捕捉快速运动的目标。为此,本文提出一种基于粒子滤波的KCF目标跟踪算法,使用粒子运动估计逼近目标位置。为了实现对目标尺度变化的准确跟踪,采用由粗到精的尺度估计方法,在保证实时性要求情况下,达到精确性要求。

KCF跟踪算法

KCF跟踪算法是对视频图像进行基于块的密集采样,建立目标外观模型,根据循环结构的特性采集目标及其周围的样本,这也是KCF目标跟踪算法实时性较高的原因。当核函数满足一定的条件,循环矩阵通过核函数映射之后得到核矩阵,该核矩阵同样可保持着循环特性,这一性质大大提升了KCF目标跟踪算法的执行效率。利用KCF算法进行目标跟踪时,首先初始化设置目标模型,然后在下一帧的搜索窗口上进行相关滤波操作,相关滤波的输出结果中响应值最大的位置即为该帧中目标的中心位置,使用当前帧的结果来实时更新滤波器。

循环矩阵

定义一个向量x∈Rn,x=[x1,x2,x3,...,xn],通过向量x生成一个二维循环矩阵C(x)∈Rn×n,其中,x处于第一行,第二行是第一行向右循环一个位移,同时将第一行最右面的数据移动到左边,第k(k=3,...,n)行以此类推,生成的二维循环矩阵如式(1)所示:

从结构上来说,循环矩阵是一种特殊的Toeplitz矩阵,矩阵中的每一个元素可以表示为:

定义向量x,y,z,∈Rs,其相应的循环矩阵为X=C(x),Y=C(y),Z=C(z), 傅里叶变换化为x=F(x),y=F(y),z=F(z),其频域和时域运算之间的关系如式(3):

其中, ·表示点乘, *表示共轭。

因此,向量与循环矩阵的乘积 可以转换到到频域中实现,如式:

相关滤波器

由于脊回归模型具有封闭解,训练速度较快且效果较好,因此核相关滤波器使用脊回归模型训练样本得到分类器,进而检测下一帧目标,训练的样本是通过初始样本的循环矩阵循环采集得到的。

图1 循环从左向右移动采样

图1表示在图像中目标及背景区域进行水平方向密集采样,其中实线框表示初始样本,其他不同的虚线表示由初始样本每次循环向右移动一个单位得到的训练样本。通过循环矩阵采集样本数据,利用循环的特性通过傅里叶变换加快训练速度。

KCF目标跟踪算法中通常利用脊回归模型训练,分为线性模型训练方式和非线性模型训练方式。

(1)线性模型训练方式。在使用线性模型训练时,首先在初始帧中矩形框中提取关于目标的训练样本x作为分类器的输入,尺寸为m*n,那么将高斯函数生成的标签y作为分类器的期望输出:

其中,r,c分别表示距离中心位置的横向和纵向距离。

分类器输出函数定义为:

训练的过程就是最小化分类器输出函数和期望输出之间的平方误差,构建损失函数:

其中,xi为训练样本,yi为期望输出,λ为正则化项。

对公式(7)进行最小化表示:

其中,X为初始样本集合。函数l(w)对w求导可以得到系数的值。

(2)非线性模型训练方式。有些样本不能在原来空间进行分类,需要将其由低维空间变换到高维空间。样本 通过核函数映射成为φ(x)时,所求分类器f(x)中的权值w转化为对偶空间中的α系数。根据文献[5]表示,权值w为输入样本的线性组合形式:

通常,采用核函数从样本空间映射到希尔伯特空间,定义核函数为:

其中,φ(x)为希尔伯特空间,x'表示不断更新的样本。

则分类器输出函数表示为:

根据正则化最小二乘法,式(6)扩展为:

对(13)式求微分:

令Fα=0,可得出上式的最小值,同时求得α的值。

其中,I是单位循环矩阵,k是循环核矩阵,式(15)可以转化为式(16):

其中,δ=[1,0...,0]T。

根据循环矩阵的时域空域转换关系,式(16)变换为:

根据式(4),可得到:

输入下一帧图像后,对应滤波器的输出是y',响应最大值则作为下一帧目标的中心位置:

由式(19)可以看出,相关滤波器KCF跟踪目标时,只需要更新滤波器函数的参数和累积样本,常选择线性的更新方式:

其中,γ为学习因子,t尾当前帧x'(t),α'(t), 分别为更新后的滤波器参数与累积样本。

在相关滤波跟踪中,常用的核函数主要有多项式核和高斯核两类。

多项式核:

高斯核:

基于粒子滤波的KCF目标跟踪算法

KCF目标跟踪算法所采用固定的学习模式,对目标尺度变化很敏感,且实时性非常好。根据粒子滤波理论,通过随机采样不同权值的粒子可以近似任意一种的观测概率分布,粒子滤波可以很好的适应非高斯及非线性场景,但是难以选取合适的粒子数量,当选取的粒子数量较少时,严重影响跟踪的准确率;当选择的粒子数量较多时,大量的粒子会产生比较高的计算复杂度,会影响跟踪的实时性。在实际场景应用中,常常因为选取粒子的数量问题造成跟踪的目标与实际的目标存在一些误差,随着每一帧误差值的积累,最后造成跟踪漂移现象。据此,本文提出一种基于粒子滤波的KCF目标跟踪算法,对KCF目标跟踪算法得到位置响应值,采用粒子加权估计目标的运动状态;针对尺度变化问题,提出一种由粗到细尺度估计方法。目标跟踪算法流程图如图2所示。

目标位置估计

图2 基于粒子滤波的KCF目标跟踪算法流程图

本节将核相关滤波器(KCF)与粒子滤波器相结合,粒子滤波器给KCF目标跟踪算法引入一些噪声,并从噪声数据中估计目标的运动状态,来确定目标的位置。

粒子滤波器是通过带权重样本粒子集合S={S(n)|n=1,2,...,N}来逼近概率分布,采用核相关滤波器最高响应值分布函数来描述目标模型。定义每一核相关滤波器最高响应值分布的采样样本,即粒子模型为:

其中,p表示粒子初始位置, 表示粒子的横纵坐标,v表示粒子运动的速度,vx,vy分别表示粒子在x,y方向上的速度,re表示该粒子经过核滤波器后得到的响应值,π表示粒子权重。

采用系统状态方程更新粒子样本集合:

其中,A为状态转移矩阵,wt-1为高斯噪声。因此,基于粒子滤波的KCF目标跟踪算法确定目标中心位置时,具体分为以下五步:

第一步,初始化。初始化粒子样本集合st-1和目标模型,粒子初始权值为,初始状态为s0;

第二步, 再采样。根据权重π从集合中挑选N个样本。

(1)在[0,1]区间生成N个满足均匀分布的随机变量,组成数组r,并且对权重数组计算归一化累积概率

(2)对r数组中每一个元素,采用二分法搜索归一化累积概率数组,获取含有N个最小索引的数组j,使得

(3)更新粒子样本集合。

第三步,状态转移。根据公式(24)计算新的粒子集合St。

第四步,系统观测。将新粒子集合输入核KCF,得到滤波器响应值re,进而更新粒子状态:

第t帧时,

相对于初始状态s0,更新粒子集合St的速度:

计算粒子的权重值:

第五步,位置估计。将经过权重估计之后的集合输入到核相关滤波器中,最大响应值就是目标的位置:

目标尺度估计

无人机执行目标跟踪任务时,往往目标尺度会发生变化,跟踪算法必须对目标尺度变化具有鲁棒性,而核相关滤波算法中的跟踪框是固定不变的,当目标尺度增大时,只能跟踪目标的局部,丢失目标的部分信息;当目标尺度减小时,跟踪框中会加入背景的相关信息,可能导致跟踪失败。因此提出了一种由粗到细的尺度估计方法。

(1)目标尺度粗略估计

假设目标方框的初始尺寸为h0×w0,估计当前帧目标的位置,由公式(30)得到响应的最大值,记为s0。

在当前帧的目标位置分别提取三种不同大小的图像块,尺寸为(s×h0)×(s×w0)的放大图像块和的(h0/s)×(w0/s)缩小图像块,其中s>1,利用线性插值的方法调整图像块的尺寸,使其与模板尺寸相同,由公式(30)计算放大矩形框和缩小矩形框的响应值sL,sS,比较s0,sL,sS的大小,将最大值作为跟踪矩形框的粗略尺度最优估计,尺寸记为h1×w1。目标尺寸选取方式如图3所示,绿色矩形框为初始尺寸,红色虚线框为放大和缩小后的尺寸。

图3 目标尺度粗略估计示意图

(2)目标尺度精细估计

图4 目标尺度估计示意图

尺度粗略估计只选取了三种情况用于尺寸估计。一方面该方法可以继续满足实时性,另一方面能够稍提高准确性。但是实际跟踪过程中,需要对目标尺度精确估计,否则会融入背景信息,影响采集的正负样本质量,进而导致跟踪漂移现象,导致追踪失败。粗略尺度估计会对目标准确性造成一定程度的影响,为此,跟踪过程中间隔 帧图像序列对目标进行尺寸粗略的估计,得到其中最大值响应时,记目标的尺寸大小h1×w1,之后按照均匀分布随机生成尺度变换集S={si|si∈U(0.0,1.1),1≤i≤10},Si表示选取矩形框的尺度。对于任一尺度Si,在当前帧估计的目标位置出选取矩形框尺寸(si×h1)×(si×w1),将所有图像尺寸进行缩放,使所有采样尺寸与模板尺寸相同。根据公式(19)计算,得到最大响应值为最优估计尺寸,进而确定当前帧目标的尺度。综上所述,目标尺度估计的流程图如图4所示。

实验结果与分析

本文选择无人机与目标的距离在5~25m范围内的视频序列进行实验来验证本文算法的跟踪效果,所用视频序列均来源于无人机目标跟踪标准的UAV123数据集和部分VOT2013数据集。使用matlab编程实现,操作系统为Windows7,计算机配置为Intel(R)Core(TM)i5-3470CPU,内存为4.00GB。

实验参数:传统的KCF算法参数保持不变,本文算法中高斯核的标准差σ=0.5,学习因子γ=0.02,正则化参数λ=0.0001,粗略尺度估计参数s=1.05,相隔帧数k=4。

与KCF算法对比实验

本节所有实验跟踪结果中,蓝色框和绿色框分别表示本文算法和传统KCF目标跟踪算法的实验结果。

(1)部分遮挡环境下的目标跟踪CarScale视频序列中第1,130,165,178,206,231帧的跟踪结果分别为图5(a)~(f)。

以序列中的黑色汽车作为目标,Car Scale视频序列包含两类干扰因素:目标尺度变化,目标被部分遮挡。跟踪过程中,由于黑色汽车尺度逐渐增大,而KCF算法无法适应尺度变化,导致从165帧开始,跟踪逐渐漂移。由于本文采用由粗到细尺度估计方法,可以准确跟踪目标尺度变化,当目标发生局部遮挡时,可以根据粒子的状态分布预测目标位置。从图5的实验结果可以看出,针对目标被部分遮挡和尺度变化的问题,本文算法能够有效的跟踪目标。

图5 对Car Scale序列的跟踪结果

(2)目标尺度变化的目标跟踪

Boat1视频序列的跟踪结果如图6所示,第1,147,291,471,696,822帧的跟踪结果分别对应(a)~(f)。

白色船只在航行过程中,主要发生尺度变化,从451帧到686帧,有微弱的光照变化。当目标尺度减小时,KCF算法的跟踪框中增加了背景的干扰信息,如图(b)~图(e),最后出现跟踪漂移的情况,跟踪效果较差。从实验结果可以看出,针对尺度变化干扰因素,本文算法有良好的跟踪效果。

(3)旋转变化情况下的目标跟踪

Wakeboard1视频序列第1,35,75,186,296,349帧的跟踪结果如图7(a)~(f)所示。

Wakeboard1视频序列中,选择冲浪人为目标,目标在海上表演杂技动作,视频图像的背景较为复杂,第35帧时,目标下蹲准备起跳,KCF算法不能适应目的尺度变化,75帧到186帧之间,目标表演海上杂技,运动速度较快并伴随着旋转,KCF算法发生跟踪漂移,将部分背景融入目标跟踪框中,在296帧时,我们的算法能够准确跟踪目标。从跟踪结果中可以看出,尽管视频图像的背景较为复杂,目标运动变化多端,本文算法也能够对目标准确跟踪。

图6 对Boat1序列的跟踪结果

图7 对Wakeboard1序列的跟踪结果

(4)目标背景光照变化实验

Singer1视频序列的跟踪结果如图8所示,第1,84,130,213,280,351帧跟踪结果分别对应(a)~(f)。

Singer1视频序列是一个舞台上表演歌唱的场景,舞台灯光由暗转明,再由明转暗,同时镜头由近向远移动,因此跟踪中主要存在光照变化核目标尺度变化两类干扰因素。从第1帧到351帧,舞台灯光剧烈变化,由暗变亮再变暗,目标尺度逐渐变小,KCF目标跟踪算法产生跟踪漂移。整个跟踪过程中,本文算法针对目标尺度变化和光照变化干扰因素有着鲁棒的跟踪效果。

算法评价指标

图8 对Singer1序列的跟踪结果

为了进一步说明本文算法的优越性,使用定量的评价标准,即通过中心位置误差(Center Location Error, CLE)估计对跟踪算法的结果进行评价,中心位置误差计算公式为:

其中,(xi,yi)为第i帧目标的实际中心位置,()为第i帧时通过跟踪算法得到的目标中心位置,N为图像帧数。

当中心误差值小于阈值T时,认为跟踪成功,否则认为跟踪失败,无人机视频的阈值T一般设为20个像素,根据中心误差公式可知,中心偏移误差越小,跟踪准确率越高。

通过对目标中心位置误差统计,本文算法和KCF算法针对测试视频的跟踪准确率如表1所示:

经过实验对比统计,本文算法平均每秒处理26帧图像,在满足实时性要求的前提下,对于含有常见干扰因素中的视频序列,跟踪精度远远高于KCF目标跟踪算法。

表1 跟踪算法针对测试视频的跟踪准确率( T=20)

猜你喜欢
实时性滤波器滤波
基于HP滤波与ARIMA-GARCH模型的柱塞泵泄漏量预测
基于改进自适应中值滤波的图像降噪方法*
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
一款用于无线通信系统的小型滤波器天线
一种考虑GPS信号中断的导航滤波算法
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于B/S的实时用户行为检测管理系统设计与实现
合成孔径雷达图像的最小均方误差线性最优滤波