蒲 磊 魏振华 侯志强 冯新喜 何玉杰
①(火箭军工程大学作战保障学院 西安 710025)
②(西安邮电大学计算机学院 西安 710121)
③(阳光学院人工智能学院 福州 350015)
计算机视觉是当前人工智能领域的热门研究方向,从感知上可分为图像分类[1]、目标检测[2]、图像分割[3]、视觉跟踪[4]等多个子任务。作为计算机视觉的基础和难点问题,视觉跟踪持续受到广泛的关注与研究,是实现视觉认知和推理等上层任务的前提,在诸如视频监控、无人驾驶、视觉导航、人机交互等领域都有着广泛的应用。尽管经过了多年的发展,但受限于场景中目标与背景的复杂变化,要实现鲁棒且高效地跟踪依然是一项富有挑战性的课题。
近年来,视觉跟踪算法的整体研究框架可以分为两个方向,一是以岭回归和循环移位为核心的相关滤波跟踪框架,二是以全卷积网络和模板匹配为基础的孪生网络框架。Bolme等人[5]最早提出基于最小二乘的相关滤波算法,该算法设计简单,采用灰度特征作为外观表示,跟踪速度接近700fps,迅速引起了广泛关注。但是该算法依然采用粒子滤波方法进行样本采样,限制了可利用样本的数量。接着,Henriques等人[6]引入循环矩阵的思想,通过单一样本实现密集采样,极大地提高了模型的判别力。但是单通道灰度特征限制了算法对复杂场景的应对能力,对此,Henriques等人[7]引入更加富有表达能力的多通道HOG(Histogram Of Gradient)特征,使得算法对结构信息的表达更加丰富,并推导了相应的块图像循环方式和多通道相关滤波模型。在此基础上,Danelljan等人[8]通过对RGB图像进行分析,构建颜色属性特征,并将其和相关滤波算法进行结合,可以很好地应对目标形变、旋转变化等复杂跟踪场景。在此基础上,大量的研究人员从改进特征表征[9,10]、多任务学习[11]、可靠性约束[12]、边界效应处理[13–15]、尺度估计[16]等方面开展了一系列的研究工作。
随着深度学习技术的发展,基于孪生网络的视觉跟踪框架逐渐成为研究的主流[17]。和相关滤波算法不同的是,该框架将视觉跟踪的特征提取、搜索策略、观测模型3个模块集成在一起,建立了端到端的跟踪算法系统。通过离线训练,使网络获得了适应于目标跟踪任务的特征表达能力,在跟踪阶段通过滑窗的方式将目标模板特征和搜索区域特征进行相似性匹配,选择相似度最高的点作为目标在当前帧中的位置。由于网络的在线更新需要大量的迭代运算,将在很大程度上影响跟踪算法的速度,对此,孪生网络采用单次学习的方法,提取首帧目标信息作为跟踪模板,在后续帧中不进行模型更新。这种模板不更新方式有两点好处,一是可以保证算法在GPU上具有较高的跟踪速度,二是可以避免模型污染。但由于缺乏模型更新,使得算法的性能提升受到一定的限制。对此,研究人员从和相关滤波结合、引入在线更新[18,19]、边框回归[20]等方面较好地提升了算法的跟踪精度。
但是在孪生网络跟踪框架下,针对骨干网络的选择与设计研究较少,主要集中在3个方面,一是研究各层之间如何相互连接,二是如何组合不同层的输出以提高特征表达的质量,三是选取更深的网络。这三种方法在提高特征表达能力的同时,都引入了额外的参数,增加了计算量。和基于特征层融合的方法不同,本文从最基本的卷积核出发,提出了一种不增加算法参数量的孪生网络特征增强方法,通过对离线训练和在线更新进行分别设计,相比于基准算法,在跟踪精度和成功率上都有较大幅度的提升。
本文提出了一种基于非对称卷积的孪生网络跟踪算法。首先对基准算法SiamFC进行简要介绍,接着利用卷积运算的可加性设计非对称卷积核组,并与SiamFC进行结合,最后给出了算法流程示意图。
如下所示,K1和K2代表两个卷积核,I代表特征图输入:
在该卷积计算的公式中,⊗表示卷积运算,⊕表示相加运算。该公式表明卷积运算满足可加性。
目前卷积神经网络的卷积核普遍采用d×d的方形结构,本文通过采用大小分别为d×1, 1×d和d×d的卷积核进行并联输出再相加的方式来达到丰富特征空间的目的,如图1所示。
图1 卷积核可加性示意图
由于添加的 1×d和d×1均为非对称卷积核,统一将3个核组合在一起称为非对称卷积核组。
一些早期的工作证明了标准的d×d卷积可以分解为连续的两层d×1 和 1 ×d卷积,从而达到减少参数和降低计算量的目的,常用于神经网络压缩和加速领域。另外在图像分割领域,EDANet使用了类似的策略对3 ×3卷积核进行分解,在性能有轻微下降的条件下,节省了1/3的参数量。本文的策略和以上方法不同,主要在训练阶段将原始的方形卷积核都替换为多个非对称卷积核组,以此来挖掘更加丰富的特征信息。在测试阶段,将3个卷积核进行叠加还原为原始大小的方形卷积核。所以,本质上并未增加参数量,图2和图3便是以3×3的卷积核为例子,说明训练阶段和测试阶段卷积核的不同形式。
图2 训练阶段的卷积核输出形式
图3 测试阶段的卷积核输出形式
在训练阶段,通过利用不同形式的卷积核可以起到扩充特征空间的目的,实现对不同长宽比目标的适应性学习。而在跟踪阶段,利用卷积运算的可加性将不对称卷积核组融合为原始的卷积核大小,降低了跟踪阶段的运算开销。
表1和表2显示了特征提取网络在训练阶段和跟踪阶段的不同卷积核构成情况,将通过不对称卷积组替换后的卷积神经网络命名为ACSiam。
表1 训练阶段的ACSiam网络结构
表2 跟踪阶段的ACSiam网络结构
在训练阶段,对Conv1到Conv5的卷积核都进行了替换,但是在跟踪阶段,主要是将Conv1到Conv4的非对称卷积核组进行融合,恢复为原始的网络结构,而Conv5的卷积核组分别进行输出,可以获得不同卷积核形式下关于目标的丰富特征,最后对多分支的输出进行融合。
将提出的非对称卷积模块和SiamFC算法进行结合,对AlexNet网络进行修改,对所有卷积层都进行了变换,使网络可以挖掘关于目标更多的不变性。另外,为了进一步提高算法对不同尺度目标的适应能力,本文采用了一种模型集成方法。首先,对网络的前4层按照上述的训练和测试方法进行设计,对网络的最后一层添加3个不对称卷积核后,分别对模板特征和搜索区域特征进行相关运算得到多个响应图,最后进行加权融合后选取最大值即为目标的位置,如图4所示。这种方案可以有效地应对各类目标的不同变换形式,有效提升算法的跟踪性能。
图4 算法流程示意图
与SiamFC类似,我们使用AlexNet作为基础网络,并对网络的部分参数进行了调整,如表1和表2所示。为了适应尺度的变化和降低算法运算负担,仅在3个尺度上进行尺度估计。在训练数据方面,主要选取了ILSVRC-VID视频分类数据集和近年来提出的GOT-10k目标跟踪数据集,采用方差为0.01的高斯分布进行初始化,总共训练50个周期,前5个周期的学习率设为10-7到10-3的线性增长学习率,后45个周期采用余弦退火学习率,并采用动量为0.9的随机梯度下降方法作为优化器。
OTB2015数据集[21]提出于2015年,由100视频序列组成,几乎涵盖了大部分跟踪场景。在OTB2015数据集中,将本文算法(ACSiam)与其他9个算法进行了比较,包括:HCF[22],Staple[23],LCT[24],KCF[7],CFNet[25],DCFNet[26],Siam-FC[17],SiamRPN[20],MEEM[27]。
如图5所示,为了更加直观地呈现算法的跟踪效果,在包括Bolt, Dragonbaby, Skiing, David3,ACSiam, Motor Rolling等5个比较困难的视频上,将本文算法ACSiam和SiamFC, CFNet, SiamRPN进行对比分析。
(1)背景干扰:孪生网络算法通过离线训练学习较为泛化的目标特征表达,使得当场景中存在与跟踪目标相似度较高的背景信息或者场景比较昏暗时,跟踪效果普遍较差。比如在“Bolt”视频中,目标不停在运动,且环境中还要许多和目标外形非常接近的干扰对象。SiamFC和CFNet由于特征表达能力不足,都未能跟住目标。本文算法通过引入非对称卷积模块对网络进行特征增强,可以挖掘关于目标更加深层的特征表达,在应对相似物体干扰时具有明显的优势。
(2)旋转变化:目标旋转主要包括平面内旋转和平面外旋转,在图5中的“Skiing”和“Motor-Rolling”两个视频中的目标运动均属于平面内旋转。要想成功跟住旋转变化的目标,需要提取的模板特征满足旋转不变性。本文提出的非对称卷积核模块通过引入相互垂直的1维卷积可以增强特征对旋转变化目标的适应能力,相比于采用常规方形卷积的SiamFC和CFNet算法,具有更加鲁棒的跟踪性能。
图5 算法定性分析对比图
(3)对称变化:在“Dragonbaby”和“David3”视频序列中,都存在跟踪目标的对称变化,比如“Dragonbaby”的转头和“David3”的转身动作。目标的对称变化会造成左右像素信息的交换,基于方形的卷积核运算便不具备特征的对称性,而1维卷积分别在左右和上下交换中都可以体现出一定程度的不变性。通过将非对称卷积核组应用于孪生网络算法,可以在增强网络对对称变化场景的处理能力,实现稳定且鲁棒的跟踪结果。
图6显示了本文算法和对比算法的跟踪精度和成功率的对比曲线图。得益于非对称卷积核的应用以及在大规模数据集上进行训练,本文算法相对于SiamFC,在精度和成功率上都有明显的性能提升,在基准算法SiamFC上精度提高了8.7%,成功率提高了4.5%。相比于DCFNet和CFNet,本文算法依然取得了更好的性能表现。SiamRPN算法采用了更好的尺度估计方案和更大规模的训练数据,使算法的性能相较于基于SiamFC的本文算法有一定的优势,但是本文算法仍然采用SiamFC的AlexNet骨干网络,使得模型参数量明显小于基于ResNet网络的SiamRPN算法。
图6 算法的距离精度曲线图和成功率曲线
我们在图7和图8中以不同属性表示跟踪结果。红线代表最佳结果,绿色代表次优结果。从图7和图8可以看出,本文算法在大部分属性上取得了最优的跟踪精度和成功率。和SiamFC相比,本文算法在几乎所有属性上都获得了较大幅度的性能提升。在跟踪精度方面,ACSiam在遮挡、低分辨率、出视野等场景下取得了最好的跟踪性能,在背景杂波、运动模糊、目标形变、光照变化、平面外旋转以及尺度变化场景下取得次优的跟踪结果,主要得益于网络模型在训练阶段采用了更加多样的卷积核形式,使得对不同长宽比目标的细节特征有了更强的表达能力,使得在面对部分遮挡、低分辨率、目标形变、旋转等场景都有更好的处理能力。在跟踪成功率方面,ACSiam算法在背景杂波、运动模糊、遮挡等场景下取得了最优的跟踪结果,而在形变、光照变化、低分辨率、尺度变化上取得了次优的性能表现,主要得益于采用了多个模型组合输出的结构,相比于单一输出方式,算法在应对各类复杂场景时,跟踪成功率明显增加。在部分场景普遍稍次于SiamRPN算法,以尺度估计为例,SiamRPN算法由于采用了检测领域的RPN回归网络进行尺度估计,使得最后获得的估计结果相比于传统的多尺度搜索方法更加精准,从而可以获得比本文算法更好的尺度估计性能。
图7 不同属性下算法的跟踪精度对比曲线
图8 不同属性下算法的跟踪成功率对比曲线
本文算法通过对卷积核的组合训练,本质上加强了对目标中心区域的特征提取能力,在应对背景杂波、低分辨率等场景都有着明显的优势。另一方面,通过对一维卷积核的引入,由于具有更好的旋转不变性,从而加强了网络对旋转目标的处理能力。多模型集成的方法也进一步增强了网络的鲁棒性,提高了对多种复杂场景的应对能力。
从网络结构的构建机理上出发,本文算法主要基于3点:(1)卷积运算的可加性,使得采用卷积核组对原始卷积核进行替换有了可能性;(2)训练阶段和测试阶段的可分离性,从结构上讲,两个阶段的网络结构是不一样的,但是最终的模型输出结果是一致的,这就让我们可以将更多的运算负担放到训练阶段,而在测试阶段就恢复如初,这种可分离性可以应用到很对对运算量要求较高的领域;(3)模型融合方法,通过在最后一层采用不同大小的卷积核,可以进一步挖掘不同类型目标的特征信息,再采用模型融合的方法实现互补,可以有效提升跟踪算法的成功率。
近年来,针对神经网络结构设计的研究越来越多,从加深加宽逐渐到变浅变窄。为了能够将深度网络用于实际生活中,需要采用多种方法对模型进行压缩。如果单纯使用两个1维的卷积核实现对正方形卷积核的近似,可以在很大程度上降低模型的参数量。同时,在已经设计好的模型结构中,可以通过构建适应于特定任务的卷积核组来对网络进行重新训练,从而提高对特定任务的特征表达能力。而在实际部署的时候,可以利用卷积运算的可加性实现对模型的恢复,这是一种近乎零参数量增加的方法来换取网络性能的提升。
本文从卷积核的形状出发,提出了基于非对称卷积的孪生网络跟踪算法。通过将原始的卷积核进行分解,构建不对称卷积核组,在训练阶段可以实现对不同长宽比目标的适应性学习,提高模型对旋转变化目标的处理能力,强化对中心信息的挖掘。实验结果表明,本章算法在OTB2015数据集上,相比于基准算法,获得了较大幅度的性能提升。