闵召阳,赵文杰
卷积神经网络与时空上下文结合的目标跟踪算法
闵召阳,赵文杰
(空军航空大学 航空航天情报系,吉林 长春 130022)
本文所提算法是一种卷积神经网络与时空上下文结合的目标跟踪算法。将卷积神经网络算法融入时空上下文算法框架下,使得跟踪系统整体的鲁棒性有显著提高。引入Kalman滤波来处理目标被严重遮挡时,跟踪框容易漂移的问题。此外,整个跟踪系统采取由粗到精的双重目标位置定位方式,由时空上下文算法实现目标初定位,由卷积神经网络进行目标位置的精确定位。经实验验证,算法不仅稳定性和鲁棒性较好,而且实时性的条件也基本满足。
目标跟踪;时空上下文;卷积神经网络
目标跟踪是计算机视觉领域比较热门的研究热点之一,目前在这方面有很多优秀的算法,但是这些算法通常只能在处理某一类问题时表现出色,很难找到一种算法在应付目标的尺度变化,形状变化,运动速度和方向变化,环境光照以及目标遮挡等一系列问题时都保持鲁棒的跟踪。因此未来一段时间里,跟踪问题在计算机视觉领域中的研究难度依旧较高。
生成式和判别式是目前针对目标跟踪算法的两种主流的分类方法。生成式跟踪算法[1]需要对局部或全局图像进行搜索,找出重构误差最小的区域作为预测位置。其工作重点在于如何利用学习到的特征对目标进行描述,并构建外观模型。而判别式跟踪算法在对背景信息的利用上比较充分,但是跟踪的准确度容易受样本的影响。两类算法各有优劣,生成式跟踪算法忽略了背景信息对目标的影响,目标与背景相似时容易造成误跟踪,判别式跟踪算法[2-5],将目标与背景的信息都进行了利用,其目的是寻找能够将目标和背景分离开的最优化决策边界,从而将其转化为二分类问题。
时空上下文目标跟踪算法(Spatio Temporal Context, STC)对目标位置的确定使用了时间和空间的局部相关性提供辅助信息,又称上下文关系。该算法由Zhang[6]等人提出。这种算法通过计算目标及其周围区域的低阶特征进行统计建模,并利用置信图进行最大似然估计,预测出目标位置。算法本身计算量较小,且在应对短时部分遮挡时具有较高的稳定性。但是该算法仍然存在以下几个问题:①STC仅仅利用了图像的低阶特征,当目标与背景比较相似的时候,容易导致跟踪失败;②不具备检测能力,一旦跟踪框漂移出去,目标无法找回;③该算法在应对部分遮挡以及短时遮挡时表现较好,一旦遮挡时间拉长,跟踪效果就会大打折扣。
针对上述问题,本文将卷积神经网络(Convolutional Neural Network, CNN)融入时空上下文跟踪框架下,形成一种新的目标跟踪算法。将时空上下文算法作为跟踪器,将卷积神经网络作为检测器,提高了目标经过相似背景时的跟踪鲁棒性。对于前景信息对目标造成严重或长时遮挡的情况,启用Kalman滤波机制对目标的速度,加速度以及位置信息进行预估,并在预测区域利用卷积神经网络进行检测,从而使得目标在这两种情况下的跟踪稳定性得到提升。此外,基于目标当前的置信图对时空上下文模型进行更新同时对卷积神经网络模型进行微调,而更新速率由目标当前位置前两帧位置置信图的梯度决定,避免了目标被遮挡时模型进行错误的更新。
时空上下文算法是基于Bayes算法框架,对目标和其周围区域建立时空对应关系,利用图像的低阶特征进行统计建模,通过对置信图的计算,找到似然概率最大的区域,即为下一帧跟踪结果位置。
假定当前帧中,目标的位置已知,设为*,则当前帧的图像特征可以表示为:
式中:()表示点位置的图像灰度;(*)表示目标在当前帧中的局部区域,然后文献[7]给出了目标的置信度表示:
式中:()为目标的置信图;表示尺度参数;表示形状参数。
式中:()表示图像的灰度特征;表示权重函数;-*表示点与目标位置*的距离关系。从帧速与目标移动速度对比来看,通常情况下与上一帧目标位置距离越近的点对目标越重要,因此要赋予更大的权重。对权重函数的定义为:
式中:是尺度参数;而是归一化参数。
目标置信图()的定义式为:
式中:表示形状参数;表示尺度参数;表示归一化系数,实验表明,=1时跟踪效果较好。结合上述各公式可以将(2)式改写为:
式中:()表示处的像素值,Ä代表卷积运算,由于时域的卷积可以转化为频域的乘法运算,提高计算速度,因此通常利用快速傅里叶将上式转换到频域:
进而可以学习出空间上下文模型:
基于帧目标位置找出+1帧的局部预估区域:
其中对c+1()的定义为:
通过计算出+1帧中最大似然概率在置信图中的位置,完成当前帧的跟踪。
深度学习在图像识别领域已经取得了显著的效果,而CNN又是深度学习的一个重要分支,它在计算机视觉的各个研究方向上都是一个研究热点[8]。CNN由卷积层和全连接层组成,可以通过权值共享,降采样和多卷积核的方式降低参数数目并提高识别效果,在学习目标高维特征方面具有突出优势。而本文的CNN结构输入设计为区域图像,使得目标的检出效率和跟踪的鲁棒性都有所提高。
CNN是一个多层次模型。每一层都可以通过多种特征处理方式生成多个特征面,而特征面又包含多个神经元。CNN提取特征的部分分为降采样层(S层)和特征提取层(C层)两种,降采样层跟在特征提取层之后,通常在训练网络时特征提取层的数量采用两层及以上的结构,这样会使训练出来的网络对变形有较高的容忍能力。考虑到算法本身要兼顾跟踪的实时性和检测的准确性,本文特征提取层数量设置为两层然后通过全连接层和输出层输出结果如图1所示。
本文将CNN算法融入STC框架,同时引入了Kalman滤波进行强遮挡情况下的位置预测。对于检测模块,将STC算法预测的目标及其时空上下文区域作为卷积神经网络识别的初始区域,避免了卷积神经网络耗时的全图搜索同时弥补STC算法不能跟踪重现目标的缺陷,当目标被严重遮挡时,启用Kalman滤波算法预测目标相关信息,并利用卷积神经网络算法搜索该区域,将搜索结果作为最终位置输出。本文算法框架如图2所示。
卷积神经网络的优势体现在其海量的样本数据上,而训练过程相对耗时,因此在跟踪前需要进行离线训练,本文选用了城市SUV和多车交叉行驶两个视频进行仿真实验,针对两个实验视频分别进行了两次模型训练,输入图片分为正负样本,正样本为小汽车目标,负样本为背景图片,针对第一种实验视频的两类图片大小经处理后都为18pixel×27pixel,针对第二个视频的两类图片大小经处理后都为10pixel×10pixel。图片采集来源于UIUC Image Database,正负样本总数量为20183张。以线下训练的方式得到了小汽车的广义化特征。
在第一层卷积操作中,权重矩阵设为1,其中有6种卷积核,也即6个特征映射矩阵:
1=[11,21,3141,51,61],"1Î3×11×11(11)
每个卷积核对应的参数在第一层卷积操作中的表示为1,核的通道数为3,尺寸为5×5。下采样间隔设为1。本文激活函数采用常用的sigmoid函数,公式如下所示:
第二层卷积操作公式不再赘述,核通道数仍为3,尺寸变为3×3。CNN特征提取部分之后为全连接层,最后是输出层,用以输出数据的最终特征,公式如下:
4=43(13)
本文选用欧氏距离作为目标函数求取正负样本间的相关程度,公式如下:
学习到的权重可以映射到目标的参考区域。
目标的运动跟踪采用STC跟踪器与CNN相结合的方式进行,在视频跟踪的大部分时间里STC算法表现比较稳定,尤其是应对前景信息短时或部分遮挡目标时有较好的适应性。但是当目标在帧间运动距离过大、遮挡严重或者遮挡时间过长时,容易导致跟踪失败,因此本文引入Kalman滤波进行位置预测[9],目标的中心坐标位置(,)是目标跟踪中状态方程的重要参量,状态方程为:
式中:n表示系统噪声;a-1表示-1时刻的加速度;v-1表示-1时刻的速度;x表示时刻的状态。
跟踪正常时,将上式得出的值视为真值与前几次的位置信息保留,用以计算上一帧的速度v-1和加速度a-1,状态和观测方程可写为如下所示:
式中:表示状态转移矩阵;l表示观测噪声;表示待估参数。
Kalman滤波机制是在目标被严重遮挡或者出现其它问题时启用。利用上一帧位置和速度信息预估出当前帧的位置,在该位置下利用CNN搜索,本文搜索范围默认为局部上下文区域的大小。
本文算法实现具体流程如下:
1)创建正负样本训练数据集;
2)创建CNN模型;
3)训练CNN;
4)输入视频帧;
5)初始化目标跟踪框;
6)STC算法跟踪,给出跟踪结果(包括目标位置、空间上下文区域和置信图);
7)CNN算法在给出的空间上下文区域内进行搜索识别,给出目标结果置信图;
8)使用Kalman滤波预测出目标的速度、加速度和位置信息并将值保留(若STC和CNN没有检测到目标则不对模型进行更新);
9)判断:当两种算法都对目标做出了标定时,转入步骤10);若STC或CNN其中一种算法预估出目标所在位置,转入步骤11);若两种算法都没有捕获目标,则用上一步Kalman算法得到的速度和加速度预估出位置,对置信度进行计算并与阈值对比,小于阈值时认定当前帧中无目标,保留速度、加速度和当前位置信息,并在下一帧开始时,直接启用Kalman滤波进行位置预测,然后将当前结果视为最终位置,转入步骤12);
10)用STC和CNN两种算法所取得的置信度作为衡量标准,筛选出值高的位置作为备选结果;
11)求得目标最终位置,同时刷新步骤8中的位置信息;
12)模型更新,输入下一帧。
为测试本文所提算法的性能,将本文算法与目前主流的几个算法进行实验对比分析,如图3、图4所示,深灰色框为MS[10],灰色框为TLD[5],浅灰色框为CT[11],黑色框为本文算法。硬件环境:CPU Intel Core i5 2.60GHz,GPU NVIDIA GeForce GTX950M,安装内存4.00GB,系统类型64位操作系统。软件平台:MATLAB R2010b。本文使用两个标准实验测试视频分别对本文算法和主流算法进行比对。
第一组实验选用的是320×240城市SUV视频。如图3和图4所示,第34帧的时候进入遮挡,第46帧时,几种算法都还保持着一定的稳定性,这是由于两种算法在应对短时局部遮挡时表现都比较好,然而46帧~71帧都是遮挡的过程,STC算法在应对长时严重遮挡时跟踪性能明显下降,在77帧经过遮挡区域后时,主流算法的跟踪框都出现比较严重的偏移。120帧时,出现与车相近的背景信息,主流算法看跟踪框出现明显偏移,而由于本文算法此时发挥了CNN的优势,跟踪比较稳定,161帧时,主流算法跟踪框基本无法找回。
第二组实验选用的是352×288行人视频。如图4所示,视频在10帧时行人开始出现交叉,47帧左右出现遮挡,此时TLD和MS跟踪框漂移出去,146帧时目标附近出现相似的背景,STC算法跟踪框在这种情况下,出现了误跟,导致目标跟踪失败,而本文算法由于利用了CNN算法的优势,因此对目标的识别稳定性较好,在遇到相似背景时能够保持较高的分辨能力。
图3 实验视频一:算法实验序列截取结果
图4 实验视频二:算法实验序列截取结果
表1给出了包括本文算法在内的4种跟踪算法的跟踪成功率对比,表2给出了4种算法的平均帧率对比。从表中可以看出,虽然平均帧率这一指标上略低,但是本文算法在跟踪成功率上高于主流算法,这是因为本文算法引入了CNN和Kalman滤波,增强了跟踪的鲁棒性,但同时也提高了算法的复杂度和计算量,因此平均帧率与主流算法相比有所降低,不过基本满足实时性要求。
表1 成功率对比评价表
表2 平均帧率对比评价表
本文所提一种CNN与STC相融合的目标跟踪算法。将CNN算法嵌入在STC算法的框架中,实现了目标的稳定跟踪,并且稳定性得到显著加强,并且本文算法引入了Kalman滤波预测应对长时严重遮挡,弥补了STC算法的遇到严重遮挡后跟踪框漂移不能检测找回的不足。经实验验证,本文算法很好地融合了STC和CNN的优势,鲁棒性强,并且在遭遇严重遮挡后目标重新找回时情况表现良好。而算法的实时性上较STC算法相比有所下降,但是20.9f/s的平均跟踪速率基本可以满足实时性的要求。
[1] 吕枘蓬, 蔡肖芋, 董亮, 等. 基于TLD框架的上下文目标跟踪算法[J]. 电视技术, 2015, 39 (9): 6-9.
LV N P, CAI X Y, DONG L, et al. The context of the target tracking algorithm based on TLD framework[J]., 2015, 39(9): 6-9.
[2] WU Y, LIN J, YANG M H. Online object tracking: A benchmark[C]//, 2013: 2411-2418.
[3] Grabner H, Leistner C, Bischof H. Semi-supervised on-line boosting for robust tracking[C]//, 2008, 5302: 234-247.
[4] Babenko B, Yang M H, Belongie S. Robust object tracking with online multiple instance learning[J]., 2011, 33(8): 1619-1632.
[5] Kalal Z, Mikolajczyk K, Matas J. Tracking-learning-detection[J]., 2012, 34(7): 1409-1422.
[6] ZHANG K H, ZHANG L, LIU Q S, et al. Fast visual tracking via dense spatio-temporal context learning[C]//, 2014, 8693: 127-141.
[7] 刘威, 赵文杰, 李成. 时空上下文学习长时目标跟踪[J]. 光学学报, 2016(1): 179-186.
LIU W, ZHAO W J, LI C. Long-term target tracking based on spatial and temporal context learning[J]., 2016(1): 179-186.
[8] Krizhevsky A, Sutskever I, Hinton G E. Image net classification with deep convolutional neural networks[J]., 2012, 25(2): 2012.
[9] 王江涛, 杨静宇. 遮挡情况下基于Kalman均值偏移的目标跟踪[J]. 系统仿真学报, 2007, 19(18):4216-4220.
WANG J T, YANG J Y. Target tracking based on Kalman mean shift in occlusion[J]., 2007, 19(18): 4216-4220.
[10] Collins R T. Mean-shift blob tracking through scale space[C]//on, 2003, 2: 234-240..
[11] ZHANG K, ZHANG L, YANG M H. Real-time compressive tracking[C]//, 2012: 864-877.
[12] Everingham M, Gool L V, Williams C K I, et al. The Pascal, visual object classes (VOC) challenge[J]., 2010, 88(2): 303-338.
A Target Tracking Algorithm Combining Convolution Neural Network with Spatio Temporal Context
MIN Zhaoyang,ZHAO Wenjie
(,,130022,)
In this paper, an algorithm of the target tracking combining convolution neural network with the temporal and spatial context is proposed. In the framework of the context-based algorithm, the convolutional neural network algorithm is integrated to improve the stability and robustness of the tracking system. The Kalman filter is introduced to deal with the problem that the target is obscured. In addition, the whole tracking system adopts a coarse-to-fine target location method, and the target localization is achieved by the temporal and spatial context algorithm, and the target location is accurately located by the convolution neural network. Experimental results show that the proposed algorithm is stable and robust for real-time performance.
target tracking,spatio temporal context,convolution neural network
TP391
A
1001-8891(2017)08-0740-06
2016-12-29;
2017-02-21.
闵召阳(1992-),硕士研究生。研究方向:模式识别与智能系统。E-mail:361109520@qq.com。
赵文杰(1968-),博士。研究方向:光学成像自动目标识别。