写点什么

SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 深层网络连体视觉跟踪的演变

作者:代码的路
  • 2023-01-11
    江苏
  • 本文字数:6277 字

    阅读完需:约 21 分钟

原文地址


论文:https://arxiv.org/pdf/1812.11703.pdf


程序:https://github.com/PengBoXiangShang/SiamRPN_plus_plus_PyTorch

摘要

基于孪生网络的跟踪器将跟踪表述为目标模板和搜索区域之间的卷积特征互相关。然而孪生网络的算法不能利用来自深层网络(如 resnet-50 或更深层)的特征,与先进的算法相比仍然有差距。


在文章中我们证明了核心原因是孪生网络缺乏严格的平移不变性。我们突破了这一限制,通过一个简单而有效的空间感知采样策略,成功地训练了一个具有显著性能提升的基于 ResNet 网络的孪生跟踪器。此外,我们还提出了一种新的模型体系结构来执行分层和深度聚合,这不仅进一步提高了计算的准确性,而且还减小了模型的尺寸。我们在五个大型跟踪基准上获得了结果,包括 OTB2015、VOT2018、UAV123、LASOT 和 TrackingNet。


该论文主要解决的问题是将深层基准网络 ResNet、Inception 等网络应用到基于孪生网络的跟踪网络中。在 SiameseFC 算法之后,很多的基于孪生网络的跟踪算法都使用浅层的类 AlexNet 作为基准特征提取器,直接使用预训练好的深层网络反而会导致跟踪算法精度的下降。

1.介绍

在平衡精度和速度方面,即使是性能好的孪生跟踪器,如 SiamRPN,在 OTB2015 等跟踪基准上仍与现有技术有显著差距。所有这些跟踪都在类似于 AlexNet 的架构上构建了自己的网络,并多次尝试训练具有更复杂架构(如 ResNet)的孪生网络,但没有性能提升。在这种观察的启发下,我们对现有的孪生追踪器进行了分析,发现其核心原因是绝对平移不变性(strict translation invariance)的破坏。由于目标可能出现在搜索区域的任何位置,因此目标模板的学习特征表示应该保持空间不变性,并且我们进一步从理论上发现,在新的深层体系结构中,只有 AlexNet 的 zero-padding 才能满足这种空间不变性要求。


我们引入了一种采样策略来打破孪生跟踪器的空间不变性限制。我们成功地训练了一个基于 SiamRPN 的跟踪器,使用 ResNet 作为主干网络。利用 ResNet 结构,提出了一种基于层的互相关运算特征聚合结构(a layer-wise feature aggravation structure),该结构有助于跟踪器从多个层次的特征中预判出相似度图。通过对孪生网络结构的交叉相关分析,发现其两个网络分支在参数个数上存在高度不平衡,因此我们进一步提出了一种深度可分离的相关结构,它不仅大大减少了目标模板分支中的参数个数,而且使模型的训练过程更加稳定。此外,还观察到一个有趣的现象,即相同类别的对象在相同通道上具有较高的响应,而其余通道的响应则被抑制。正交特性也可以提高跟踪性能。


综上所述,本文的主要贡献如下:


1.我们对 Siam 进行了深入的分析,并证明在使用深网络时,精度的降低是由于绝对平移不变性的破坏。


2.我们提出了一种采样策略以打破空间不变性限制,成功训练了基于 ResNet 架构的孪生跟踪器。


3.提出了一种基于层次的互相关操作特征聚集结构,该结构有助于跟踪器根据多层次学习的特征预测相似度图。


我们提出了一个深度可分离的相关结构来增强互相关,从而产生与不同语义相关的多重相似度图。


在上述理论分析和技术贡献的基础上,我们开发了一种高效的视觉跟踪模型,在跟踪精度方面更为先进。同时以 35 fps 的速度高效运行。我们称它为 SiamRPN++,在五个大的跟踪基准上持续获得跟踪结果,包括 OTB2015、VOT2018、UAV123、LASOT 和 TrackingNet。此外,我们还提出了一种使用 MobileNet 主干网的快速跟踪器,该主干网在以 70 fps 的速度运行时有良好的实时性能。

2.相关工作

RPN 详细介绍:https://mp.weixin.qq.com/s/VXgbJPVoZKjcaZjuNwgh-A


SiamFC 详细介绍:https://mp.weixin.qq.com/s/kS9osb2JBXbgb_WGU_3mcQ


SiamRPN 详细介绍:https://mp.weixin.qq.com/s/pmnip3LQtQIIm_9Po2SndA

3.深层孪生网络跟踪算法

如果使用更深层次的网络,基于孪生网络的跟踪算法的性能可以显著提高。然而仅仅通过直接使用更深层的网络(如 ResNet)来训练孪生跟踪器并不能获得预期的性能改进。我们发现其根本原因主要是由于孪生追踪器的内在限制。

3.1 孪生网络跟踪分析

基于孪生网络的跟踪算法将视觉跟踪作为一个互相关问题,并从具有孪生网络结构的深层模型中学习跟踪相似性图,一个分支用于学习目标的特征表示,另一个分支用于搜索区域。


目标区域通常在序列的第一帧中给出,可以看作是一个模板 z。目标是在语义嵌入空间Φ(·)中从后续帧 x 中找到相似的区域(实例):



其中 b 是偏移量。


这个简单的匹配函数自然意味着孪生网络跟踪器有两个内在的限制。


1.孪生跟踪器中使用的收缩部分和特征抽取器对绝对平移不变性有内在的限制。



确保了有效的训练和推理。


2.收缩部分对结构对称性有着内在的限制,即:



适用于相似性学习。即如果将搜索区域图像和模板区域图像进行互换,输出的结果应该保持不变。


通过详细的分析,我们发现防止使用深网络的孪生跟踪器的核心原因与这两个方面有关。具体来说,一个原因是深层网络中的填充会破坏绝对平移不变性。另一个是 RPN 需要不对称的特征来进行分类和回归。我们将引入空间感知抽样策略来克服第一个问题,并在 3.4 中讨论第二个问题。


绝对平移不变性只存在于 no padding 的网络中,如修改后的 AlexNet。以前基于孪生的网络设计为浅层网络,可以满足这一限制。然而,如果使用的网络被新型网络如 ResNet 或 MobileNet 所取代,padding 将不可避免地使网络更深入,从而破坏了绝对平移不变性限制。我们的假设是,违反这一限制将导致学习到空间偏移。例如 SiamFC 在训练方法时正样本都在正中心,网络逐渐会学习到样本中正样本分布的情况,图像的中心会有更大的权重。


我们通过在带有 padding 的网络上进行模拟实验来验证我们的假设。移位定义为数据扩充中均匀分布产生的大平移范围。我们的模拟实验如下。首先,在三个单独的训练实验中,目标被放置在具有不同 shift range(0、16 和 32)的中心。Shift 为正样本距离中心点的距离。在收敛后,我们将测试数据集上生成的热图集合起来,然后将结果显示在图 1 中。



图 1. 当使用不同的随机翻译时,可视化正样本的先验概率。在±32 像素内随机平移后,分布变得更均匀。


在 shift-0 模拟中存在很强的中心偏移,只有中心位置具有较大的响应值,边界区域的概率降为零。另外两个模拟表明,增加位移范围(shift range)将逐渐增加图中响应的范围。分析表明 32-shift 的总热图更接近于测试对象的位置分布。因此空间感知抽样策略有效地缓解了填充网络对严格平移不变性的破坏。


为了避免对物体产生中心偏差,我们采用空间感知采样策略,在训练过程中,不再把正样本块放在图像正中心,而是按照均匀分布的采样方式让目标在中心点附近进行偏移。用 ResNet50 主干训练 SiamRPN。



图 2.随机平移对 VOT 数据集的影响。


如图 2 所示,在 VOT2018 上 0-shift 的 EAO 只有 0.14,适当增加 shift 可以提高 EAO(将算法的鲁棒性和准确性结合起来的一个综合指标)。Shift=64 时 EAO 最高。

3.2 基于 ResNet 的孪生网络跟踪算法

基于以上分析,我们消除了对中心位置的学习偏差,任何现成的网络(如 MobileNet,ResNet)都可以用于视觉跟踪。此外,还可以自适应地构造网络拓扑结构,揭示深度网络的视觉跟踪性能。


在本小节中,我们将讨论如何将深度网络传输到我们的跟踪算法中,实验主要集中在 ResNet-50 。原来的 ResNet 有 32 pix 的大 stride,不适合密集的孪生网络预测。如图 3 所示,我们通过修改 conv4 和 conv5 块以获得单位空间步幅,将后两个块的有效步幅从 16 像素和 32 像素减少到 8 像素,并通过扩大卷积增加其感受野。在每个块输出端附加一个额外的 1×1 卷积层,将通道减少到 256。



图 3.我们提出的框架的插图。给定目标模板和搜索区域,网络通过融合多个 SiamRPN 块的输出来输出密集预测。每个 SiamRPN 块都显示在右侧。


由于所有层的填充都保持不变,模板特征的空间大小增加到 15,这给相关模块带来了沉重的计算负担。因此,我们裁剪中心的 7×7 区域作为模板特征,其中每个特征单元仍然可以捕获整个目标区域。


在 SiamRPN 的基础上,我们将互相关层(cross correlation layers)和全卷积层组合成头模块(head module) 用于计算分类分数(用 S 表示)和边界框回归器(用 B 表示)的头模块。SiameseRPN 块用 P 表示。此外可以微调 ResNet 将提高性能,通过将 ResNet 提取器的学习速率设置为比 RPN 小 10 倍可以更好的用于跟踪任务。与传统的孪生方法不同,深层网络的参数以端到端的方式进行联合训练。这是第一个在深度孪生网络(>20 层)上实现端到端学习的视觉跟踪算法。

3.3 分层聚合

利用像 ResNet 50 这样的深层网络,可以聚合不同的深度层。直观地说,视觉跟踪需要丰富的表示,从低到高,从小到大,从细到粗的分辨率。即使在卷积网络中有深度的特征,单独的层是不够的。复合和聚合这些特征可以提高识别和定位。


在以前的文献中,仅使用像 AlexNet 这样的浅层网络,多层特性不能提供多元的特征表示。然而,考虑到感受野的变化很大,ResNet 中的不同层更有意义。浅层特征主要集中在颜色、形状等低级信息上,对于定位是必不可少的,而缺乏语义信息;深层特征具有丰富的语义信息,在运动模糊、大变形等挑战场景中有利于定位。我们假设使用这种丰富的层次信息对于跟踪任务是有帮助的。


在我们的网络中,多分支特征被提取出来共同推断目标定位。对于 ResNet 50,我们探索从 后三个残差模块(residual blocks)中提取的多级特性,以进行分层聚合。我们将这些输出特征分别称为 F3(z)、F4(z) 和 F5(z)。如图 3 所示,conv3、 conv4、conv5 的输出分别输入三个 SiamRPN 模块。由于三个 RPN 模块的输出尺寸具有相同的空间分辨率,因此直接在 RPN 输出上采用加权求和。加权融合层结合了所有的输出。



S——分类,B——回归。



图 4 不同互相关层的图示。(a)交叉相关(XCorr)层预测目标模板和搜索区域之间的单通道相似度图。(b)向上通道互相关(UP-XCorr)层通过在 SiamRPN 中将一个具有多个独立 XCorr 层的重卷积层级联而输出多通道相关特征。(c)深度相关(DW-XCorr)层预测模板和搜索块之间的多通道相关特征。


组合权重被分开用于分类和回归,因为它们的域是不同的。权重与网络一起进行端到端优化离线。与以前的论文相比,我们的方法没有明确地结合卷积特征,而是分别学习分类器和回归。请注意,随着骨干网络的深度显著增加,我们可以从视觉语义层次结构的充分多样性中获得实质性效果。

3.4 深度交叉相关

互相关模块是嵌入两个分支信息的核心操作。SiamFC 利用交叉相关层获得目标定位的单通道响应图。在 SiamRPN 中,通过添加巨大的卷积层来扩展通道(UP-XCorr),交叉相关被扩展为嵌入更高级别的信息,例如 anchors。巨大的 up-channel 模块严重影响参数分布的不平衡(即 RPN 模块包含 20M 参数,而特征提取器在 SiamRPN 中仅包含 4M 参数),这使得 SiamRPN 中的训练优化变得困难。


在本小节中,我们提出了一个轻量级互相关层,名为 Depth wise Cross Correlation(DW-XCorr),以实现有效的信息关联。DW-XCorr 层包含的参数比 SiamRPN 中使用的 UP-XCorr 少 10 倍,而性能却很高。



图 5. conv4 中深度相关输出的通道。conv4 中共有 256 个通道,但是在跟踪过程中只有少数通道具有高响应。因此我们选择第 148,222,226 通道作为演示,图中为第 2,第 3,第 4 行。第一行包含来自 OTB 数据集的六个对应搜索区域。不同的通道代表不同的语义,第 148 通道对汽车有很高的响应,而对人和人脸的反应很低。第 222 和第 226 通道分别对人和面部有很高的反应。


为实现此目的,采用 conv-bn 块来调整每个残差模块(residual blocks)的特征以适应跟踪任务。至关重要的是,bb 的预测和基于 anchor 的分类都是不对称的,这与 SiamFC 不同(见第 3.1 节)。为了对差异进行编码,模板分支和搜索分支传递两个非共享卷积层。然后,具有相同数量的通道的两个特征图按通道进行相关操作。附加另一个 conv-bn-relu 块以融合不同的通道输出。然后,附加用于分类或回归输出的最后一个卷积层。通过将互相关替换为深度相关,我们可以大大降低计算成本和内存使用。通过这种方式,模板和搜索分支上的参数数量得到平衡,从而使训练过程更加稳定。


此外,有趣的现象如图 5 所示。同一类别中的对象在相同的通道上具有高响应(第 148 通道中的车,第 222 通道中的人,以及第 226 通道中的人),而其余通道的响应被抑制。由于深度互相关产生的通道方式特征几乎正交并且每个通道代表一些语义信息,因此可以理解该属性。我们还使用上通道互相关分析热图,并且响应图的解释性较差。

4.实验结果

4.1 训练集及评估

训练

我们的架构的骨干网络在 ImageNet 上进行了预训练,用于图像标记,已经证明这是对其他任务的非常好的初始化。我们在 COCO,ImageNet DET,ImageNet VID 和 YouTube-Bounding-Boxes 数据集的训练集上训练网络,并学习如何测量视觉跟踪的一般对象之间相似性的一般概念。在训练和测试中,我们使用单比例图像,其中 127 个像素用于模板区域,255 个像素用于搜索区域。

评估

我们专注于 OTB2015 [46],VOT2018 [21]和 UAV123 [31]上的短时单目标跟踪。我们使用 VOT2018-LT [21]来评估长时跟踪任务。在长时跟踪中,物体可能长时间离开视野或完全遮挡,这比短期跟踪更具挑战性。我们还分析了我们的方法在 LaSOT [10]和 TrackingNet [30]上的实验,这两个是最近才出现的单一目标跟踪的 benchmarks。

4.2 实施细节

网络结构

在实验中,我们按照 DaSiamRPN 进行训练和设置。我们将两个同级卷积层连接到减少步幅(stride-reduced)的 ResNet-50(第 3.2 节),用 5 个 anchors 执行分类和边界框回归。将三个随机初始化的 1×1 卷积层连接到 conv3,conv4,conv5,以将特征尺寸减小到 256。

优化

SiamRPN ++采用随机梯度下降(SGD)进行训练。我们使用 8 个 GPU 的同步 SGD,每个小批量共 128 对(每个 GPU 16 对),需要 12 小时才能收敛。我们使用前 5 个时间段的 0.001 的预热学习率来训练 RPN 分支。在过去的 15 个时间段中,整个网络都是端到端的训练,学习率从 0.005 到 0.0005 呈指数衰减。使用 0.0005 的重量衰减和 0.9 的动量。训练损失是分类损失和回归的标准平滑 L1 损失的总和。

4.3 对比实验

主干架构

特征提取器的选择至关重要,因为参数的数量和层的类型直接影响跟踪器的内存消耗,速度和性能。我们比较了视觉跟踪的不同网络架构。图 6 显示了使用 AlexNet,ResNet-18,ResNet-34,ResNet-50 和 MobileNet-v2 作为主干的性能。我们画出了在 OTB2015 上成功曲线的曲线下面积(AUC)相对于 ImageNet 的 top1 精度的性能。我们观察到我们的 SiamRPN ++可以从更深入的 ConvNet 中受益。

逐层特征聚合

为了研究分层特征聚合的影响,首先我们在 ResNet-50 上训练三个具有单个 RPN 的变体。单独使用 conv4 可以在 EAO 中获得 0.374 的良好性能,而更深的层和更浅的层则会有 4%的下降。通过组合两个分支,conv4 和 conv5 获得了改进,但是在其他两个组合上没有观察到改善。尽管如此,鲁棒性也增加了 10%,这说明我们的追踪器仍有改进的余地。在汇总所有三个层之后,准确性和稳健性都稳步提高,VOT 和 OTB 的增益在 3.1%和 1.3%之间。总体而言,逐层特征聚合在 VOT2018 上产生 0.414 的 EAO 分数,比单层基线高 4.0%。

5.结论

在本文中,我们提出了一个统一的框架,称为 SiamRPN ++,用于端到端训练深度连体网络进行视觉跟踪。我们展示了如何在孪生跟踪器上训练深度网络的理论和实证证据。我们的网络由多层聚合模块组成,该模块组合连接层次以聚合不同级别的表示和深度相关层,这允许我们的网络降低计算成本和冗余参数,同时还导致更好的收敛。使用 SiamRPN ++,我们实时获得了 VOT2018 上先进的结果,显示了 SiamRPN ++的有效性。SiamRPN ++还在 La-SOT 和 TrackingNet 等大型数据集上实现了先进的结果,显示了它的泛化性。


学习更多编程知识,请关注我的公众号:


代码的路



发布于: 刚刚阅读数: 4
用户头像

代码的路

关注

公众号:代码的路 2023-01-10 加入

Java、Python、C++、图像处理、深度学习相关知识分享

评论

发布
暂无评论
SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks  深层网络连体视觉跟踪的演变_神经网络_代码的路_InfoQ写作社区