前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >更深更宽的孪生网络,有效提升目标跟踪精度,代码开源

更深更宽的孪生网络,有效提升目标跟踪精度,代码开源

作者头像
CV君
发布2020-02-21 12:51:46
7710
发布2020-02-21 12:51:46
举报

本文为52CV群友Mr.Chen投稿,深入解读了CVPR 2019 跟踪方向的论文Deeper and Wider Siamese Networks for Real-Time Visual Tracking,谷歌学术显示该文公开一年来已有47个引用,值得做相关方向的同学参考。

论文:

Deeper and Wider Siamese Networks for Real-Time Visual Tracking

paper:https://arxiv.org/pdf/1901.01660.pdf

代码:https://github.com/researchmm/SiamDW

作者从机理上解释了为什么Siamese系列的跟踪网络用的最多的仍然是AlexNet,而没有用如今更强的backbone,诸如ResNet、Inception等深层网络。

通过大量的试验对比,作者发现了几个因素对深层网络的跟踪性能影响很大:感受野 the receptive field、网络步长network stride、有无padding 以及最后输出层的尺寸 output feature size。

作者进一步分析实验结果,从网络结构的角度总结了Siamese 网路设计时应该遵循的原则。依据设计原则,在传统深层网络的基础上引入了CIR模块以及CIR-D模块,提高了模型跟踪的鲁棒性和精度,在VOT-15、VOT-16上取得了SOTA的效果。

背景&动机

在目标跟踪中Siamese networks 以其均衡的精度和速度受到了广泛的关注。然而,Siamese trackers中的backbone networks使用了相对较浅的网络模型,例如AlexNet。

为此,作者尝试了使用深层的如ResNet和Inception直接替换原有的backbone networks,但奇怪的是并没有带来任何改进,如图1的蓝线所示(红线是作者提出的方法)。

这是为什么?这与我们认知的深层网络有着更强大的拟合以及抽象能力,背道而驰。

出于这样的动机作者进行了深入的数据分析,发现其主要原因是:

1)随着层数的增加,最后一层神经元感受野的尺寸会增加,这导致了特征的可识别性和定位精度降低;

2)卷积网络padding操作可能会导致目标位置发生偏差(当目标处于图像边缘时候会出现)。

为了解决这些问题,作者提出了新的残差模块,以消除padding操作所带来的负面影响,同时应用这些模块,重新设计了更深、更宽的网络结构,调整了感受野的大小以及stride,提高了模型跟踪的鲁棒性以及准确性。

将改进后的backbone network应用于诸如SiamFC和SiamRPN这种轻量级的网络模型(表示为SiamFC+、SiamRPN+),最终在OTB-15、VOT-16、VOT-17数据集上都取得了不错的实验效果。

开展的工作

  • 作者对影响backbone network跟踪精度的因素做了系统的研究,并提出了Siamese 系列跟踪器设计原则。
  • 基于 no-padding残差单元,作者实现了深度更深、分支更多的Siamese trackers,并在实验中取得了不错的效果。

理论&方法

作者通过消融试验进行对比,找到了影响网络性能最可能的因素。其中网络结构是造成性能下降的直接原因,如图1以及表2所示。除了网络的结构(深度和宽度外)还包括了 步长(STR), padding(PAD), 最后一层的感受野 (RF) 以及输出特征图的尺寸(OFS)。

作者修改了 AlexNet, VGG,Inception 和ResNet的网络模型,通过对比找到了影响网络性能的相关因子。如下表1所示,其中0表示原始的RF尺寸,+和-代表在原始尺寸(87)基础上增加或者减少对应的value,Max(127)表示最大的effective RF尺寸为127。对于Inception来说RF size是一个动态范围。

对于一个包含padding操作的network原始图像的特征是从原始图像加上额外零填充区域中提取的。不同的是,对于搜索图像的特征,有些特征可能只从图像本身提取,而有些特征则是图像本身加上额外零填充的区域(例如目标在图像的边缘,则会提取到边界附近填充区域的特征)。

因此,在搜索图像中,目标对象在不同的位置上存在不一致性,使得匹配的相似度会有下降。如图2所示,当目标对象移动到图像边界时,其峰值并不能精确地指明目标所在的位置。

Guidelines

作者总结了backbone networks设计应该遵循的几个原则:

  • 最适合的stride是4或者8。
  • 最后一层感受野size应该参考exemplar image大小,effective ratio 应该是exemplar image 尺寸的60%~80%最合适。尤其是要注意最大的RF不能大于exemplar image 本身的尺寸,否则性能会有所下降。
  • 对于输出特征尺寸(OFS),可以观察到较小的尺寸(OFS 3)不利于跟踪。这是因为小的特征图缺乏对目标的空间结构描述,因此在图像相似度计算中鲁棒性较差。
  • 在设计网络体系结构时,应将网络步长、感受野和输出特征图尺寸当作为一个整体来考虑,如果一个因素改变了其他的因素也应该有相应的变化。
  • 在backbone networks上移除掉padding操作,或者扩大 exemplar and search images尺寸,然后裁剪掉受padding操作影响的那部分。

Deeper and Wider Siamese Networks

作者设计了新的 cropping Inside residual (CIR)模块,来减少潜在的位置估计偏差。通过堆叠残差模块建立一个更深更宽的网络,关于步长以及感受野的大小按照上文提到的准则来设计。

Cropping-Inside Residual (CIR) Units

残差单元是该网络结构优化的关键部分,它由3个堆叠的卷积层以及一个绕过它们的 shortcut connection连接组成,如图3所示:

(a)和(b)是原始的残差单元以及下采样单元,(a')和(b')是作者提出的CIR和CIR-D单元。(c)和(d)是加宽的CIR unit,值得注意的是CIR-Inception用1*1的卷积代替addition操作融合了两个分支的特征。

而CIR-Next中将瓶颈层划分成了32个分支,并通过addition操作将他们融合。图3中蓝色模块是不同于original部分。字母'p'和's'表示padding和stride的尺寸。

Network Architectures

通过叠加图3的CIR单元,可以构建一个深度更深,分支更多的新型网络结构。设计网络模型需要遵循相关的原则,以保证性能的改善。

首先,确定网络stride,可以以8为步长构建三级网络,或者以4为步长构建二级网络(如表3的CIResNet-22以及CIResNet-43 )。

然后堆叠CIR unit。作者提出需要控制每一级的CIR unit数量以及下采样unit的位置。目的是确保最后一层感受野的大小在可接受范围内,即原始图像的60%-80%。

另外,随着网络深度增加,感受野的尺寸可能会超过这个范围,我们需要进一步缩小步长来控制RF在合理的范围内。

其中Deeper networks结构类似于ResNet,但具有不同的网络步长、感受野以及building blocks数量。在表3中,作者提出了四个deep cropping-inside残差网络。

包括 CIResNet-16,19, 22(stride=8) 和43,除了CIResNet-43(stride=4)外,其他都是 3 stages网络。

同时,作者使用 CIR-Inception和CIR-NeXt units构建了两种不同类型的wider network,表示为CIResInception-22 和CIResNeXt-22。

实验

作者将设计的backbone networks应用于SiamFC以及SiamRPN 两个有代表性的模型中。

Training:

作者通过ImageNet的预训练模型来初始化网络参数。在训练期间首先固定前7*7卷积层的网络权值,从后到前逐步微调其他层的网络参数。5个训练回合后,开始unfreeze每个block中固定的权重,

Testing:

在训练后的SiamFC和SiamRPN模型上开展测试。计算第一帧目标的编码,对后续的视频序列 进行匹配。针对跟踪目标的scales变换,SiamFC在每个候选目标位置处设置了三个不同的scales 的矩形框,分别是 {1/1.0482 , 1, 1.0482}。

Comparison with Baselines:

作者在 OTB-13, OTB-15 和VOT-17数据集上,对不同的backbone network 的SiamFC和SiamRPN做了对比,如表4所示:

可以看出作者提出的基于CIR模块改进的backbone network在跟踪精度上都要优于原始的浅层AlexNet,特别的以CIResNet-22为backbone的SiamFC模型比AlexNet在OTB-2015及VOT-17上分别提高了9.8%(AUC)以及24.4%的(EAO)。同时基于CIResNet-22的 SiamRPN也分别取得了4.4%和23.3%的性能提高。

值得注意的是当CIResNets深度从16层增加到22层时,跟踪精度得到了改进,但是当深度增加到43层时,却没有取得期望的性能。这主要有以下两方面的因素:

  • 为了控制感受野size在合理的范围内,对于层数更深的网络(43层),stride调整为4然而,步长缩小会使得相邻两个两个特征区域的感受野有较大部分重叠。因此,在目标定位方面并不如stride为8的网络精确。
  • 由于CIResNet-43只采用了2阶的网络结构,在模型总体的参数数量以及特征通道数都比CIResNet-22的更少。如上表3所示。

另一个值得一提的是虽然CIResNeXt-22模型更宽,但是相比CIRResIncep-22,和CIResNet-22来说模型的规模更小,如表3所示,效果并不占优。

Comparison to State-of-the-Art Trackers

作者进一步将设计的模型与state-of-the-art的跟踪算法进行了对比,如表5所示(其中SiamFC+以及SiamRPN+代表以CIResNet-22 作为backbone network的跟踪模型)

作者将SiamFC+ 和 SiamRPN+在VOT-15、VOT-16、VOT-17数据集上分别与State-of-the-Art Trackers进行了对比,如图4所示:

其中SiamRPN+在VOT-15与VOT-16都取得了SOTA的成绩,在VOT-17上SiamRPN+的EAO为3.01,略低于表现最好的LSART跟踪器,但是在速度上150fps要好于 LSART。与实时跟踪器相比,SiamRPN+在准确性和鲁棒性方面排名第一。

总结

Siamese系列 trackers是基于相似度匹配策略来实现目标跟踪。其开创性的工作有SINT和SiamFC,它们都是使用Siamese网络来学习一个matching Function,用于匹配目标和候选图像patch之间的相似性。

随着目标跟踪技术的发展,已经有大量的改进工作被提出,它们主要分为两个阵营,其中一个是通过抽取高层语义信息以及利用本地化模型提高了匹配定位的精度。

另一种是通过在线更新匹配模板来增强Siamese networks的匹配精度。最近有一项工作也在研究如何利用深层网络来进行跟踪。但其主要是从数据扩充和特征融合的方向来解决这一问题。

不同的是,作者的工作从研究如何设计网络架构做起,从机理上分析了影响网络性能的因素,并依据原则成功设计了更深更宽的backbone Siamese 跟踪器。

paper:https://arxiv.org/pdf/1901.01660.pdf

代码:https://github.com/researchmm/SiamDW


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档