APP下载

基于核相关滤波的视频卫星目标跟踪算法*

2022-03-23刘耀胜廖育荣林存宝李兆铭倪淑燕

火力与指挥控制 2022年2期
关键词:卡尔曼滤波成功率阈值

刘耀胜,廖育荣,林存宝,李兆铭,倪淑燕

(航天工程大学,北京 101400)

0 引言

目标跟踪作为计算机视觉三大领域(检测、识别、跟踪)最重要的一部分,已经在视频监控、国防军事、人工智能、汽车导航等领域广泛应用。视频卫星作为一种新型的对地观测卫星,与传统的对地观测卫星相比较,其最大的特点是可以采用“凝视”的方式对某个区域进行观察,并且以视频成像的方式获得更多的信息,尤其适合于动态目标的检测和跟踪。分析其特性,除了能够对空中的飞机、地面上的车辆以及海上的船只获取动态信息之外,还可以观察海洋潮汐的变化,以及其他自然灾害的发生,并且以视频成像的方式观察到某一固定区域的目标变化情况,从而获得相关的信息,以便作出对应的决策。

近些年来,各国都在大力研究视频卫星,发射到高空的视频卫星数量越来越多。2007 年印度尼西亚发射“柏林技术大学卫星”,2013 年美国的Sky box 公司陆续发射Sky Sat 系列的视频卫星,2014年中国国防科技大学发射自主研制的“天拓二号”卫星,2015 年中国长光卫星公司研制的“吉林一号”卫星顺利升空。由于视频卫星拍摄的图像分辨率较低、尺寸较大、目标环境复杂,容易受到大气环境的干扰以及存在目标被遮挡等问题,使得对视频中小目标跟踪存在很大的问题。传统的目标跟踪算法主要适用于地面上的大目标跟踪,对小目标的跟踪技术几乎没有出现,因此,对卫星视频中的小目标跟踪将成为该领域的一大技术难题。

目前,国内外学者对目标跟踪算法的研究主要分为生成式跟踪算法和判别式跟踪算法。均值漂移(Meanshift)算法作为生成式跟踪的经典算法,采用基于颜色特征的核密度估计,寻找局部最优,该算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪,采用核函数直方图模型,对边缘遮挡、目标旋转,小范围的目标遮挡不敏感。但是当目标速度较快时,跟踪效果并不好,而且直方图特征在目标颜色特征描述方面略显匮乏,缺少空间信息。粒子滤波(particle filter,PF)跟踪算法是以贝叶斯推理和重要性采样为基本框架,采用一组粒子来近似表示系统的后验概率分布,然后使用这一近似表示来估计非线性非高斯的系统的状态,但是存在收敛速度较慢、容易受到局部最优值的干扰、存在一定的误差等问题。核相关滤波(kernel correlation filter,KCF)算法是根据当前帧和前一帧的信息训练出一个相关滤波器,然后与新输入的图像进行相关性计算,得到的响应图就是预测的结果,得分最高的点或者块就是最可能跟踪的区域,但当目标背景复杂的时候,尤其是跟踪小目标时出现跟踪漂移的现象,最终导致跟踪失败。由于KCF 算法使用HOG 特征和核函数提高了跟踪的速度和准确度,因此,该算法被国内外学者广泛研究。

由于视频卫星存在背景干扰、光照变化、目标较小和目标遮挡等问题,传统的KCF 算法已经不能实现对目标的跟踪,因此,本文所提出的算法通过对传统的KCF 算法进行改进,然后利用卡尔曼滤波算法解决目标的遮挡问题,使用局部模板匹配的方法对目标进行精确地跟踪,解决目标跟踪复杂和目标发生旋转的问题,实验结果显示,所提出的算法可以对视频卫星中的小目标进行实时跟踪。

1 KCF 算法目标跟踪算法

1.1 KCF 算法介绍

KCF 算法作为判别式跟踪算法中经典的算法,其思想是在目标跟踪过程中训练一个目标检测器,使用训练好的目标检测器来检测下一帧中预测的位置是否存在目标,然后再使用检测到的新结果对前一帧的训练集进行更新,从而可以更新目标检测器,在目标检测过程中利用傅里叶逆变换可以求出目标的位置,从而对目标进行跟踪。

1.1.1 构建训练集

KCF 跟踪算法通过对目标周围的区域进行循环移位产生样本数据集。假设基本向量为[,,,…,x],则循环矩阵可以表示为

其中,每一行都可以表示为训练样本,而其他行可以看作是这一行循环位移而来的。

1.1.2 构建岭回归分类器

KCF 算法一个典型的优势就是通过构建岭回归分类器,对样本数据集进行训练,找到最优的系数,使函数()=wφ()和回归目标值y之间的平方误差最小。

其中,表示防止过度拟合的正则化参数。

因此,可求得最优解系数为:

其中,X表示复共轭转置矩阵,向量表示回归目标值y

在这里引入核函数,将低纬度的数据转换到非线性高纬度,进行分离。核函数为:

使用循环矩阵和傅里叶变换可得:

其中,是相关系数,“^”表示离散傅里叶变换。

1.1.3 对目标进行检测

对于新输入的图像,可以得到分类器的输出是然后通过使用傅里叶逆变换,找到向量中得分最高的值就是每一帧的目标位置。

1.1.4 模板更新

为了能够对目标进行有效跟踪,需要对每一帧图像进行模板更新。

其中,为学习因子。

2 算法改进

2.1 卡尔曼滤波算法

卡尔曼滤波器是一种最优线性状态估计方法,即在最小均方误差准则下的最佳线性滤波器,所谓状态估计是利用数学中的方法来找到与观测数据最佳拟合的状态向量。通过结合KCF 算法,可以提高对视频卫星中目标跟踪的准确性。由于在相邻图像中目标的运动非常缓慢,可以近似认为是匀速运动,因此,当目标发生遮挡的时候,可以通过使用卡尔曼滤波对目标进行跟踪,利用卡尔曼滤波算法对目标跟踪的时间更新方程如下:

在本文中,设z表示为[,],测量噪声非常小,可以设为0,过程噪声比较大,可以设为0.01*U,U为4×4 的单位矩阵。而其他参数取值为:

通过卡尔曼滤波可以预测目标在下一帧中的位置,从而解决目标被遮挡的问题。实验表明,可以对遮挡目标进行实时跟踪,并且保证跟踪的实时性。

2.2 局部模板匹配

模板匹配是通过选取感兴趣的区域作为模板,然后在其他图片上寻找能够进行匹配的方式。在进行模板匹配时,通常选用灰度进行匹配,然后选用一种合适的相似性度量方法进行判定,选取与模板图像最相似的位置,作为目标跟踪的最终位置,在这里选用归一化平方差作为匹配的好坏。

其中,表示模板图像,表示待匹配的图像。

在本文中,进行模板匹配,选取KCF 算法进行粗跟踪之后的区域,由KCF 算法可以得到目标位置的边框,然后在边界框的上下左右4 个方向扩大5个像素,或者10 个像素,这根据实际情况来决定,之后在扩大的目标区域进行模板匹配,以此来进行目标的精确跟踪。

2.3 遮挡检测方法

目标遮挡问题是计算机跟踪领域的一大难点,如何解决目标遮挡的问题成为许多研究者的棘手的问题。而目标遮挡分为:开始遮挡,完全遮挡,遮挡结束。首先选取什么方式判断目标是否发生遮挡,然后调用卡尔曼滤波算法进行预测目标的下一个位置。根据文献[12]中的遮挡检测方法,选用峰值旁瓣比(peak to sidelobe ratio,PSR)作为目标是否被遮挡的检测方法,峰值旁瓣比的公式如下:

其中,表示响应图中的最大值,就是的峰值。旁瓣区域表示响应图中周围的区域。,表示该区域的均值和方差。通过设置相关阈值(本实验中设置为0.35,经过多次实验测试获得),当PSR 大于阈值时,可以认为是目标没有发生遮挡;否则,目标发生遮挡。

2.4 算法流程图

3 实验结果与分析

实验平台在Inter Xeon E3-1240 v5 3.50GHz CPU,16GB RAM,Python 3.7 上进行实验,并保留原始KCF 算法默认的参数:正则化参数为0.000 1,模型更新参数为0.012。本实验所用的视频数据集都是由“吉林一号”视频卫星拍摄,选择背景复杂、遮挡目标、光照变化等不同情况的3 组视频数据集进行测试,为保证算法的有效性,选用中心位置误差(CLE)、距离精度和重叠率作为对本文所改进算法的评价指标,而中心位置误差和成功率可以用来判断目标跟踪的准确性。中心位置误差表示真实值的中心位置和本文算法对目标跟踪获得的中心位置之间的欧氏距离,距离精度表示中心位置误差小于阈值的帧数占总帧数的比例,文献[15]中设置的阈值为5 个像素,而在这里设置阈值为3 个像素,因为视频中的目标很小,仅占很少的像素,与地面上的目标相比,阈值设置应该更小。重叠率定义为真实的边界框与本文算法对目标进行跟踪获得的实际边界框的重叠部分占两个边界框的面积之和的比例大于某一阈值(本文实验中设置为0.85)的帧数占总帧数的百分比。边界框的重合率公式为:

其中,S表示真实值的边界框,S表示本文算法跟踪的实际边界框,∩表示交集,∪表示并集。当重叠率超过0.85 时,可以认为当前帧为成功帧,再计算成功率,即成功跟踪的帧数占所有帧数的百分比。

由于视频卫星拍摄的图像尺寸都很大,长和宽大约是2 000 像素和2 000 像素的,如图2 所示。

图1 本文算法流程图

图2 大尺寸的视频卫星图像

于是将其裁剪出目标跟踪的部分作为结果。如图3 所示。

图3 目标跟踪结果展示

图像的成功率曲线图和精度曲线图如下页图4所示。

表1 是对原始的KCF 算法和本文改进的算法从成功率、精度图、AUC(ROC 曲线下的面积,用于直观地评估跟踪器的好坏,值越大越好。)3 个方面进行评价。

视频卫星中的运动目标(飞机)背景复杂,目标较小,提取其特征很容易被相似的背景干扰,而进行模板更新的时候就会造成一定误差,最终会导致目标跟踪失败。从图3 目标跟踪的结果来看,红色边界框表示本文算法跟踪的结果,绿色边界框表示由原始KCF 算法进行目标跟踪的结果,左上角的数字表示第几帧图像。从图中可以看出,两种算法在刚开始进行目标跟踪的时候,跟踪的准确度差别不大,但随着目标背景越来越复杂,两种算法的跟踪效果就显而易见,另外从图4 两种曲线图和表1 可以看出,本文所提出的算法明显优于原始的KCF 算法,表1 中的数据从成功率、精度和AUC 来看,本文算法明显高于KCF 算法,因此,对于视频卫星的运动目标来说,尤其是背景比较复杂的运动目标,本文所提出的算法可以有效地对目标进行跟踪,并且提高了跟踪的准确度。

图4 算法跟踪的效果评价图

表1 两种算法进行比较的结果

对运动中的车辆进行目标跟踪,原图像如图5所示,车辆在公路上的运动图像。由于原图太大,在后期跟踪过程中,裁剪出相应的部分用进行实验分析,如图6 所示。

图5 运动车辆原图

图6 运动目标跟踪结果

为了对视频卫星中的目标跟踪结果进行判断,选择用成功率曲线图和精度曲线图来进行判断,如图7 所示。

图7 跟踪算法的效果评价图

视频卫星拍摄的地面上的运动目标,由于距离很远,所以目标只能以白色的运动目标呈现出来,具体的形状显示不出来,因此,在对目标跟踪的时候,不像传统的目标具有特定的形状,并且目标比较大,因此,视频卫星中的目标很容易被其他干扰物影响,进而影响其跟踪精度。从图5 来看,本文改进的算法可以有效地提高目标跟踪的准确度,而原始的KCF 算法同样在刚开始的时候,跟踪效果比较好,随着背景的复杂性增加和其他干扰物的存在,使得原始KCF 算法跟踪的目标发生了目标漂移,从而导致目标跟踪失败。而从图6 的两种曲线图来看,本文的算法可以很大程度解决背景复杂的问题,可以对目标进行有效跟踪,并且不会发生漂移现象,跟踪的精度和成功率都高于原始的KCF 算法。而表2 中的数据表示的是百分比,不管是AUC,成功率还是精度,都高于KCF 的数值,因此,综上所述,本文改进的算法无论是在精度还是成功率都高于原始KCF 算法,可以有效地对视频卫星中的目标完成实时跟踪的任务,并且还提高跟踪的准确度。

表2 两种算法的定性比较

对视频卫星中遮挡目标的分析,遮挡问题一直是目标跟踪领域的难点,由于视频卫星中的目标比较小,因此,很容易被遮挡。如图8 所示,是原始图像,后期的图像是在原始图像的基础上裁剪而来,以便可以进行展示和观察出目标跟踪的效果。

图8 原始图像

在原始图像的序列集上对目标的跟踪区域进行裁剪,然后进行结果展示,如图9 所示。

图9 目标跟踪结果展示

视频卫星中对遮挡目标的处理,如图9 所示,红色是本文算法进行跟踪的结果,绿色是原始KCF 算法进行跟踪的结果。在刚开始进行跟踪的时候,两种算法都能很好地对目标进行跟踪,但当遇到障碍物的时候,如图所示遇到大桥的遮挡,原始的KCF算法对遮挡的目标无法再进行跟踪,就出现图中所示的情况;而本文算法由于结合卡尔曼滤波算法,当目标进行遮挡的时候,由于PSR 小于设置的阈值,可以启动卡尔曼滤波算法预测遮挡目标在下一帧的位置,从而完成对遮挡目标的跟踪。从图9 可得,原始KCF 算法结合卡尔曼滤波可以对目标进行遮挡,并且在遮挡结束时,可以重新对目标进行跟踪,没有出现跟踪失败的情况,并且从下页表3 中可得到,本文算法的成功率和精度都高于原始KCF算法。图10 表示视频的帧数与峰值旁瓣比的关系,下面的红色部分表示设置的阈值(本文设置阈值为18),而阈值的设置是经过多次实验而得来的,具有一定的准确性,低于阈值的部分表示目标在跟踪过程中发生了遮挡,此时调用卡尔曼滤波算法进行跟踪。实验结果表明,本文改进的算法对目标的遮挡问题可以进行处理,并且保证了目标遮挡的实时性和有效性,还提高了目标跟踪的精度,可以很好地完成对视频卫星中小目标的跟踪任务。

图10 目标跟踪的评价图

图11 视频帧数与PSR 的关系

表3 两种算法的比较结果

4 结论

对于卫星视频中运动的小目标背景复杂和小目标被遮挡等问题,本文提出的算法通过结合卡尔曼滤波算法来预测遮挡目标在下一帧图像中的位置,从而完成对遮挡目标的跟踪,另外结合归一化平方差匹配方法对目标进行精确地跟踪,从而提高目标的精确度和成功率。实验表明,本文所提的算法可以对目标进行实时性跟踪,克服复杂背景对目标的干扰,同时也解决了目标被遮挡的问题,实现对目标的精准跟踪。

猜你喜欢

卡尔曼滤波成功率阈值
成功率100%,一颗玻璃珠入水,瓶子终于坐不住了!
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于无迹卡尔曼滤波的室内定位系统
卡尔曼滤波在农电网系统中的研究分析
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
非平稳声信号下的小波变换去噪方法研究
院前急救心肺复苏成功率的影响因素研究
优化急诊护理流程对提高急诊患者抢救成功率的影响
土石坝坝体失稳破坏降水阈值的确定方法
一种改进小波阈值去噪法及其仿真