基于KCF和SIFT特征的抗遮挡目标跟踪算法

2018-05-23 01:06,,,,
计算机测量与控制 2018年5期
关键词:分类器尺度模板

,, ,,

(浙江理工大学 信息学院,杭州 310018)

0 引言

目标跟踪技术一直是计算机视觉研究领域中的热点之一。目前已广泛应用于机器人服务、视频监控、人机交互等[1-3]多个方面。多数跟踪方法主要针对的是对目标的短期跟踪和监控,在视频图像序列的第一帧中选定跟踪的目标,然后对目标进行实时跟踪。

对于目标跟踪的中最困难的问题是对目标进行准确的实时跟踪,在目标的背景或目标本身发生较大变化,如目标部分遮挡或完全遮挡、目标发生较大的形变、光照变化等,都会对跟踪性能有较大的影响,尤其在目标发生长时间遮挡时,如何在目标出现后重新对其进行跟踪,是目前丞待解决的问题。近年来随着机器视觉的不断发展,目标跟踪技术得到很大的发展,研究者们提出了很多优秀的跟踪算法[4-12]。基于相关滤波器的实时目标跟踪获得了较多的关注,其中,KCF跟踪算法[13]是公认性能较好的算法之一,在跟踪速度上表现尤为优秀,而且准确率较高。该算法采用循环偏移构建出分类器的训练样本,使数据矩阵变换为循环矩阵,把问题的求解变换到傅里叶变换域,避免了矩阵求逆的过程,大大降低了算法的复杂度。虽然KCF跟踪算法的速度和准确度较好,但是在目标发生严重遮挡情况时,仍然会发生目标跟丢的现象,而且跟踪框不能自适应目标尺度。

针对以上问题,本文在KCF跟踪算法的基础上,提出了一种解决目标遮挡跟踪丢失的方法并且实现跟踪窗口的自适应尺度调节,利用尺度金字塔估计出目标的尺度,使跟踪框自适应目标尺寸。跟踪过程中对目标遮挡情况进行判断, 当目标遮挡时,提取当前帧目标的SIFT特征[14]生成模板特征,并与下一帧图像的SIFT特征进行匹配, 框出与模板特征相匹配的目标对目标继续跟踪。

1 尺度自适应KCF跟踪

1.1 KCF跟踪算法

KCF跟踪算法采用连续样本标记法,将[0,1]范围的值作为样本的回归值,从而给不同偏移下得到的样本不同的权值。通过循环偏移构建出分类器的训练样本,使数据矩阵变换为循环矩阵,利用循环矩阵的特性把问题的求解变换到傅里叶变换域。

1.1.1 样本表示

对样本x进行变换,获得循环矩阵X如下:

(1)

矩阵X完全由指定样本向量x循环移位生成,无论生成向量x为何值,所有循环矩阵都能被离散傅里叶变换(DFT)矩阵对角化如下:

(2)

1.1.2 分类器训练

KCF跟踪器以目标为中心,选取目标及其周围一定范围内的矩形区域图像块x来训练线性分类器,选择的图像区域大小与目标的尺度有关,若目标尺寸大小为m×n,图像区域大小为A×B=λA×λB,λ为扩展系数。将所有循环移位图像块看作训练样本并将对应的标签数据用一个高斯函数来描述。分类器的训练如下:

(3)

式(3)中,w为分类器系数,φ为核K的映射函数,<·>表示内积,α为非负数是正则化参数,核空间内积[φ(x),φ(x')]=K(x,x'),图像块为xm,n大小不大于图像区域大小,y(m,n)为对应标签数据。

1.1.3 样本检测

训练样本和检测样本之间的相关置信图又称为滤波响应图,表示如下:

(4)

式(4)中,Z表示检测样本,KXZ表示训练样本和检测样本之间的互相关核,响应图中峰值位置即为当前搜索区域中目标的位置。

1.2 尺度自适应

传统的KCF跟踪算法尺度是固定,无法适应目标尺度发生的变化情况。用固定的矩形框在下一帧中去搜索目标,需要很高的计算代价,会明显降低算法的运算效率。本文采用尺度金字塔的方法实现自适应的跟踪框,这样有助于把尺度空间的搜索区域限制在更小的范围,而且在后期的目标特征提取时缩小特征检测范围,提高算法的运行速度。

在目标未受到遮挡的情况下,对当前目标建立尺度金字塔;然后通过相关滤波器求取尺度金字塔的最大响应得到当前目标尺度信息;最后使用新目标图像为训练样本更新目标的外 观模型和尺度模型。

假设当前帧视频图像序列是第i帧,在该视频帧中找到目标的位置,并且以此为中心提取g个尺度不同的图像块,将前一帧目标作为下一帧目标大小的先验值,其大小为wi-1×hi-1。假设尺度系数为β,则每块目标图像块的尺度为βτwi-1×βτhi-1。其中,τ∈{[-(g-1)/2],[-(g-3)/2],...[-(g-1)/2]}。将g个图像块调整到统一的大小,然后对其进行HOG特征提取,最后利用尺度滤波找到输出响应最大值所对应的尺度即为当前帧目标尺度的估计值[15]:

C=wi×hi=βτ'wi-1×βτ'hi-1

(5)

式(5)中,τ'为尺度空间的最大响应位置。

(6)

(7)

式(6)、(7)中,ζ为学习率。

2 SIFT特征匹配搜索目标

2.1 SIFT特征提取

2.1.1 构造尺度空间

将待匹配图像与高斯核函数卷积可得到待匹配图像的尺度空间:

L(x,y,σ)=G(x,y,σ)*I(x,y)

(8)

(9)

式(8)、(9)中,(x,y)是像素点的位置,σ决定图像平滑程度。将高斯尺度空间中相邻两层相减得到高斯差分金字塔,对其特征进行归一化,可以得到明显的差分图像蕴含的特征,这些特征就是要提取的稳定特征。

2.1.2 关键点定位及方向分配

高斯差分金字搭空间的局部极值点就是关键点,将每个像素与该像素相邻两层图像的各像素点进行比较,找到局部极大值或极小值。再精确确定关键点的位置和尺度,去除低对比度的关键点和不稳定的边缘响应点。

为增加描述子的旋转不变性,给每个关键点分配一个基准方向。通过直方图统计关键点邻域内像素的梯度和方向,将360度的方向范围平均划分为36个方向,直方图峰值所在方向为关键点的主方向。

2.1.3 关键点特征描述

将关键点邻域划分为4×4个子区域,每个子区域有8个方向。直方图统计邻域内4×4×8=128个梯度信息生成特征向量。

2.2 目标遮挡判断

目标尺度变化主要由目标纵向移动引起,在目标遮挡时,将不会产生尺度的变化,因为目标在运动上受到横向运动的遮挡,所以会停止在纵向上的移动。故应在检测到目标发生遮挡时,停止对跟踪目标在尺度空间上的估计,同时停止对分类器模型的更新。采用文献[16]的遮挡检测方法进行目标遮挡的判断。

通过对跟踪框区域求取跟踪目标的概率分布f(x),假设候选区域的坐标为pos(x),当概率分布取最大值fmax(x)时,此时对应最大值的位置为posmax(x)。假设样本x的高和宽分别为h和w,遮挡判断的阈值为λ1,面积因子为λ2。在最大值位置posmax(x)的邻域找出所有满足λ1·fmax(x)的所有点,并求取相应的位置posall(x)。求取所有posall(x)与最大位置posmax(x)之间的欧式距离:

(10)

定义一个变量G,通过G的取值来判断目标遮挡的情况:

(11)

式(11)中,G为0时表示目标未受遮挡;相反,G为1表示目标受到遮挡。

如图1所示:采用TB-50数据集中Girl2视频序列进行验证,图1(a)是视频的第103帧,在该帧时框出的小女孩运动到图中男子的身后部分开始受到遮挡,此时概率分布取得最大值fmax(x),且最大值位置posmax(x)的邻域内满足λ1·fmax(x)的点共有19个。(b)为对应的响应曲线,在103帧时取最大值。

图1 遮挡判断

2.3 SIFT特征匹配目标

在判断出目标受到遮挡,对目标进行SIFT特征提取生成模板特征。继续读入视频序列的下一帧,提取下一帧图像的SIFT特征。将提取的SIFT与模板特征进行特征匹配并结合RANSAC算法[17]对误匹配点进行删除,保留正确的匹配对并框出目标,则该框作为当前帧目标的跟踪框。若没有框出目标,则继续对下一帧视频图像帧进行特征匹配,直到找到目标。

在模板特征与下一帧特征匹配成功后,可以根据图像中的匹配点位置信息计算出目标的位置。通过匹配特征点对求取两幅图像的单应矩阵,获得特征点之间的变换。单应矩阵是3*3的矩阵,有8个未知数,至少需要4个匹配点对,就可以利用多元方程组初步求解出单应矩阵。然后利用最小化反投影误差的方式进一步精确计算。单应矩阵变换公式为:

(14)

u,v是原始图片左边,对应得到变换后的图片坐标x,y;其中x=x'/w',y=y'/w'。

2.4 算法流程图

首先,输入视频序列并选择要跟踪的目标,框出该目标,采用KCF跟踪算法对目标进行跟踪;在跟踪过程中对目标进行遮挡判断,若目标遮挡,则对当前帧目标进行SIFT特征提取,生成模板特征;然后,提取下一帧特征点与模板特征进行匹配,并结合RANSAC误匹配剔除算法剔除错误匹配对,通过匹配对计算单应矩阵并框出目标,则匹配重新定位成功。若在跟踪过程中,目标再次从未遮挡到检测到遮挡,此时提取特征生成的目标特征替换之前的目标特征。算法整体流程图如图2所示。

图2 算法流程图

3 算法测试及结果分析

实验运行环境为Matlab R2014b,Window7操作系统,Intel(R) Core(TM)i5-3210M 2.3 GHz 4 GB内存的PC机。为了验证算法在复杂场景下跟踪目标遮挡处理的有效性,本文使用公开的具有挑战性的跟踪测试视频和自己拍摄的实际场景的视频进行测试,验证本文算法跟踪窗口的尺度自适应和目标遮挡处理的效果。

3.1 自适应跟踪窗口

采用TB-50中的视频序列CarScale进行自适应窗口的验证,为更直观的看到测试结果,所以将视频每隔30帧取一帧图像帧列出。如图3所示,可以清楚的看到视频中的汽车由远到近时,汽车尺寸在发生变化,而跟踪窗口采用的尺度自适应会随着目标的尺寸变化而变化。

图3 CarScale尺度自适应

3.2 目标遮挡跟踪效果

选取TB数据集中受遮挡严重的视频序列Girl2和个人拍摄的视频penguin,对算法进行抗遮挡验证,如图4所示,黑色框为本文算法跟踪框,白色为KCF跟踪框,最左边小图为提取的目标模板特征。在Girl2中检测到目标在第103帧发生遮挡,在第104和105帧时,两种算法都能继续跟踪。到第121帧目标遮挡后再次出现,但是KCF算法无法继续跟踪,而本文算法对第103帧提取了SIFT特征生成模板特征,与第105,121帧进行了特征匹配(为直观表示匹配算法,将两匹配点之间进行连线),在第121帧时,将目标框出并进行跟踪。由图中匹配点之间的连线可以看出,通过匹配找到的目标是准确的。同样的,在penguin发生遮挡的第53帧提取特征,与下一帧进行特征匹配,直到框出目标。从两组实验结果可以看出,在目标刚开始部分遮挡的情况下,两种算法都能实现目标的跟踪,但目标发生全部遮挡后再次出现,即使只有小部分的遮挡,KCF算法也无法找到跟踪目标,而本文算法可以准确找到目标。

图4 遮挡情况下KCF与本文算法效果对比

3.3 跟踪性能对比

3.3.1 距离精度

为验证算法的跟踪性能,采用距离精度(DP),即中心位置误差小于某一阈值的帧数,占视频总帧数的百分比,作为评价指标,DP值越大说明跟踪算法性能越好。采用T B数据集Jogging、Girl2、Subway、Lemming和Penguin共5组发生遮挡的视频序列,画出的DP曲线图。

由图5可以看出,本文算法在目标发生遮挡时跟踪效果较好(实线表示本文算法,虚线表示KCF跟踪算法),主要是因为在目标发生遮挡时KCF跟踪算法无法有效的跟踪目标,而本文算法采用的特征匹配在目标再次出现后会重新搜索目标,继续对目标进行跟踪,所以后续帧的跟踪误差较小。

图5 5组遮挡视频的DP曲线图

3.3.2 跟踪速度对比

为验证算法的跟踪速度(每秒跟踪视频帧数),现采用7组测试视频对两种算法进行验证,如表1所示。

表1 KCF跟踪算法与本文算法在7组测试视频上的运行速度对比(帧/s)

表1中,KCF跟踪算法的平均速度约为97帧/s,本文算法平均速度为80帧/s,可见KCF跟踪算法的速度较快一些。因为本文算法在目标跟踪过程中进行了目标遮挡的检测和特征匹配寻找目标,所以目标遮挡时间越长,对跟踪速度影响越大,但是仍能满足实时性(一般每秒15-20帧)跟踪要求。

4 结论

本文在KCF 跟踪算法的框架下,采用尺度金字塔实现跟踪框自适应目标大小;在目标受到遮挡的情况,可以提取目标的SIFT特征生成模板特征,在下一帧中去匹配目标,重新对目标跟踪。实验结果显示,本文提出的算法在自适应跟踪框和抗遮挡上,相比于原KCF跟踪算法效果更好,尤其在跟踪目标发生完全遮挡的视频上表现更为优异。但是在运行速度上,由于本文算法在跟踪中对目标遮挡情况进行实时检测,并且在遮挡情况下要提取SIFT特征和通过特征匹配重新寻找目标,在跟踪速度上相比于原KCF算法,速度有所降低,但是仍能满足实时跟踪。下一步的研究计划是在保证跟踪效果的同时,如何提高该算法的跟踪速度。

参考文献:

[1] 李朕阳, 郎 朗, 陈孟元. 基于SR-CKF的移动机器人动态目标跟踪算法[J]. 电子测量与仪器学报, 2016(8):1198-1205.

[2] 冯志全, 杨 波, 徐 涛,等. 基于自然手势跟踪的直接操作型三维人机交互范式[J]. 计算机学报, 2014(6):1309-1323.

[3] 沈 翀. 复杂视频监控环境下的运动目标检测与跟踪算法研究[D]. 北京:中国科学技术大学, 2015.

[4] Bolme D S, Beveridge J R, Draper B A, et al. Visual object tracking using adaptive correlation filters[A]. Computer Vision and Pattern Recognition[C]. IEEE, 2010:2544-2550.

[5] Henriques J F, Caseiro R, Martins P, et al. Exploiting the circulant structure of tracking-by-detection with kernels[A]. European Conference on Computer Vision[C]. Springer-Verlag, 2012:702-715.

[6] Bao C, Wu Y, Ling H, et al. Real time robust L1 tracker using accelerated proximal gradient approach[A]. IEEE Conference on Computer Vision and Pattern Recognition, IEEE Computer Society[C]. 2012:1830-1837.

[7] Danelljan M, Khan F S, Felsberg M, et al. Adaptive color attributes for Real-Time visual tracking[A]. IEEE Conference on Computer Vision and Pattern Recognition[C]. IEEE Computer Society, 2014:1090-1097.

[8] 吴贤平, 沈良忠. 基于自适应背景的目标跟踪算法研究[J]. 计算机测量与控制, 2017, 25(4):209-212.

[9] 熊昌镇, 赵璐璐, 郭芬红. 自适应特征融合的核相关滤波跟踪算法[J]. 计算机辅助设计与图形学学报, 2017, 29(6).

[10] 张焕龙, 胡士强, 杨国胜. 基于外观模型学习的视频目标跟踪方法综述[J]. 计算机研究与发展, 2015, 52(1):177-190.

[11] 徐玉龙, 王家宝, 李 阳, 等. 基于相关滤波的尺度自适应目标跟踪[J]. 计算机应用研究, 2016, 33(11):3513-3516.

[12] 王治丹, 蒋建国, 齐美彬, 等. 基于最大池图匹配的形变目标跟踪方法[J]. 电子学报, 2017, 45(3):704-711.

[13] Henriques J F, Caseiro R, Martins P, et al. High-Speed tracking with kernelized correlation filters[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 37(3):583.

[14] Lowe D G. Distinctive image features from scale-invariant key-points[J]. International Journal of Computer Vision, 2004, 60(2):91-110.

[15] 徐玉龙, 王家宝, 李 阳,等. 融合颜色特征的尺度自适应相关跟踪[J]. 计算机应用研究, 2017, 34(3):945-948.

[16] 余礼杨, 范春晓, 明 悦. 改进的核相关滤波器目标跟踪算法[J]. 计算机应用, 2015, 35(12):3550-3554.

[17] 赵 烨, 蒋建国, 洪日昌. 基于RANSAC的SIFT匹配优化[J].光电工程, 2014(8):58-65.

猜你喜欢
分类器尺度模板
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
学贯中西(6):阐述ML分类器的工作流程
特高大模板支撑方案的优选研究
基于朴素Bayes组合的简易集成分类器①
财产的五大尺度和五重应对
Inventors and Inventions
一种自适应子融合集成多分类器方法
宇宙的尺度
浅谈多分类器动态集成技术