齐鲁工业大学学报   2022, Vol. 36 Issue (2): 46-52
0
杂乱环境中改进的目标检测跟踪算法[PDF全文]
段学虎, 刘海英, 陈好男, 娄海同, 纪鹏     
齐鲁工业大学(山东省科学院)电气工程与自动化学院, 山东 济南 250353
摘要:目标检测跟踪技术在当今社会的发展与应用越来越广泛。在杂乱环境中的目标检测跟踪, 由于受到环境背景的影响, 跟踪目标容易发生目标跟踪漂移现象、跟踪丢失或者无跟踪问题。基于经典MOSSE算法, 提出改进的检测跟踪算法, 实现滤波器产生误差时及时修正, 很大程度上提高了检测与跟踪的准确性和实时性, 降低了漂移问题导致的跟踪失败的概率。
关键词杂乱环境    目标检测跟踪    MOSSE算法    
Target detection and tracking algorithm in cluttered environment
DUAN Xue-hu, LIU Hai-ying, CHEN Hao-nan, LOU Hai-tong, JI Peng     
School of Electrical Engineering and Automation, Qilu University of Technology (Shandong Academy of Sciences), Jinan 250353, China
Abstract: Target detection and tracking technology has become more widely used in the development and application of today's society.Target tracking is prone to drift, loss or no tracking due to the influence of background in clutter environment.Based on the classical MOSSE algorithm, this paper proposed a novel detection and tracking algorithm to achieve timely modification once the filter produced errors, which greatly improved the accuracy and real-time performance for detection and tracking, and greatly reduces the probability of tracking failure caused by drift problems.
Key words: cluttered environment    target detection and tracking    MOSSE algorithm    

近年来, 目标跟踪技术[1]已经变成了机器视觉领域的研究热点。分析动态图像[2]是跟踪技术在复杂动态环境中应用场景的主要因素, 当下目标的检测跟踪技术仍还没有发展成熟, 迫切需要设计出一种准确性更高、跟踪速度更快、可靠性更强的目标检测跟踪系统。尤其是杂乱环境中快速移动目标的检测算法研究中依旧存在很多难点问题及挑战: 是针对小目标检测时, 由于样本的像素尺寸过小、分辨率过大导致很多的小目标无法正确的检测。因此, 小目标检测仍是当前研究的难点; 检测移动目标时速度过快, 给算法的准确跟踪造成了很大的干扰。在目标快速移动的过程中, 若当前帧和前一帧的目标位移较大[3], 将会导致跟踪算法在此情况下跟踪失败。其次在目标快速移动过程中, 由于突然加速导致目标运动模糊[4]的情况下, 容易导致跟踪算法在跟踪目标过程中发生跟踪漂移现象。最后在实际中复杂的背景环境、相似背景的干扰、光照条件的变化等外界因素以及目标姿态的变化、外观的变形、快速移动等目标本身因素导致目标的跟踪的准确性仍然有待提升。因此, 目标跟踪的准确性和快速性是当前研究的难点。

在快速移动目标的跟踪中, 基于最小输出平方和误差(minimum output sum of squared error, MOSSE)算法, 通过引入历史上下文和AdaBoost算法[5]与MOSSE组合使用, 当滤波器产生误差时对其进行校正, 让跟踪算法的准确性得到改进和提高。

1 检测跟踪相关算法基础

目前目标检测与跟踪算法大致分成了两类: 一种为生成式跟踪算法, 另一种则是判别式跟踪算法。比较重要的两个跟踪方法分别是相关滤波算法[6]以及深度学习式, 其中相关滤波算法包括MOSSE、CSK、KCF、CN等。MOSSE算法第一步是将初始帧的图片通过权值计算将图片转化成为灰度图并快速进行傅里叶变换; 第二步就是将第一步得到的数据与傅氏变换得到的置信度图进行相除, 最后一步是通过快速傅里叶逆变换后便得到所需要的滤波器。通过将滤波器每一帧的灰度图进行卷积计算得到一个输出响应, 输出响应最大值的位置就是目标中心所在的位置。虽然速度进行了一定程度的提升, 但是其存在准确性不够的缺陷。

CSK(exploiting the circulant structure of tracking-by-detection with kernels, CSK)算法是在MOSSE算法的基础之上引入了核技巧以及岭回归学习方法。其原理是在采集图像信息时使用的是稠密采样[7], 将收集到的信息进行相关的核计算转换成所需要的循环矩阵结构[8], 由原来的滑动窗口计算改变为卷积计算。采用岭回归方法学习分类器, 并且把高斯径向基函数作为核函数[9]。将已知目标的前几帧作为样本在当前帧的搜索区域中进行搜索, 寻找样本与当前帧最相似的位置作为目标的中心位置。但是无法自适应窗口, 在目标抗遮挡中, 容易跟踪失败。

KCF(kernel correlation filter, KCF)算法是在MOSSE算法的基础上引入了核函数和多通道数据处理, 是一种核相关算法。其核心的思想就是通过增加负样本的数量[10]来增加跟踪的稳定性。在跟踪目标时, KCF算法需要实时训练一个目标检测器, 用来检测后一帧中预测目标的位置是否是准确的目标位置, 再将新的监测数据更新到系统中。但是, 在面对目标的多尺度变换时, 仍然无法提高跟踪的准确性。

CN(color names, CN)目标跟踪算法是针对CSK算法的改进。算法利用图片颜色的属性, 扩展到CSK算法中。将RGB三种颜色细分为灰、黑、蓝、棕、黄、白、粉、橙、绿、紫、红等11种颜色, 然后通过PCA(principal component analysis)降维, 从11个通道中选出2个通道进行处理, 也就是得到最合适的两种颜色作为目标的最后特征。其中的不足之处, 在面临目标的多尺度变化、快速移动以及视频分辨率较低时的精度偏低。

2 目标特征提取

在视觉跟踪领域中, 对于图像特征的提取在相关滤波算法[6]中是非常重要的一部分, 作为滤波器的输入, 常用的目标特征提取有LBP(local binary pattern)特征提取、HOG(histograms of oriented gradients)特征提取、Haar(haar-like features)特征提取等。

LBP是对图像局部纹理特征描述的算法[8], 它的优点为: 第一, 对图像进行纹理特征的提取; 第二, 具有灰度不变的特性; 第三, 具有目标旋转不变的特性。

提取步骤: 第一步, 把目标所在搜索区域分割成多个子区域, 每个子区域的大小为n×n像素点, 用LBP去计算所有的子区域中每个像素的LBP值; 第二步, 将每个子区域所得到的不同的LBP值出现的频率[9]构成一个直方图; 第三步, 归一化处理步骤二生成的直方图[8]; 第四步, 通过前三个步骤, 便得到了每个子区域的直方图, 将得到的直方图连接起来便得到了搜索区域的特征向量。

HOG特征即方向直方图特征, 通过计算和统计图像局部区域的梯度方向直方图[9]来构成特征。其提取步骤为: 第一步, 将图片灰度化; 第二步, 通过Gamma校正法[9]把图片灰度化并进行标准化; 第三步, 在搜索域中划分出多个子区域, 每个子区域都有n×n个像素点; 第四步, 计算出每个区域中不同方向的八个梯度值[9], 分别是东、南、西、北、东南、东北、西南、西北, 将其转变成这个区域相对应的梯度直方图; 第五步, 定义一个模块, 一个模块包含Q×Q个区域, 将每个模块中的区域梯度直方图串联起来, 由此得到了模块的梯度值统计图, 将其连接起来就得到了HOG特征。

Haar特征主要是运用积分图来计算的特征, 其特征模板主要包括边缘特征、线性特征、中心特征和对角线特征, 三者可以混合使用。运用了白色、黑色两种模板, 通过运算得到相应的特征值。其中, 得到的特征值可以非常好的体现出检测区域像素点值[9]的变化。由于特征模板的位置和大小可以任意变化, 因此会产生很多特征值, Haar特征比较适合于人脸识别。

MOSSE即最小输出均方误差和滤波器[10], 该滤波器可以依赖初始帧信息就可以生成稳定的相关滤波。基于MOSSE的目标跟踪算法在光照、非刚性形变、位置和尺度都具有较好的鲁棒性。根据峰值旁瓣比率[2]可以检测出目标是否被遮挡, 若遮挡则停止跟踪目标, 并进行目标检测, 当目标再次出现时, 再次对目标进行跟踪。

MOSSE算法作为相关滤波的开山之作, 不仅提高了跟踪目标的精准度, 也提高了算法的鲁棒性。其工作原理如下:

$ \min\limits_{\hat{h}^{*}} \sum\limits_{i}|| x_{i} \odot \hat{h}^{*}-\hat{y}_{i}||^{2}, $ (1)

其中, 公式(1)中的i表示训练样本的索引[8], 当公式(1)转换为矩阵形式, 得到公式(2):

$ \hat{h}^{*}=\frac{\sum_{i}{\hat{y_{i}}} \odot \hat{x}_{i}^{*}}{\sum_{i} \hat{x}_{i}^{*} \odot \hat{x}_{i}} 。$ (2)

算法流程如图 1所示:

图 1 MOSSE算法流程图

3 改进的杂乱环境中目标跟踪算法

MOSSE算法在光照环境变化的场景中, 该算法是针对目标的外观形态来进行建立模型, 由此可知, 目标外观只要不会出现突变现象且光照不会造成目标形态发生变化, 那么光照对于目标跟踪造成的影响就不会很大。MOSSE算法对光照的不敏感型, 如果由于光照的变化, 而造成了目标外观的改变, 则将会导致跟踪失败。

当目标尺寸的变化的情况下, MOSSE滤波器在初始化训练时加入了扰动, 因此针对目标在一定程度下的旋转和尺度变化具有一定的调节能力。调节能力也仅限于某一定程度内, 在不改变目标模型外观的情况下, 该算法对目标尺度变换是不敏感的。

如果跟踪的目标被一些物体挡住一部分甚至全部挡住, 那么目标的外观就会发生变化。由于滤波器和输入进行卷积计算后, 输出响应的最大值仍在中心, 中心点所在的位置就是目标中心所在位置, 因此当目标被遮挡时仍能继续跟踪。

但MOSSE算法抗漂移能力差, 由于滤波器只能学习前一帧和当前帧的信息, 跟踪窗口一旦发生漂移, 当前帧的滤波器就会出现误差, 后续的视频帧均会受到影响, 系统随着时间的推移, 误差始终存在未被修正, 误差累积越来越大, 最终就会导致目标跟踪失败。

由于滤波器只是对视频序列的当前帧和前一帧的数据进行学习, 一旦出现误差, 若没有对产生的误差及时修正, 后一帧滤波器均会带着误差进行学习更新目标特征, 从而导致误差会逐渐积累导致跟踪发生漂移, 最终跟踪目标失败。

MOSSE滤波器仅仅学习了视频序列的前一帧和当前帧的数据, 容易造成目标信息丢失。在没有外部校正的情况下, 系统随时间的推移就会造成目标跟踪失败。改进思路为: 通过保留m帧(可由人为设定)的历史数据, 当滤波器出现误差时利用历史信息来修正。

本文在MOSSE算法的基础上, 通过增加每一帧图像的上下文信息, 让AdaBoost来确定权值, 最后得到的滤波器是由迭代产生的若干个弱滤波器构成, 这样便得到了鲁棒性更好的滤波器, 从而增强了目标跟踪抗漂移能力。

改进后的滤波器可以通过保留m帧(可由人为设定)的历史数据, 当滤波器出现误差时利用历史信息来修正。滤波器H将m帧数据作为m个训练样本。假设有T次迭代, 每一次得到的弱滤波器Ht更新公式为:

$ H_{t}^{*}=\frac{\sum_{i=1}^{m} w_{t, i} G_{i} \odot F_{i}^{*}}{\sum_{i=1}^{m} w_{t, i} F_{i} \otimes F_{i}^{*}}, $ (3)

公式(3)中为训练样本个数, T为迭代次数, Wt, i为相应部分权值。最后, m个弱滤波器得出强滤波器, 其公式为:

$ H^{*}=\sum\limits_{i=1}^{T} \beta_{t} H_{t}^{*} 。$ (4)

其中, βt为相应部分权值。在前m帧继续保持使用原来的MOSSE算法对目标样本进行初始化以及滤波器的学习, 第m+1帧开始, 采用改进后的滤波器进行学习。

4 实验仿真 4.1 实验运行环境

本文的目标检测跟踪算法的实验平台是MATLAB编写:

1) 硬件环境: 计算机的处理器为因特尔i5-8300H, 主频为2.30 GHz, RAM为8.00 GB (7.86 GB可用)。

2) 软件环境: 运用MATLAB R2020b进行代码编写以及仿真运行。

3) 视频序列: 本章实验所需要的视频序列均来自OTB100, 其中视频序列中包括了环境光照变化、外观变化、尺度变换等跟踪过程中一些颇具挑战性的场景。本章测试视频共有四段视频: 车辆视频一段(Trans), 脸部视频两段(FaceOcc1、Trellis), 人体视频一段(Surfer)。

4.2 实验目的

本章节主要通过对目标跟踪算法以及改进的目标跟踪算法进行探讨, 利用原始的MOSSE算法和改进后的MOSSE算法进行MATLAB仿真实验。在同一个视频序列中, 分别使用初始的目标跟踪算法和改进后的算法进行仿真实验, 将结果进行分析对比, 来论证改进滤波器后的MOSSE算法的稳定性更强。其中实验用到的视频序列具体名称、帧数以及视频序列中的挑战因素如表 1

表 1 测试所用视频

4.3 实验结果对比分析 4.3.1 目标外观变化

在目标跟踪中, 目标的外观变化仍然是一个颇具挑战性的难点。因为在目标检测跟踪中, 经常会由于目标的姿态、尺度、旋转等目标外观发生变化使滤波器产生误差, 从而使跟踪目标失败。

本次测试视频为Surfer的一段目标外观变化明显的视频, 图 2中可以看到, 在原始算法中, 当目标外观在215帧开始发生变化时, 已经开始产生误差, 由于误差未被修正最后导致目标跟踪失败。图 3为改进后的算法仿真实验的得到的结果, 与图 2形成对比, 可发现在目标外观发生变化的关键帧, 算法的跟踪框没有发生较大幅度的漂移现象。

注: a)Surfer第35帧; b)Surfer第215帧。 图 2 MOSSE算法跟踪效果图

注: a)Surfer第35帧; b)Surfer第215帧。 图 3 改进后MOSSE算法跟踪效果图

4.3.2 目标的模糊运动

有些目标运动的环境可能由于光照视线问题导致运动模糊。测试视频为Trans, 从视频序列中可以看出目标的运动非常模糊且外观发生变化。图 4为原始算法的仿真实验结果, 在第124帧目标发生形变时仍然可以跟踪到目标的中心, 在图 5改进算法的仿真结果中, 在第124帧目标发生形变时, 跟踪框发生了后移, 但依旧可以跟踪到目标。

注: Trans第26帧; Trans第124帧。 图 4 MOSSE算法跟踪效果图

注: a)Trans第26帧; b)Trans第124帧。 图 5 改进后MOSSE算法跟踪效果图

4.3.3 目标遮挡

在目标遮挡中, 测试视频为: FaceOcc1。该视频序列包含了目标从完整到目标被遮挡, 再从被遮挡移出来, 通过进行MATLAB仿真, 图 6为原始算法, 在第267帧时, 跟踪框已经完全漂移, 无法跟踪到目标中心, 图 7改进算法中在267关键帧仍然可以跟踪被遮挡后的人脸。

注: a)FaceOcc1第48帧; b)FaceOcc1第267帧。 图 6 MOSSE算法跟踪效果图

注: a)FaceOcc1第48帧; b)FaceOcc1第267帧。 图 7 改进后MOSSE算法跟踪效果图

4.3.4 光照环境变化

在OTB100的视频序列中的Trellis视频序列主要是目标在光照环境变化的场景中移动。图 8中当目标所在的环境中光照产生非常明显的变化时, 初始的MOSSE算法在214帧就已经跟踪失败, 图 9可以看出改进的MOSSE算法在跟踪人脸时, 在214帧可以看出跟踪框仍然可以跟踪目标的中心位置。

注: a)Trellis第47帧; b)Trellis第214帧。 图 9 改进后MOSSE算法跟踪效果图

注: a)Trellis第47帧; b)Trellis第214帧。 图 8 MOSSE算法跟踪效果图

4.4 目标跟踪的准确性和实时性结果比较

以上已经针对MOSSE算法以及改进后的算法进行了MATLAB实验, 并通过对比得到改进后算法的鲁棒性更好, 本节主要针对相关滤波中的其他算法以及深度学习方法进行定量比较, 分别对各个算法检测跟踪的准确性和实时性进行列举, 跟踪数据列表如表 2表 3

表 2 各算法检测跟踪的准确性结果  

表 3 各算法检测跟踪的实时性结果

5 总结

本文阐述了相关滤波中的MOSSE、KCF、CSK、CN算法。其中基于相关滤波算法重点研究了MOSSE算法, 分别对MOSSE算法的原理、算法流程等进行了一一描述, 分析了它在该领域的优越性和亟待需要改进的地方。

由于该算法存在抗漂移能力不足, 在滤波器产生偏差时, 无法及时通过校正系统对误差进行校正。本文在原有的MOSSE算法的基础上引入误差校正思想, 及时修正滤波器产生的误差, 改进后的算法在保证原有算法的准确度的前提下, 检测跟踪的实时性提升到原来的五至六倍, 在目标外观变化的稳定性也有所提高, 算法的缺陷在于当环境亮度发生改变时, 其抗漂移能力仍然达不到令人满意的效果, 并且无法对目标尺度模型进行更新, 这将是我们下一步继续研究的难点问题。

参考文献
[1]
李宁. 复杂动态环境下人体检测与跟踪算法的研究与实现[D]. 武汉: 武汉工程大学, 2017.
[2]
WAGN M M, LIU Y, HUNAG Z Y. Large margin object tracking with circulant feature maps[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, Australia: IEEE, 2017: 4800-4808.
[3]
刘明华, 汪传生, 王宪伦. 基于特征可分性和稳定性度量的多特征融合目标跟踪算法[J]. 控制与决策, 2016, 31(7): 1231-1236.
[4]
吴桐, 王玲, 李钟敏, 等. 基于混合观测模型的粒子滤波跟踪算法[J]. 计算机工程与应用, 2016, 52(6): 172-177. DOI:10.3778/j.issn.1002-8331.1403-0320
[5]
张丹, 陈兴文, 赵姝颖. 基于水平集的TLD目标跟踪改进算法[J]. 计算机工程与科学, 2017, 39(5): 984-991. DOI:10.3969/j.issn.1007-130X.2017.05.025
[6]
MA C, YAng X K, ZHANG C Y et al. Long-term correlation tracking[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston MA, USA: IEEE, 2015.
[7]
成悦, 李建增, 褚丽娜. 基于模型与尺度更新的相关滤波跟踪算法[J]. 激光与光电子学进展, 2018, 55(12): 1-12.
[8]
严小乐. 基于相关滤波的视频运动目标跟踪算法研究[D]. 南京: 南京航空航天大学, 2017.
[9]
岑晓. 基于目标再检测的相关滤波目标跟踪算法[D]. 西安: 西安电子科技大学, 2018.
[10]
杨龙. 基于MOSSE滤波的视觉跟踪算法及其改进研究[D]. 武汉: 华中科技大学, 2014