基于多算法融合的抗遮挡目标跟踪算法

2021-12-29 03:55林颖汤文兵
现代计算机 2021年31期
关键词:检测器卡尔曼滤波线性

林颖,汤文兵

(安徽理工大学计算机科学与工程学院,安徽 232001)

0 引言

随着计算机科技的进步,生活中不断产生着大量的视频图像数据,如何对这些视频图像信息进行处理,使得计算机能够将视频图像转化成数字信息并进行逻辑计算分析,受到了研究人员的广泛关注,这就是计算机视觉。对运动中的目标进行定位和追踪[1]是计算机视觉领域的一个重要组成部分。目标跟踪在军事、医疗、体育、交通和工业中都有着广泛应用,但是由于跟踪过程中,目标形变、光照变化、目标遮挡、相似背景等多种复杂的跟踪情况使得目标跟踪成为一个富有挑战性的课题。

单目标跟踪是从二维的视频序列中对物体进行分析和追踪,由于深度信息的缺乏,容易产生目标自身遮挡或障碍物遮挡。当观测物体被严重遮挡时,跟踪器的置信度大幅度降低,目标的大部分特征的缺失容易导致跟踪漂移或者失败。遮挡问题严重影响了跟踪的精度和效率,为了提高跟踪算法的鲁棒性,亟需提出一个抗遮挡的目标跟踪算法来满足实时性的跟踪需求。

受现有的抗遮挡跟踪算法的启发,本文提出了一个基于多算法融合思想的抗遮挡目标跟踪算法。在基于卡尔曼滤波的Mean Shift算法基础上增加了一个SVM检测器。当判断目标被长时间严重遮挡或者目标丢失时,激活SVM辅助其他跟踪器进行目标的检测重定位。

1 基于卡尔曼滤波的Mean Shift算法

Mean Shift算法[4]采用的是颜色直方图作为目标模型的特征,通过不断迭代向量直到收敛于目标的实时位置。因为实时性好,抗形变、抗旋转、抗遮挡等优势而被广泛应用在实时目标跟踪中。但是在跟踪时,如果目标运动速度过快,视频序列相邻的两帧目标并不重叠,那么Mean Shift算法很难追踪到目标,而且如果密度梯度不是目标形成的,那么收敛到的位置也不是目标所在的位置,此时跟踪就会失败。因为算法采用了加权核函数直方图模型,增加目标中心像素权值并且减小边缘像素权值,所以当局部被遮挡时,对算法的精确度干扰不大,但是当物体被严重遮挡时,目标信息严重缺失,此时通过单一的搜索密度极值区域不一定能准确判断目标位置。

针对这些问题,有的学者将Mean Shift算法与卡尔曼滤波器相结合,用卡尔曼滤波器根据目标前一帧的信息预测目标当前状态,得到目标可能存在的位置点,作为均值漂移算法的初始迭代位置。

卡尔曼滤波器有着计算简单和鲁棒性的优点,由于卡尔曼预测过程只需要由前一帧的目标运动信息等估计出下一帧目标的状态信息,因此算法只需要保存目标的上一帧状态信息,即只需要很小的存储空间来存储历史信息,这使得卡尔曼滤波器具有存储空间需求小、计算复杂度低且速度快的优势。

采用卡尔曼滤波器预测到的目标位置比直接用前一帧计算得到的目标位置作为初始迭代点更加准确。这样不仅能够减少迭代次数,从而减少计算量,而且可以解决算法在目标高速运动时容易导致跟踪丢失或者失败的问题。此外,当目标被严重遮挡时,能够用卡尔曼滤波器结合之前帧中的目标信息,对目标位置进行预测,可以有效地解决障碍物遮挡问题。

图1 基于卡尔曼滤波器的Mean Shift算法流程

2 本文算法

2.1 SVM算法

SVM[5](support vector machine,支持向量机)是一种二分类的模型。支持向量机主要有线性和非线性两大类,其中线性问题又可以分为线性可分和线性不可分。与贝叶斯分类器、决策树分类器等常见分类器相比,具有更高的泛化性能,能够更好地应对非线性的二分类问题,能够很好地处理高位特征。其主要思想是找到空间中一个超平面,满足将所有正负数据样本划分开,且所有样本到这个超平面的总距离最短。

等妮儿她娘缓过来,瞿医生劈头盖脸就骂了我一通,你不知道这个时候不能同房啊?你是想要她的命啊!我没敢争辩,怕当着外人说漏馅了,家丑啊。

也就是说支持向量机算法的最终目的就是寻找到一个超平面,将所有的正负样本数据区分开,面对线性可分问题可以直接寻找超平面。在实际任务中,由于干扰因素或者样本数据本身是线性不可分的可能会导致线性不可分问题,线性不可分的情况通常是绝大多数正负样本是线性可分的,但是由于少数噪声干扰等因素导致线性不可分的问题。针对这个问题,SVM模型放宽了自身标准,允许某些数据分类“出错”,具体方法是将松弛变量引入分类约束条件公式中,并且找到尽可能小的松弛变量,同时引入放宽力度的常数作为“惩罚力度”。也就是说线性可分和线性不可分问题都可以变成线性问题。

但是在现实任务中,不是所有的问题都是线性问题,即不一定存在一个超平面能够将所有的正负样本数据。针对这个问题,SVM算法引入了核函数的概念,将原本线性不可分的样本映射到更高一层的多维空间,使得在原来多维空间找不到的超平面可以被找到,也就是使得样本数据线性可分。SVM常用的核函数有线性核函、径向基核、Sigmoid核函数等。可以很好地处理非线性问题,是SVM的最大优势。

2.2 SVM检测重定位

目标检测算法的目的是在图像上预先找出目标可能出现的位置,通过各种特征进行模板匹配,从而检测到目标所在位置。由于在遮挡过程中,目标的运动信息可能发生改变,导致目标可能出现的位置不确定,从而有大量的窗口需要匹配,再加上目标自身的形变,计算量更大。因此可以将检测算法与目标跟踪算法相结合,在有限的区域内预测目标的位置和尺度变化。

在SVM检测算法中,首先对检测器进行参数更新,在目标跟踪过程中,首帧需要手动选择跟踪目标,此时首帧的训练样本不足,所以需要在跟踪目标附近随机选取大量样本,根据目标占据采样面积的比例来划分正负样本。

其中,I表示采样框中目标区域的比例,S o表示目标区域的大小,S r表示采样区域的大小。在本文算法中,为了防止SVM检测器过拟合,把I值划分为三个区间:当I值大于0.8,该采样区域视为正样本,当I值小于0.3,视为负样本,当I值大于0.3小于0.8,该区域不采用。即分类标签如下:

本文SVM检测器首帧的训练流程如下:

(1)根据首帧手动选择目标的结果,在图像上进行随机采样,根据目标面积占据采样面积的比例来划分正负样本。

(2)对所有正负样本进行归一化操作,使得目标尺度归一化为指定大小。

(3)提取所有正负样本特征,根据提取样本特征和该样本的标签进行SVM检测器训练,得到相应的参数。

SVM检测器从初始帧开始训练,进行正负样本的采样。为了保证检测器模板的准确性,在后续的跟踪过程中,每经过5帧高置信度跟踪,更新一次SVM检测器参数。当检测到目标被长时间严重遮挡或者丢失时,激活SVM检测器。

2.3 检测遮挡机制

Mean Shift算法的基本流程是分别计算目标和候选目标模型的概率密度,并计算它们的相似度,找到使得相似度取最大值的位置,为目标在这一帧的位置。因此本文选择基于颜色特征直方图的遮挡因子来判断被局部遮挡和完全遮挡。

目标模型的颜色特征直方图概率密度表示为q={q u}u=1,…,m,公式计算如下:

候选目标模型概率密度表示为:p={pu}u=1,…,m,公式计算如下:

其中y表示当前帧候选目标区域像素位置的中心点,h为核剖面半径,在Mean Shift算法中,核函数的带宽通常是固定的,取窗宽的一半,C h为归一化常数。

若y0为目标当前位置,令:

当t u>1时,判断目标被部分遮挡,当t u=-1时,目标被全部遮挡。

其中,λ∈[ 1,∞),为遮挡程度参量,设遮挡因子occ为当occ>ζ(ζ∈(0,1)),则认为目标被遮挡。

3 实验结果及分析

为了验证本文算法对目标遮挡问题有更好的跟踪效果,选取了OTB数据集中有代表性的几组发生遮挡的视频序列进行实验分析,并与传统的Mean Shift算法和基于卡尔曼滤波的Mean Shift算法进行对比,从实时性和鲁棒性上对三种算法的性能进行对比分析。

3.1 部分遮挡状态下的目标跟踪结果对比

为了验证本文算法的抗遮挡性能,选取OTB数据集中的Woman视频序列进行仿真实验。为了避免光照变化问题对算法的影响,选取了同一光线强度下视频序列跟踪效果的对比,是一个行人被汽车局部遮挡的到脱离遮挡的过程,分别取其中四帧做效果展示。如图2所示,在目标被局部遮挡时,四种算法的跟踪误差明显变大,但是由于Mean Shift算法有一定的抗遮挡性,所以在目标被遮挡时,仍然能够成功跟踪到目标,但是跟踪效果较差。而卡尔曼滤波和本文的算法由于有位置预测的能力,在整个遮挡过程中表现良好。当目标脱离遮挡时,三种算法都找回了目标并继续跟踪,误差逐渐减小。实验表明三种算法对局部遮挡都具有一定的鲁棒性。

图2 Woman视频序列跟踪结果对比

为了进一步验证本算法改进后的效果,对10次跟踪平均误差进行统计,具体方式是对视频序列每帧手工选定目标实际位置中心点与算法跟踪位置中心点计算欧式距离。图3给出了传统Mean Shift算法和本文算法在10次跟踪后更细致的平均误差对比,由此可以看出本文算法在复杂情况下具有更高的稳定性。

图3 平均跟踪误差比较

3.2 严重遮挡状态下目标跟踪结果对比

为了进一步验证本算法在遮挡情况下的跟踪效果,选取OTB数据集[6]中一组严重遮挡情况下的视频序列Coke,是一瓶可乐被叶子严重遮挡到完全遮挡最后脱离遮挡的过程,选取250,255,270,280帧展示效果。如图4所示,Mean Shift算法由于目标模型被污染,跟踪窗口漂移到了障碍物上,导致跟踪失败。而基于卡尔曼滤波的Mean Shift目标跟踪算法和本文算法在目标被完全遮挡时可以预测目标位置进行追踪,在结束遮挡后,仍然能够继续进行追踪。但是通过两个算法在270帧的对比可以发现,本文算法的误差率减少6.2%。当目标脱离完全遮挡时,本文的算法能更加准确快速地捕捉目标,要优于基于卡尔曼滤波的Mean Shift目标跟踪算法。

图4 Coke视频序列跟踪结果对比

4 结语

本文针对跟踪过程中的遮挡问题,基于多算法融合的遮挡算法思想,提出了一种将Mean Shift、卡尔曼滤波和SVM相结合的抗遮挡算法。通过实验表明,本文提出的多算法融合的改进算法能够在满足实时性的情况下对局部遮挡和严重遮挡的目标进行跟踪,很好地解决了目标跟踪过程中的遮挡问题。

本文提出的算法在一定程度上相较于其他遮挡算法具有更好的跟踪效果,较原算法提升了在遮挡情况下算法的精确度。但是依然存在一些不足和提升空间,有待于进一步的学习、研究和改进。

首先本文的研究方向是单目跟踪问题,并没有考虑到多目标跟踪中更复杂的遮挡情况,还需要进一步提升;其次是并没有对目标检测方向进行深入研究,选择了SVM检测算法来作为检测器,所以后续需要对主流的目标检测算法进行深入研究,对目标检测问题进一步完善;最后是本文更侧重于在满足实时性和实用性的情况下改进算法,所以没有过度研究基于深度学习模型的跟踪算法,因此,在后续的研究中可以更多的关注基于神经网络方向的跟踪模型。

猜你喜欢
检测器卡尔曼滤波线性
基于无迹卡尔曼滤波的室内定位系统
卡尔曼滤波在农电网系统中的研究分析
关于非齐次线性微分方程的一个证明
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
非齐次线性微分方程的常数变易法
用于录井专用气相色谱仪的FID检测器
线性耳饰
高效液相色谱法应用中常见问题与处理
基于改进连续自适应均值漂移的视频目标跟踪算法