孪生网络图像相似度_CVPR-2019 更深更宽的孪生网络实时追踪
Deeper and Wider Siamese Networks for Real-Time Visual Tracking
最近在读一些visual tracking方向的论文,准备以翻(耗)译(时)的方式总结一下。
传送门openaccess.thecvf.com摘要
孪生网络在视觉跟踪中的兼有准确度和速度的优势因此近期被广泛关注。然而孪生网络结构中的骨干网络(例如AlexNet)却很浅,导致了都没很好利用深度学习的优势。在这篇论文中,我们探索如何权衡宽和深的卷积神经网络,以此提高鲁棒性和准确性。然而直接用ResNet或者Inception来替换AlexNet的效果并灭有很好的提升。我们给出的理由如下:
- 大的网络增加了神经元的感受野,因而减少了特征的差异性和局部精度
- 网络的卷积padding在学习中造成了一个位置的bias
为了改善这些缺陷,我们使用一个新的架构,使用可控的receptive filed size和stride,并且模型是轻量级的,因此应用SiamFC和SiamRPN的时候,可以确保实时的追踪速度。
介绍
出于前面提到的原因,我们把backbone network从AlexNet换成了VGG, Inception,还有ResNet,但是这些替换并没有很大的提升,甚至随着深度和宽度的增加有了一些更差的效果。这个和通常说的越deep越好的理论相悖。
一个直觉上的解释就是deeper和wider的网络架构最初是为了图像分类任务而设计的,所以目标的局部精度不需要那么准确。我们深入分析了孪生网络架构的感受野、网络stride和padding(kernel size, stride, padding)这三个影响准确度的因素。
- 感受野决定了图像计算特征的区域。 一个更大的感受野能提供一个更好的图像情景然而小的kernel size可能就没有办法捕捉目标的结构特征。
- 网络步长影响了局部精度的程度,尤其是那些小的目标。同时控制着输出特征映射的大小,这个也会影响特征的区别度和检测的准确性。
- 特征padding对模型训练的有一个潜在位置bias,当目标进入padding的范围的时候,预测的准确度就会下降很多。
另外,输出特征的大小也会对模型的准确率有一定影响,因此后续的分析中我们也加入了这个因素
我们做的工作:
- 提出一组基于residual bock的cropping-inside residual (CIR) unit。CIR单元裁剪了被padding填充的区域。
- 设计两类网络:一个deeper,一个wider,通过堆叠CIR单元的方式完成
- 对于SiamFC和SiamRPN分别提供CIR unit的实现。
本文的贡献:
- 对于影响追踪正确率的backbone network的因素进行了系统分析,并且提供了指导方法
- 利用设计出来的CIR单元实现了SiamFC和SiamRPN两种架构。
分析
对于上述的几个影响因素做了实验,得出了结论:
- stride大小特别大的时候,模型的效果下降很多,实验表明孪生追踪模型在中等的特征中效果比较好(stride为4或8)
- 感受野的大小是影响孪生网络特征嵌入的关键因素,因为它决定了计算特征的图像区域
- 小的输出特征大小并没有提高追踪准确率,因为小的输出映射缺乏对于目标物体的空间建构描述,所以对于图像相似度的计算缺乏一定的鲁棒性。
- padding对于最终的表现有消极的影响。因为对于exemplar图像是从原始的exemplar图像作用额外0-padding之后提取出来的。不同的是,对于search图像而言,一些图像时仅仅从图像本身提取的,而有一些是从图像作用额外0-padding之后提取出来的。因此,在目标物体出现在不同搜索图片的时候,会出现一些不一致性。
从而我们给出guidelines:
- 孪生追踪网络喜欢小的stride,它影响局部精度。因此深度增加的时候,stride也不应该增加。实验表明,4或8的stride是不错的选择。
- 输出特征的感受野应该取决于exemplar图像的大小。实验表明60%-80%的比例是一个比较好的选择。
- stride,kernel size, output feature size应该作为一个整体来考虑,三个因素不是独立的。如果一个变化,其他的也应该变化。
- SiamFC而言,两个网络流的不一致性需要很好的解决。可行的两个策略如下:
- 放弃padding
- 增加exemplar和search图像的大小,裁剪padding影响的特征
更深更宽的孪生网络
详细讲一下CIR单元
CIR单元
residual单元在网络架构中的设计是十分重要的,它很容易进行最优化和表示。它由三个堆叠的卷积层和一个跳跃连接组成。如图所示。三层是11,33,11的卷积.11的卷积负责降维和存储维度,3*3的层负责骨干的部分,有更小的输入和输出维度。这个骨干的卷积包括了大小为1的0-padding,以此保证了求和之前的输出维度兼容性。
我们提到过,padding会引入position bias,因此需要在residual units中移除padding,我们在图a'中对于original的版本进行了改进,我们裁剪掉了被0-padding影响到的信号。
降采样残差单元对于特征图谱的空间面大小进行了裁剪,从而增加了特征channels,类似的,它也有操作,在b中我们展示了模型。我们改进为b',把stride从2变成1。同时加上了maxpooling。这些操作的核心就是去保证被padding影响的的单元全部都要被裁剪掉,同时保证单元本质的结构没有变化。
如果我们只增加cropping的在操作,类似于CIR,那么cropping之后的特征就没有办法接收输入图片最外pixels中的信号了。
我们进一步用多分枝的结构来改变CIR,让它能够应用于更宽的网络。类似于Inception和ResNeXt中做的,我们在c d中设计出来了需要的结构。
- 在CIR-Inception中,我们在跳跃连接中插入了1*1的卷积,并且通过concatenation的方式融合了两个分支的feature。
- 在CIR-Next中,我们把两个骨干网络分程了32个分支,并且用加法的方式aggregate。
在降采样方面,我们的做法和b'中的一样,减少了stride,并采用了max polling
网络结构
通过堆叠CIR单元的方式,我们构建出了更深更宽的网络。网络结构的设计需要我们遵从之前提出的指导方针。首先,我们决定补偿。3-stage的网络中我们用stirde=8,2-stage的网络中我们stride=4。然后可以堆叠CIR单元。在每一个stage中我们控制单元的数量和降采样单元的位置。我们的目标实去保证操作范围中最后一层神经元的感受野大小,大概控制在60%-80%的样子。
Deeper Networks
用CIR、CIR-D单元来构建更深的网络。给出了CIResNet-22和CIResNet-43的具体描述。
Wider Networks
我们构建CIR-Inception和CIR-NeXt单元。和上述两个其实差不多,就是宽了一点。网络的宽度变成了2和32,以及Inception中的感受野更广了(因为32个进行了concatenation)。但是network stride, building block number和output feature size不变。
以上就是本文的内容,实验部分和后续的讨论略了。总结
以上是生活随笔为你收集整理的孪生网络图像相似度_CVPR-2019 更深更宽的孪生网络实时追踪的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 机器学习面试——逻辑回归和线性回归
- 下一篇: Laya 打包微信 处理分包 fnt字体