朱伟杰,唐晶磊,王 栋,冀马超
(1.西北农林科技大学信息工程学院,陕西杨凌712100;2.东北大学计算机科学与工程学院,辽宁沈阳110169)
目标跟踪是计算机视觉领域重要的研究方向之一,根据目标表观建模的方式不同,目标跟踪方法可以分为生成式(generative)模型方法和判别式(discriminative)模型方法。比较著名的生成式模型方法有粒子滤波方法和 mean-shift算法[1]等,文献[2]结合导向滤波的基本思想对粒子滤波进行了改进。判别式模型方法的核心思想是训练一个分类器来判别目标和背景,目标所包含的信息都在训练分类器所需的正负样本中,代表性的方法有结构化输出SVM[3]、boosting[4]和深度学习方法[5]等。 由于生成式模型方法忽略了背景信息,仅着重于描述目标本身,所以在处理视频序列相似性干扰和背景复杂等跟踪难点方面,判别式模型方法具有更高的跟踪精确度和更强的鲁棒性。
由于速度快且准确度高,近年来基于相关滤波(CF)的跟踪算法受到很多关注。 Bolme等人[6]首次提出了最小化输出均方误差和MOSSE跟踪算法。该算法利用目标图像训练滤波器,视频帧中与初始化目标越相似,得到的响应值越大。相关学者对MOSSE算法进行了多种改进,包括加入了颜色特征信息[7]和自适应尺度的版本[8]。 Henriques JF等人提出了核相关滤波器(kernel correlation filter)跟踪算法[9],使用目标周围区域的循环矩阵采集正负样本,利用岭回归训练目标检测器,但对跟踪过程中目标被遮挡时的问题没有很好的解决。
尽管相关滤波跟踪算法研究已取得了巨大的进展,但由于图像灰度值、纹理和直方图等低层特征不能很好的描述目标表观模型,仅考虑目标本身而不添加其上下文信息,则难以实现遮挡、背景复杂等情况下的准确跟踪。因此,针对上述问题,本文改进了经典的核相关滤波算法:在目标出现严重遮挡和表观模型发生巨变导致信息丢失时,添加目标上下文信息预测其位置,抑制由于错误表观信息导致的目标漂移。同时,结合超像素级特征提取方法,提高了跟踪的效率和准确度,同时满足实时性的要求。
x为输入的图像块或者提取的特征,矢量w为相关滤波器,∧为某向量的傅里叶变换,根据卷积定理,循环卷积等于频域元素之间的乘积,如式(1)所示:
其中,F-1为傅里叶变换的逆变换,训练滤波器时,首先定义一个期望的相关输出y。然后用目标的实例和相关滤波器来满足式(2):
由式(2)可得:
Henriques J F[9]提出的核相关滤波跟踪算法(KCF)是在CSK算法基础上加了HOG特征使得效果大大提升,它根据高斯函数 ym,n,(m,n)∈{0,1,…,M-1} ×{0,1,…,N-1},通过输入的包含 M×N个像素的图像块xm,n的循环移位得到大量样本用于训练滤波器。式(3)滤波器w可通过式(4)优化:
其中,φ为非线性映射函数;λ1为正则化参数,通过傅里叶变换(FFT),式(4)可表示为 w=∑m,na(m,n)φ(xm,n) ,系数 a 可通过式(5)计算:
其中,y={ym,n|(m,n)∈{0,1,…,M-1} ×{0,1,…,N-1}},给定学习到的参数a和外观模型xˆ,则可计算出新的图像块z的响应图yˆ如式(6),yˆ的最大值即是目标最有可能的位置。
尽管核相关滤波跟踪算法利用核函数有效的提高了运算速度,但由于它存在对特征提取敏感等缺点,且当目标外观发生剧烈变化或背景较为复杂时,仅利用特征信息跟踪目标可能会出现漂移等情况。所以为提高核相关滤波跟踪算法的鲁棒性和跟踪精确度,还需融合目标的上下文信息。同时提取超像素级特征以弥补相关滤波跟踪算法特征提取敏感的缺点。
基于上述,本文跟踪方法主要包括上下文模型建立和模型更新两部分。首先基于HSI空间利用SLIC算法[10]提取超像素级特征,并对特征训练以建立相关滤波跟踪器的上下文模型。然后计算目标及其上下文区域响应值,从而实现目标的快速定位。最后,更新目标位置,并对新位置目标区域进行训练和更新,以实现上下文模型的更新,用于之后的预测。本文方法过程图以及各个部分的具体研究步骤如图1所示。
图1 本文算法研究流程Fig.1 Algorithm research process in the paper
本文建立相关滤波跟踪器的上下文模型实时的对目标进行精确地表示,具体流程是:首先选取视频序列的第一帧进行训练得到目标的表观模型,在之后每一帧的训练阶段加入上下文信息,实现目标外观模型发生巨变时的准确跟踪。然后分割目标及其上下文区域得到N个超像素,并提取这些超像素的HSI特征,用特征向量fr表示第r个超像素,使用mean shift聚类算法将训练好的超像素特征进行聚类,使得模型不仅包含目标模板,且还包含上下文信息,以更好的将目标从复杂的背景中分开,使其有更强的判别能力。
图2 本文跟踪器跟踪过程图Fig.2 The tracking process diagram
上下文图像块包含各种背景信息,如图2所示,所训练的滤波器会对目标图像块产生最高的响应值,而对背景图像块的响应值较低。上下文图像块以正则项的形式添加到公式(4)中,得到:
其中,Ai为上下文图像块ai对应的循环矩阵,它包含矢量化图像块ai的所有循环移位。调节参数λ2的值,使上下文图像块的响应值回归于0。
学习一个似然分布可优化训练,它是指目标在位置p处的先验概率,
其中,ℓ(·)为似然函数;o代表对目标的表述。
Po为目标的中心位置,Ωc(p)为 Po的周围区域,上下文特征可通过 pc={c(p′) =(I(p′),p′) |p′∈Ωc(po)}设置,其中 I(p′)为图像在位置 po处的强度,通过计算c(p′)的似然函数可得:
P(p|c(p′),o) 为目标与其上下文的关系模型,P(c(p′|o)) 为目标的外观模型。关系模型P(p|c(p′),o) 可被定义为:
h为输入的向量p和p′的差异性操作。外观模型可被定义为:
ωσ(·)为高斯函数权重,可被定义为:
其中,a为正则化参数。通过给定的高斯分布权值,模型将赋予离目标中心位置处较近的上下文图像块更大的值,相反,赋予离中心位置处较远的上下文图像块较小的值。
由于目标在跟踪过程中总存在一些不可预测的变化,而当前的上下文模型只含有前一帧目标样本信息,不能反映出目标的变化。当目标变化较大时,难以有效的提取出目标的特征,导致目标丢失,但是如果频繁的更新模型,就会形成误差的积累,出现模型的漂移现象。核相关滤波算法计算新获得的模型和前一帧模型的线性差值,这样模型更新方法就包含了当前帧和前一帧的相关信息,包括变化之后的表观模型和双重空间系数等。
本文使用目标响应值和背景响应值的差值来预测目标是否存在遮挡现象,差值小于预定的阈值时,表示目标中心被遮挡,此时停止模型更新以防止引入新的错误信息,反之更新模型以找到一个新的位置来替换原来的位置进行目标定位。模型更新公式如下所示:
其中, xˆt和 xˆt+1分别表示第 t帧和(t+1)帧的上下文模型; aˆt和 αˆt+1分别表示第 t帧和(t+1) 帧的滤波器系数矩阵;f表示目标响应值与背景响应值的差值,f0表示所设阈值。
为了更有效的表示目标,本文提取视频图像超像素级中层视觉特征代替比较粗糙的像素级灰度底层特征信息,由于Achanta R等人提出的SLIC(simple linear iterative clustering)[13]即简单线性迭代聚类分割算法生成的超像素均匀紧凑,不破坏邻域超像素的特征信息,且在运行速度、生成超像素的复杂度和轮廓保持等方面都表现良好,因此本文选择SLIC划分超像素。
由于HSI颜色空间减弱了光照变化对像素的影响,且相比其他颜色空间,HSI颜色空间对超像素有更强的分辨能力,能更好的区分目标和背景,因此本文使用HSI颜色空间直方图作为每个超像素的特征。由于彩色图像都是由RGB颜色空间表示的,所以需将其转化到HSI颜色空间。超像素级特征提取过程如图3所示:
图3 超像素特征提取步骤Fig.3 Superpixel feature extraction procedure
首先通过SLIC算法将图像划分为超像素块,将彩色图像颜色空间均匀地分割为若干个区间,通过累加得到超像素块中每个颜色区间像素点的个数,然后对统计结果进行颜色空间归一化操作,可得到每个颜色在各个超像素块中所占比例,最后根据比例绘制代表每个超像素块的HSI颜色空间直方图。
实验硬件平台为 Intel(R)Core(TM)i5-4200 2.5 GHz CPU,软件平台为Matlab 2016a。目标使用超像素级的HSI颜色空间特征,滤波器尺寸均使用全局指定尺寸,在训练之前已将正负样本处理为统一的尺寸大小,从而使其在不同的测试视频中均能保持稳定的计算速度。训练样本以当前目标位置为中心的图像块循环移位得到。利用余弦窗口以减轻由循环移位引起的不连续性。从训练样本中提取HSI颜色特征,上下文图像块从最新获得的目标中心位置处的邻域内采集。
为验证本文算法性能,在10个选自OTB-50和OTB-100的视频序列上,对本文算法与Struck算法[11]、KCF算法[9]、DSST算法[12]和 CSK算法[13]4个判别式模型算法进行了对比实验。其他4个算法参数取值均使用文献所列默认参数值,本文的参数取值如下:λ1=10-4,λ2=25,η=0.015,f0=0.07。
实验数据来源于文献[14]提出的公开视频数据集OTB-50与OTB-100,为全面评价算法的性能,并结合目标跟踪的难点,实验选取了上述数据集中发生形变、背景复杂、存在遮挡和快速移动的视频,以验证本文算法的有效性。
定量分析的评价指标有两个:精确度(Precision)和成功率(Success Rate)。精确度评估中,使用的标准是中心位置误差,是指由算法得到的目标中心位置与目标实际中心位置的距离,精确度是指小于某阈值的百分比,本文选取阈值为20像素[14]。成功率使用的标准是边界框的重叠率,假设跟踪的边界框为γt,准确的边界框是γa,重叠率被定义为 S=|γt∩γa|/|γt∪γa|,其中∩和∪分别表示两个图像区域的交集和并集,|·|表示图像区域内像素点的个数,使用每个成功率图的曲线下面积(AUC)记录在不同重叠率或中心定位误差限制下的跟踪成功率,用于给跟踪算法进行综合比较并排序。
4.3.1 定量分析与讨论
根据评价指标绘制本文算法和其他算法精确度曲线和成功率曲线如图4所示,对比各个算法性能如表1所示。从表1可以看出,本文的算法和KCF算法相比,精确度提高了4.1%,成功率提高了5.7%,和致力于解决尺度变化难点的DSST算法相比,精确度提高了7.2%,成功率提高了3.1%,和基于结构化输出预测的自适应目标跟踪框架的Struck算法相比,精确度提高了13.3%,成功率提高了9.8%。整体来看,性能最差的是CSK算法,这是因为此算法仅仅使用了灰度值特征,对运动目标外观的表达不足,当遮挡出现时此算法分类器会引入错误信息,从而导致跟踪失败或者跟踪漂移。在速度方面,相关滤波类跟踪算法DSST速度仅有7 fps,这是因为此算法采用了尺度金字塔估计法,在跟踪过程中需要逐尺度地进行相关滤波估计,影响了算法的整体速度。本文的算法由于使用循环结构在频域上处理图像,速度大约为30 fps,满足实时性地要求,且跟踪精确度和成功率都比其他相关滤波类跟踪算法要高。
图4 精确度和成功率曲线Fig.4 Precision and success rate curves
表1 本文算法和其他算法性能对比表Tab.1 Comparison of performance of proposed algorithm and other algorithms
4.3.2 定性分析与讨论
为了直观地比较各个算法的跟踪效果,从测试视频集中选取了3个视频进行定性分析,结果如图5所示。
图5 各个算法的定性对比Fig.5 The qualitative comparison of each algorithm
从图5的结果可以看出,Struck在跟踪Dog视频序列时,随着摄像头和目标距离的不断变化,视频的目标发生了由大到小尺度的变化,Struck算法无目标尺寸变化处理机制,导致目标快速尺寸变化时,中心位置误差明显增大。KCF算法由于利用循环矩阵及傅里叶变换方法处理图像,所以速度很快,但它在处理目标发生形变(Skater2图)或快速运动(Dog图)时,跟踪精度不高,鲁棒性下降。DSST跟踪算法在处理目标发生遮挡、背景分辨率低的情况下,也会出现跟踪不准的结果。通过对实验结果的定量和定性分析表明:相比以上其他算法,本文所用方法在处理遮挡、目标高速运动、背景分辨率低、目标发生形变等条件下具有比其他对比算法更好的鲁棒性、跟踪精度和跟踪成功率。
本文算法利用目标与其周围空域信息,对经典和相关滤波跟踪算法进行了改进,提出一种利用上下文信息和超像素级特征的相关滤波跟踪方法,从中层视觉的角度,提取目标超像素级特征,将具有相似性质的像素聚类,加快了图像处理的速度。在相关滤波的框架下,以前一帧的信息辅助预测渐入遮挡物的后续帧目标状态,提高算法抗遮挡的鲁棒性,大量的实验也表明,本文提出的算法在相关滤波类跟踪算法中更加具有优越性,在计算复杂度很高的情况下仍能保持高速计算,论证了本文算法的可行性和有效性。