基于深度学习的改进核相关滤波目标跟踪算法∗
2019-06-01梁华刚高冬梅庞丽琴
梁华刚 高冬梅 庞丽琴
(长安大学电子与控制工程学院 西安 710064)
1 引言
目标跟踪在计算机视觉,视频监控等领域都有重要作用。而目标的特征对于目标跟踪来说又至关重要[10~11]。2013年Naiyan Wang等发表了Understanding and Diagnosing Visual Tracking Systems[1],作者提出了一个框架来判断跟踪系统好坏,并得出一个重要结论:目标提取的特征在追踪系统中是最重要的。传统核相关滤波目标跟踪算法通过提取图像一般特征对目标进行跟踪,当目标发生遮挡快速等形变时,算法跟踪性能逐渐降低。近年来,基于深度学习的相关算法通过提取图像的深度特征,使算法在图像处理以及语音识别等方面有很高的效率。因此,将神经网络应用到核相关滤波目标跟踪的特征提取中来,进而结合高效的核相关滤波计算[6~7],对于提高目标跟踪算法的精确度和快速性有很大的帮助。
Naiyan Wang在NIPS2013提出的Learning a Deep Compact Image Representation for Visual Tracking(DLT)[2]网络第一个把深度学习模型应用于目标跟踪之上,作者提出了“离线预训练+在线微调”的思路,很大程度地解决了跟踪中训练样本不足的问题,但是算法虽然使用了4层的深度模型,效果仍低于一些使用人工特征的传统跟踪方法如Struck。2015年Martin Danelljan在KCF基础上用深度卷积网络提取特征的Convolutional Features for Correlation Filter Based Visual Tracking(Deep-SRDCF)[3],但 是 速 度 不 到 4fps。 2016 年 David Held提出Learning to Track at 100 FPS with Deep Regression Networks(GOTURN)[4]直接用了离线训练+在线跟踪的方案,将速度直接提高到了100fps,但是跟踪准确度比KCF和相关滤波等传统跟踪模型要差。
针对上述问题,本文将卷积神经网络与改进核相关滤波目标跟踪算法相结合,形成一种特征鲁棒性的,跟踪速率也满足实时性要求的目标跟踪算法。
2 VGG-Net神经网络
VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,是ILSVRC-2014中定位任务第一名和分类任务第二名。网络输入大小为224*224的RGB图像,经过一系列卷积层处理。在卷积层中使用了非常小的感受野(receptive field)3*3,甚至有的地方使用1*1的卷积。卷积步长(stride)设置为1个像素,3*3卷积层的填充(padding)设置为1个像素。池化层采用max-pooling,共有5层,在一部分卷积层后,max-pooling的窗口是2*2,步长是2。一系列卷积层之后跟着全连接层。并以此构建了深度为11~19层的卷积神经网络。所有隐藏层都使用ReLu,本文主要采用VGG16来提取目标特征。
3 核相关滤波目标跟踪
相关滤波通过引入循环矩阵解决了样本不足的问题,其次利用核函数将回归计算映射到核空间,把时域内的卷积运算变换到频域内乘积运算,大大减少了运算量[12~13]。
3.1 分类器训练
正则化最小二乘分类器模型因其具有训练速度较快,实现简单等特点,所以常被使用在一些实际问题中。它的训练目标就是用样本x训练出一个如下 f(x)[5]:
使得正则化风险最小:
λ是正则化项参数,用来控制过拟合。
当样本特征在原始空间不可分时,Henriques等通过引入岭回归和循环矩阵将相关滤波器通过核技巧将特征值映射到更高维的空间中,使它在高维空间线性可分。因此基于核的正则化最小二乘法给出岭回归的闭式解为
K为核矩阵,I为单位矩阵,向量 y的元素为 yi,向量a的元素为ai。结合上式可得:
这样,训练分类器的过程从寻找最优的w转化成寻找最优的a。
3.2 快速检测
对于输入的图像块Z,核相关滤波响应为
对Z同样进行循环移位得到大量候选样本集Pi-1Z。KZ为训练样本和所有候选图像块的核,由酉不变核函数定理可知KZ为循环矩阵,且
Kxz为Kz矩阵的第一行,因此可计算出图像Z在所有候选区域的目标概率分 f(z)。
f(z)的取值表示所有候选区域成为跟踪目标的概率值,则它的最大值元素所对应的区域为目标区域。
4 基于深度学习的改进核相关滤波目标跟踪算法
本文利用VGGNet的卷积层提取目标特征,再将提取的特征与核相关滤波相结合。我们使用MatConvNet库和VLFeat库来实现VGGNet网络特征提取及特征提取可视化过程。
4.1 特征提取
特征提取部分主要目的是利用VGGNet网络提取输入图像的特征图,因为本文只利用其进行特征提取,所以只采用了前面卷积层,不包括池化层POOL5以及其后的三个全连接层FC6、FC7、FC8。为了直观展示特征提取网络每一层提取到的特征图,本文用vl_imarraysc函数特征提取过程进行可视化处理。输入网络的原始图片以及部分提取出的特征图如图1所示。
由图1可以发现,卷积层提取图像深度特征时,低层提取的卷积特征具有较多细节信息,可以帮助算法对目标进行精确定位,越往后卷积层可视化越模糊,虽然越深网络输出卷积特征具有较多的语义信息,但是这并不适用于目标精确定位。因此,本文通过实验对比选取前4层卷积特征输出对相关滤波器进行训练。
图1 提取输入图像HOG特征、RGB特征、深度特征
通过4层卷积层特征进行训练,会得到4个相关滤波器,本文使用权重加权方式结合不同卷积层特征输出,在第四层先求得响应图谱中最大值,然后加入回归权重,再逐层传递到低层的响应图中。
4.2 改进核相关滤波目标跟踪框架
传统的CF跟踪算法是用岭回归做分类,A0是所有循环平移图像块后构成的循环矩阵:
改进后框架在上式加入了更多的背景信息[8],将上式改为
式(9)中Ai为对应目标上下文块构成的循环矩阵,使它们回归到0。
4.3 卷积层提取特征结合改进核相关滤波进行检测
在VGG-Net卷积层中,每一卷积层可以提取出目标高维特征X,X大小为M×N×L,M和N表示提取特征的宽和高,L表示特征的维度。将X进行循环移位得到大量训练样本,用高斯分布函数来求得每个训练样本对应的高斯分布标签y。将训练样本和标签作为输入再变换到频域内,学习得到相关滤波器W,通过结合式(9)可求得W如下:
式中W是回归参数,上式对最小二乘求解可得到参数的目标函数,这个函数对应着滤波模板。使用卷积层特征训练滤波器,再将其进行离散傅立叶处理,之后将滤波器变换到频域。则滤波器在频域的表达式为
使用上式得到滤波器表达式对图像进行滤波操作,响应值按下式计算:
5 实验
5.1 实验环境及参数
实验通过下载fast-rcnn-vgg16-pascal07-dagnn.mat模型并在卷积神经网络工具箱matconvnet下进行实验,算法采用Matlab 2014a编程,试验硬件环境Inter Core i 5-2450M CPU和GTX1070,电脑内存配置为4.00GB和32GB。实验中所有用到的视频都从 0TB-50[14]和 0TB-100 Sequences[14]里统一下载。
5.2 评价标准
为了定性定量地分析本文算法的性能,文中使用跟踪速率、精确度作为实验评价标准[9]。
5.3 不同特征算法对比试验
表1 试验所选视频及其主要挑战
表2 算法在测试视频上的跟踪速率
表3 算法在测试视频上的跟踪精确度
由上表可以看出,提取目标传统HOG以及RGB颜色特征时,当目标存在一定光照,尺度影响时,算法的跟踪准确率较低,但是当提取目标深度特征时,算法整体跟踪精确度较高,准确度达到90.5%,并且跟踪速率也达到实时效果。
图2 提取RGB、HOG+RGB以及深度特征时算法精确度图
图2 从上至下分别展示提取HOG特征、HOG+RGB特征以及深度特征时,算法整体在选取6组视频上的精确度对比图,由图中可以看出,提取图像深度特征对目标进行跟踪时,算法具有较强的鲁棒性,跟踪精确度较高。
6 结语
本文提出深度学习的核相关滤波目标跟踪算法,通过VGGNet提取目标的深度特征并结合核相关滤波检测算法,使目标发生遮挡、快速运动等时,算法鲁棒性更强,达到改进目的。