基于超像素的单目标跟踪算法研究

2022-05-30 10:48沈嘉良邱晓荣龚宇杰陈昊成晓佳
电脑知识与技术 2022年29期
关键词:粒子滤波

沈嘉良 邱晓荣 龚宇杰 陈昊 成晓佳

摘要:运动目标跟踪是目前人工智能领域计算机视觉中的热门研究方向之一,被广泛应用于视频监控、无人驾驶、人机交互等各个场景。但传统的运动目标跟踪算法,通常会因为跟踪目标大面积遮挡、明暗变化、快速运动、尺度变化等干扰因素而缺乏准确性和稳定性。为此针对原有的运动目标跟踪算法做了优化,通过改变SLIC超像素分割算法 中超像素分割块数、模型库更新频率以及粒子滤波算法中抛洒的粒子个数等参数,确定了一种在复杂环境中最具普适性的参数组。

关键词:运动目标跟踪;超像素;粒子滤波

中图分类号:TP18      文献标识码:A

文章编号:1009-3044(2022)29-0027-04

1 引言

视觉是人类感知外部世界的重要方式之一,人类通过视觉感知物体的颜色、大小、距离和形状等重要的信息。但在物体数量庞大、周围环境复杂等情况下,人的视觉系统无法足够准确地处理相关信息。因此,人类建立了计算机视觉学科。计算机视觉模拟人的视觉系统,可以代替人眼在不同复杂的环境中进行物体的准确识别和精确跟踪,已经被广泛应用在农业生产[1]、智能建造[2]、公安监控[3]、智慧医疗[4]等各个领域。

计算机视觉技术正在飞速发展,在各个领域都有着非常重要的应用。但在实际应用中,由于光照变化、快速运动、长时间遮挡等因素的影响,计算机视觉技术的实现效果会受到一定程度的影响。因此,如何提升计算机视觉技术在实际应用中的准确性和鲁棒性是一项非常重要的研究内容。

2 SLIC超像素分割算法

SLIC算法是一種利用图像各像素点的颜色信息和位置信息对像素点进行分组的超像素分割方法。彩色图像的像素点通过SLIC算法转换为CIELab颜色空间和XY坐标系下的五维特征向量,然后为特征向量建立距离度量指标,最后根据该指标对图像进行局部聚类。

2.1 SLIC算法步骤

(1)初始化聚类中心:对于一张含有[N]个像素的图像,预设分割为[K]个像素区域,然后在图像中均匀分配[K]个聚类中心,初始的每个超像素大小为[N/K],相邻聚类中心的距离近似为[S=NK]。

(2)重新选取聚类中心:将初始聚类中心移动到n×n(n=3时的分割效果最好)邻域内的最低梯度位置,以避免最终超像素定位在图像边界上。

(3)聚类:由于算法预期得到的单个超像素大小为[S×S],于是在每个聚类中心[2S×2S]邻域范围内进行搜索,图像中的每个像素点将会同时被多个聚类中心的搜索范围覆盖,再计算每个像素与这些聚类中心的距离寻找最佳匹配点。每个像素坐标都可以通过向量[[l,a,b,x,y]]表示,计算过程如下:

[dc=(lj-li)2+(aj-ai)2+(bj-bi)2]

[ds=(xj-xi)2+(yj-yi)2]

[D'=dcNc2+dsNs2]

上式中[l],[a],[b]像素在CIELAN颜色空间中的位置,其中[l]表示像素亮度值,[a]和[b]表示像素颜色,[x]和[y]表示图像中像素的横坐标和纵坐标。通过最大空间距离[Nc]和最大颜色距离[Ns]将像素的空间距离和颜色距离归一化,可以避免因为像素块的大小导致的空间相似度和颜色位置相似度的权重发生变化,最终得到度量距离[D']。

(4)迭代优化:取聚类区域中全部像素点的五维向量均值作为新的聚类中心坐标来代替原来的聚类中心,新旧聚类中心的替换便是一次迭代,并依据L2准则得到新旧聚类中心距离的残差。多次重复此迭代过程,当新旧聚类中心距离的残差趋于收敛时,可得到较优的结果。

2.2 SLIC算法优缺点分析

经过多年的实验和应用发现,SLIC算法在多数情况下能够生成相对均匀规则的超像素,在运用过程中只需设置一个参数K控制分割的超像素数量。与其他超像素算法相比,SLIC算法在运行速度和边界维护方面都比较优秀。然而,在分类过程中,如果一个像素被错误分类,当迭代次数不断增加,聚类区域可能会向错误的方向偏移,形成误差扩散,最终生成错误的超像素。

3 粒子滤波算法

3.1基本思想

粒子滤波的基本思想是用一组粒子大概评估系统的后验概率分布,然后使用它演算推测非线性系统的状态,这些粒子被称为“粒子过滤器”。在粒子状态相对稳定且不随时间变化的前提条件下,可以假设系统在[k-1]时的后验概率密度为[p(xk-1)|zk-1]。依照确定好的规则,从观测之中随机选取n个采样点。在获得时间k的测量值后,更新系统的状态和时间,这n个粒子的后验概率密度可以近似表示为[p(xk|zk)]。

从粒子实际分布状态的统计数据中可以得出结论,在一定范围内,随着初始投放的粒子数量增加,粒子的概率密度函数图像逐渐接近状态概率密度函数图像,逐渐达到概率分布的最优效果。

3.2具体做法

首先,任意状态下的状态方程如下:

[x(t)=f[x(t-1),u(t),w(t)]]

[y(t)=h[x(t),e(t)]]

该方程中,[x(t)]表示时间t时刻粒子的状态,[u(t)]为控制量,[y(t)]表示实际的观测方程。[w(t)]和[e(t)]分别是环境状态噪声和实际观测噪声。

(1)初始状态:由于开始时[x(0)]的分布并不知道,于是可以假设[x(0)]是随机均匀地分布在整个给定的状态空间中。

(2)预测阶段:把样本里所有的粒子初始分布状态依次输入状态转移方程中,之后根据状态转移方程和控制量由计算机演算并记录下预测粒子的状态。

(3)校正阶段:在经历上一步记录推测粒子状态后,使用观测方程重新对获取的粒子进行演算和记录。即当第n个粒子达到时获得的观测值[y(t)]与上一步记录下来的推测值对比,相除获得的比值作为这个粒子的权重。通过这种方式,如果继续计算所有粒子,则获得观察到的y粒子的可能性越大,当然权重越高。

(4)重采样:复制大部分重量较高的粒子,仅保留少数较轻的粒子,以此来模拟粒子运动的真实状态[x(n)]。用这些保留下来的粒子表示实际情况下粒子的分布,在下一次循环中,将这些保留下来的粒子作为粒子初始状态输入[y(n)]中,从而获得下一步新预测粒子的状态。

3.3 粒子滤波优缺点?分析

该算法在某种程度上解决了非线性滤波问题在高斯分数上随机数的限制,同时也解决了样本粒子数不足的问题,在许多领域上有着研究的价值。但是,粒子数目越多,计算结果越精准,计算机需要处理的数据量也会陡增。随着迭代,一些粒子的重量变得非常小,也会造成导致粒子耗尽。

4 实验测试

4.1 实验方式

在本次实验中,笔者使用特定五组参数配置对上文提及的四个序列进行跟踪测试,参数组中的参数类别分别为超像素分割块数、首次训练帧数、抛洒粒子数及更新频率,分别为:(100,4,800,30)(200,4,700,25)(300,4,600,20)(400,4,500,15)(500,4,400,10),定义为配置1-配置5。因为绝大多数图像帧序列在第四帧过后会出现明显的位置、形态、速度变化,故首次训练帧数固定为4帧,而更新频率由每隔n帧更新一次特征像素库来体现。

4.2 数据分析

定量分析中,本文采用两种评价标准[5]:一种是中心距离误差标准,它定义为目标实际位置与手动标注位置之间的均方根。表1给出了不同参数配置下算法在每段图像帧序列中中心位置误差的平均值,最小值已用黑色加粗字体标出。由表1可知,算法在(300,4,600,20)参数配置下表现最佳。

表1   算法在不同参数配置下中心距离误差

[序列 配置1 配置2 配置3 配置4 配置5 Bird2 85.334 10.453 11.387 11.205 12.291 Bolt 61.495 9.634 8.279 8.012 259.130 Lemming 154.588 77.392 86.801 89.113 8.775 Woman 12.158 12.707 13.066 13.253 15.577 ]

另一种准则是重叠成功率[S=|rt?ra||rt?ra|],其中[?]和[?]分别表示两个区域的交集和并集,[|·|]指其区域内的像素点个数。当S>0.5时,认为算法成功跟踪到了目标。表2给出了不同参数配置下算法在每段图像帧序列中重叠成功率的平均值,最大值已用黑色加粗字体标出。可以看出在不同类型的序列中,不同的参数配置对跟踪效果具有较大影响。

4.3 结果应用

根据以上5组参数配置在不同图像帧序列中的跟踪效果,进一步调整参数配置并进行运行跟踪,最终确定了(300,4,600,10)为最具普适性的参数配置(后文中将其命名为OURS),在具有复杂影响因素的图像帧序列的单目标跟踪中能实现较小的中心距离误差和较高的重叠成功率,具有一定的鲁棒性。

5 算法对比

笔者使用具有最高普适性参数配置的算法(OURS)与传统的CSK算法[6]、KCF算法[7]及MOSSE算法也进行了定量和定性两方面的比较。

5.1 定量分析

(1)中心距离误差。如图3所示,各子图显示了4种算法在指定图像帧序列中实时跟踪到的目标中心点与初始标定的目标中心点之间的像素距离。

(2)重叠成功率。表3顯示了4种算法分别对应4个标准图像帧序列的重叠成功率,并用黑色加粗字体标识了各视频图像帧序列的最优算法。

5.2定性分析

实验1:Bird2图像帧序列帧数少,但其中的运动目标在快速运动的同时,受到重度遮挡、平面外旋转等内外部因素的影响。例如:在第20帧处目标遭受重度遮挡后,MOSSE算法发生了极大的偏移,其余3种算法能够实现较好的跟踪效果,其中KCF算法的跟踪精度最高。第60帧处目标更改移动方向,整体平面外旋转180度,OURS算法和KCF算法能够迅速地由一定的漂移状态重新较为精确地定位到目标。第80帧处目标大幅度变换姿态,OURS算法的跟踪精度最高。

实验2:Bolt图像帧序列目标在快速运动中主要受到光照变化、形态改变、平面外旋转等干扰因素的影响。例如,第40帧目标突然进入明亮环境,CSK算法和MOSSE算法均完全跟丢了目标,只有OURS算法和KCF算法能较为精确地跟踪到目标。第200帧目标出现了运动模糊和形态变化,OURS算法和KCF都能精确定位到目标,OURS算法在应对尺度变化方面略有欠缺。第300帧目标发生平面外旋转,仅有OURS算法和KCF算法能精确跟踪到目标。

实验3:Lemming图像帧序列帧数大且极为复杂,运动目标出现重度遮挡、尺度变化、快速移动、平面外旋转、超出视野等干扰因素的影响。例如,在400帧目标刚刚走出遮挡后进行快速运动,KCF算法和MOSSE算法均已出现严重偏移跟丢目标,只有OURS算法和CSK算法能准确跟踪到目标。在700帧目标在快速运动的同时发生尺度变化,此时仅有OURS算法可准确跟踪到目标。在1143帧目标发生平面外旋转,此时只有KCF算法跟踪到了目标,但总体来看,OURS算法在此复杂序列中具有最好的跟踪效果。

实验4:Woman图像帧序列的运动目标受到了遮挡、光照变化、尺度变化等干扰因素的影响。例如,在150帧左右目标受到长时间遮挡,此时只有OURS算法和KCF算法能够准确跟踪到目标。在240帧,目标所处环境光照突然变量,此时MOSSE算法已经完全跟丢目标,其余3算法均能实现较为精确的跟踪。在450帧,目标尺度突然变大,4种算法均能较为精确地定位到目标,OURS算法的精确度最高。

6 结束语

虽然改变一种目标跟踪算法中的参数配置会对跟踪效果起到一定的效果,但是不能从本质上改变其跟踪能力和鲁棒性。目前各种算法的差距比较大,都有着自己一定的适用环境,接下来笔者也会改变研究方向,结合深度神经网络、机器学习等先进技术进行进一步的研究。

参考文献:

[1] 黄筑斌,吴隽.计算机视觉在我国水稻生产中的应用研究概述[J].农技服务,2021,38(12):44-48.

[2] 房霆宸,杨佳林,贺洪煜.基于计算机视觉的智能化建造技术研究与应用[J].建筑施工,2021,43(12):2596-2597,2603.

[3] 于大勇.人工智能在公安视频监控领域的应用研究[J].现代信息科技,2019,3(13):91-92,97.

[4] 曲晓,吴乃蓬.计算机视觉在医疗领域的应用效果观察[J].中国卫生产业,2020,17(13):168-170.

[5] 邱晓荣,彭力,刘全胜.基于超像素和判别稀疏的运动目标跟踪算法[J].计算机工程与应用,2018,54(15):1-5.

[6] Sun K,Li X W,Shi W W.The fusion of adaptive color attributes for robust compressive tracking[J].Wireless Personal Communications,2018,102(2):879-894.

[7] Henriques J F,Caseiro R,Martins P,et al.High-speed tracking with kernelized correlation filters[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(3):583-596.

【通联编辑:唐一东】

猜你喜欢
粒子滤波
基于粒子滤波算法的视频目标跟踪研究
数字滤波技术的现状与发展
可见光与红外CPCT彩色图像融合研究与实现
OCV处于平台期的汽车锂电池SOC估算的研究
粒子滤波法在移动物体定位中的应用
基于智能粒子滤波的多传感器信息融合算法
基于重采样粒子滤波的目标跟踪算法研究
复杂场景中的视觉跟踪研究
一种针对海面弱小目标的检测方案
交互多模型的Rao—Blackwellized粒子滤波算法在多目标跟踪中的应用