技术领域
[0001] 本发明涉及一种基于孪生网络和在线模板更新的单目标跟踪方法,属于单目标跟踪领域。
相关背景技术
[0002] 目标跟踪是在给定目标对象的初始位置的情况下,预测目标对象在视频后续每一帧中的位置,广泛的应用于自动驾驶、智能监控、无人机领域等。对于现实世界的应用来说,跟踪过程通常会受到极大的光照变化、外观变化、各种类型的遮挡、以及运动模糊等环境因素的影响。这也使得单目标跟踪不仅成为计算机视觉领域里面一个非常活跃的研究方向,也是计算机视觉感知领域研究的难点之一。
[0003] 现阶段的单目标跟踪算法主要分成三类,它们分别是:生成式算法、相关滤波算法、以及深度学习算法。生成式算法采用特征模型描述目标的外观特征,最小化跟踪目标和候选目标之间的重构误差来确认目标。缺点是过于关注目标本身的特征,忽略背景信息,当目标外观剧烈变化或遮挡时容易出现目标漂移或丢失。相关滤波算法是在频域上进行的,利用训练矩阵可以在频域对角化的性质来确认目标。缺点在于边界效应问题,导致判别器不稳定。深度学习算法采用的深度学习网络提取出的深度特征相对于传统手工特征具备更强的信息表达能力。与前两类算法相比,这类方法在速度和精度上有了明显的优势,获得了优越的性能,从而使得越来越多的研究人员将深度学习网络应用到目标跟踪领域。
[0004] 深度学习中最流行的是孪生网络跟踪模型,这一系列将视觉跟踪任务简化为目标匹配问题,并通过学习目标模板和搜索区域之间的通用相似度图,来确定跟踪对象在搜索区域上的位置。例如,SiamFC在2016年首次将孪生网络引入到单目标跟踪这一领域。SiamRPN首次将目标检测中的区域建议网络引入到孪生跟踪算法中。在此之后建立在孪生网络和目标检测框架上的视觉跟踪模型蓬勃发展。DaSiamRPN和SiamRPN++是提高深度学习跟踪器性能的关键。2020年,研究者们发现由于区域建议网络的引入,这些跟踪器产生了大量冗余的且固定大小的锚框,导致对锚框的数量、大小以及比例等参数非常敏感,鲁棒性不强。因此大量的无锚框孪生跟踪算法被提出来,例如SiamCAR,SiamBAN,SiamFC++,Ocean等。
尽管现有的模型已经取得了良好的跟踪表现。但是在复杂场景下,由于模板的特征始终是固定不变的,从而导致难以精确跟踪过程中具有显著变形、快速运动或遮挡的目标,这将会显著增加跟踪漂移或者丢帧的风险。除此之外,孪生网络两分支提取到的特征信息直接进行简单的互相关后往往会丢失掉一些重要的特征信息。
具体实施方式
[0072] 下面结合实施例对本发明做进一步详细说明:
[0073] 在单目标跟踪领域,固定的模板特征和没有增加显著性的特征信息导致难以精确跟踪过程中具有显著变形,快速运动或遮挡的目标,从而显著增加跟踪漂移或者丢帧的风险。本发明利用一个可学习的浅层网络来学习模板的更新以及特征增强模块来增加特征的显著性;并且将使用到了主干网络的后三层特征图的输出,添加了一些细节信息,使提取到的特征更加的丰富。
[0074] 如图1所示,一种基于孪生网络和在线模板更新的单目标跟踪方法,方法步骤如下:
[0075] 步骤一、数据预处理:将训练用到的数据集中所有文件夹中视频序列的每一张图片裁剪成固定大小,对裁剪后的数据集生成对应的json文件;所述文件夹中的图片包含模板图片Z以及搜索图片X;
[0076] 步骤二、构建网络模型并进行模型训练:首先冻结模板更新模块的参数,仅训练构造好的网络模型以及特征增强模块;接着解冻模板更新模块,单独训练该模块;在整个训练过程中通过降低网络的损失函数进而优化模型,从而得到表现最好的网络模型权重;
[0077] 步骤三、模型测试,在新的数据集中,通过加载步骤二中表现最好的网络模型权重来测试跟踪目标对象的效果。
[0078] 其中,步骤一的具体操作为:
[0079] 将训练所用到的5个数据集中所有视频序列每一张图片裁剪成固定大小后放到对应的文件夹里面,文件夹中存的是用于训练的模板图片以及搜索区域图片,其中模板图片尺寸统一为127*127像素,搜索区域图片尺寸统一为511*511像素。除此之外,还要对裁剪后的数据集生成对应的json文件,方便模型的训练。
[0080] 步骤二的具体操作为:
[0081] 步骤2.1、构建网络模型,所述网络模型包括5部分:用于特征提取的孪生网络、用于进行在线模板更新的模板更新模块、用于增强显著性信息的特征增强模块、用于嵌入模板图片Z和搜索区域图片X信息的特征融合结构、用于目标分类以及回归的分类回归子网络;
[0082] 步骤2.2、将模板图片Z和搜索图片X送入孪生网络,所述孪生网络包括由5层网络组成的模板分支和搜索分支,分别对模板图片Z和搜索区域图片X进行特征提取;为了获取更多的语义以及细节信息,将模板分支后三层网络提取到的特征Zi,i=3,4,5和搜索分支后三层网络提取到的特征Xi,i=3,4,5沿着通道维度进行拼接,得到骨干网络两分支的输出,分别用φ(Z)和φ(X)来表示:
[0083] φ(Z)=Cat(Z3,Z4,Z5)φ(X)=Cat(X3,X4,X5);
[0084] 孪生网络的模板分支和搜索分支为结构相同的resnet‑50网络,并且参数共享。resnet‑50网络是改进过的,具体来说就是移除了两个卷积块中的下采样操作,并且使用空洞卷积,以此来增加感受野,通过修改conv4和conv5最后两块的有效步幅,将步幅设置为1;
将conv4块的空洞率设置为2,conv5块的空洞率设置为4;在每一块后附加一个额外的1×1卷积层,使其输出信道减少到256。
[0085] 步骤2.3、将步骤2.2得到的模板图片特征φ(Z)送入模板更新模块得到更新后的特征 所述模板更新模块由两层全连接网络组成,如图2为模板更新模块的结构流程图:
[0086]
[0087] 其中 表示学习函数,通过学习和训练获得, 表示每个视频序列第一帧的初始模板; 表示先前累计的模板;Zi表示用第i帧预测结果得到的模板; i表示适合第i+1帧预测的模板;
[0088] 步骤2.4、将步骤2.2得到的搜索图片特征φ(X)和步骤2.3得到的 分别送入特征增强模块,如图3为本发明特征增强模块的结构流程图;
[0089] 所述特征增强模块集成了三种注意力模块,分别是通道注意力模块,空间注意力模块,自注意力模块;
[0090] 假定通道注意力模块的输入特征为Y∈RC×H×W,在保持其通道维度不变的前提下,A C×1×1 M C×1×1首先在Y上应用平均池化层和最大池化层来分别生成Y∈R ,Y ∈R ;然后将这两个A M 1×C’ A M
特征维度重整成Y ,Y∈R ,其中C’=C×1×1;之后将Y和Y通过两层感知机以及经过维A M C×1×1 C C×1×1
度重整操作,得到Y ,Y ∈R ;然后将两者相加得到通道注意力权重图A∈R ,具体定义如下:
[0091] AC=MLP(Avg Pooling(Y))+MLP(Max Pooling(Y))
[0092] 最后将注意力权重图与该模块的输入Y进行简单的相乘,得到最终的输出YC∈RC×H×W,具体定义如下:
[0093] YC=Sigmoid(AC)Y
[0094] 空间注意力模块的输入是通道注意力模块中的输出YC∈RC×H×W,在保持特征尺寸C A M大小不变的同时缩减其通道数,首先将Y 分别通过平均池化层和最大池化层,得到Y ,Y ∈
1×H×W A+M 2×H×W A+M
R ;接着将两者沿着通道维度拼接起来,得到Y ∈R ,之后对特征Y 应用具有压缩S 1×H×W
通道作用的7×7卷积核大小的卷积层以生成空间注意力权重图A∈R ,具体定义如下:
[0095] AS=conv2d(concat(Avg Pooling(Y),Max Pooling(Y)))
[0096] 最后将空间注意力权重图和输入特征Y进行简单地相乘,生成空间注意力特征YSC×H×W∈R ,具体定义如下:
[0097] YS=Sigmoid(AS)Y
[0098] 自注意力模块是由两分支组成的,输入特征Y∈RC×H×W,一分支将Y维度重整成Y1∈1×C×N 2 1×N×1
R ,其中N=H×W;另一分支对Y应用具有维度重整操作的1×1卷积层以生成Y∈R ,
1 2 K 1×C×1
其中N=H×W;然后将Y,Y两者相乘得到A∈R ;具体定义如下:
[0099] AK=Y1softmax(Y2)
[0100] 最后将变形后的自注意力矩阵AK∈RC×1×1与输入特征Y进行简单地元素相加,生成SF C×H×W自注意力特征Y ∈R ;
[0101] YSF=AK+Y
[0102] 特征增强模块最终的输出是空间注意力特征YS和自注意力特征YSF的一系列整合SFS 2C×H×W操作;将两者沿着通道拼接到一起得到联合特征Y ∈R ;为了使特征增强模块的输入输出一致并保留显著性特征信息,将具有缩减通道数操作的1×1卷积层应用于联合特征SFS
Y 以改变特征图维度;
[0103] YEMA=Sigmoid(BN(YSFS))+Y
[0104] 上式中的YSFS经过BN层以及Sigmoid层处理后和输入特征Y进行简单地相加得到特EMA C×H×W征增强模块最终的输出Y ∈R ;
[0105] 特征增强模块中的特征Y是指步骤2.1得到的搜索图片特征φ(X)和步骤2.3得到EMA EMA的 从而分别得到显著性信息增强后的X 和Z ;
[0106] 步骤2.5、将经过特征增强模块输出的两分支特征图ZEMA∈RC×h×w以及XEMA∈RC×H×W进行深度互相关来嵌入两者信息,得到相似度图R;深度互相关定义如下:
[0107] R=ZEMA★XEMA;
[0108] 步骤2.6、将相似度图R送入分类回归子网络,分别得到分类图、回归图以及中心图;所述分类回归子网络包括三个分支:分类分支,回归分支,中心分支,通过这三个分支输出进行损失函数的计算,继而进行模型的训练和优化;
[0109] 步骤2.7、模型的训练,它包括两个阶段。
[0110] 第一阶段采用端到端的方式对网络进行训练;分类分支用于计算每个位置的前背cls w×h×2景类别分数,每个点包含一个2D向量,输出的分类图尺寸为A ∈R ;回归分支计算每个reg
位置到目标边界框四条边的距离,每个点包含一个4D向量(l,r,t,b),回归图尺寸为A ∈w×h×4 cen w×h×1
R ;中心分支用来去除异常值,输出的中心图尺寸为A ∈R ;因为远离物体中心的位置往往会产生低质量的预测边界框,这大大降低了跟踪器性能;设(x0,y0)和(x1,y1)分别表示地面实况边界框的左上角和右下角,(x,y)表示特征图上每个点(i,j)对应在原图的reg
位置,则A 在点(i,j)处的四维坐标可以通过以下公式计算得到:
[0111]
[0112]
[0113] 通过上述公式可以计算出Ground truth和预测边界框之间的IOU,然后使用下述公式计算回归损失函数:
[0114]
[0115] LIOU表示IOU损失函数,θ(·)函数可以定义为:
[0116]
[0117] 中心度分支Acen∈Rw×h×1中的每一个元素C(i,j)定义为:
[0118]
[0119] 中心度损失LCEN定义为:
[0120]
[0121] 其中分类分支的损失函数值为Lcls,回归分支的损失函数为Lreg,中心分支的损失函数为LCEN;按照相应的权重值加权在一起,作为整个系统的总损失函数:
[0122] Ltotal=Lcls+μ1Lcen+μ2Lreg
[0123] 上式中,采用的交叉熵损失进行分类,IOU损失进行回归,以及还有中心度损失;
[0124] 第二阶段采用的方式是在线训练;第一阶段训练完毕后,加载训练好的模型参数文件并解冻在线模板更新部分,继而进行接下来的在线训练,如图4为模板更新模块训练的流程图;在线训练的目的是为了使我们更新后的模板特征预测出的目标标记框更准确;初始帧 和目标帧 的目标模板可以从相应帧中的地面真实位置提取特征获得;模板更新模块的输入是三元组 在线训练的损失函数定义为:
[0125]
[0126] 上式是通过最小化预测模板和下一帧的真值模板之间的欧几里德距离来实现的。
[0127] 在单目标跟踪领域,固定的模板特征和没有增加显著性的特征信息导致难以精确跟踪过程中具有显著变形,快速运动或遮挡的目标,从而显著增加跟踪漂移或者丢帧的风险。本发明将主干网络输出的低层特征与高层特征结合,让最后的特征图在具有高级语义信息的同时补充一些细节信息;再者利用了模板更新机制增强了目标在面对照明变化,尺度变化,物体变形,低分辨率时的特征信息,提高了跟踪器的准确性和鲁棒性;最后利用特征增强模块突出关键特征,并削弱次要特征的影响,使模板和搜索区域之间的上下文关系更加密切,进而生成更精确的跟踪框。并且在测试对比试验中,本发明和其他方法相对比具有更加鲁棒的跟踪效果,并且在众多复杂的场景中都可以精准稳定的跟踪目标。
[0128] 采用GOT‑10K官网提供的数据集进行训练和测试,根据GOT‑10K数据集的评测工具,测试该方法的训练效果。图5是在GOT‑10K测试数据集上不同算法的结果对比图,结合下表1可以得出:本发明所提出的单目标跟踪算法SiamATU比其他算法在该测试数据集上具有更优的表现。
[0129] 表1对GOT‑10K测试集的评价
[0130]
[0131] 为了有一个更加直观的视觉感觉,将测试结果可视化在视频12个视频序列上,并且与以前的一些算法进行了比较,如图6所示。不同颜色的边界框代表了不同的跟踪算法在GOT‑10K数据集上的测试结果。SiamATU在出现相似对象,快速运动,尺度变化和全遮挡的情况下依然能画出更准确,更接近目标的跟踪框。比如在跟踪汽车的时候,即使汽车遭到了风沙的大部分遮挡,它仍然能准确地预测出汽车的大小和位置;在海平面跟踪船的时候,由于船的快速移动产生了巨大形变,它依然能准确预测出接近对象大小的框,这主要受益于SiamATU的模板更新以及特征增强模块,即使跟踪对象产生了形变,模板更新模块依然能通过上一帧的模板信息进而预测出更准确的下一帧模板特征,增强了跟踪器的鲁棒性。特征增强模块作用在Siamese网络进行互相关之前,该设计增强了模板分支和搜索分支的特征表示,从而使SiamATU更能准确地找到目标特征的显著性信息,进而在搜索图像上定位到目标对象的位置。
[0132] 以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。