• Learning Dynamic Memory Networks for ObjectTracking(论文翻译)


    用于目标跟踪的学习动态记忆网络

    摘要

            用于视觉跟踪的模板匹配方法由于其相当的性能和快速的速度而得到了广泛的应用。然而,它们缺乏有效的方法来适应目标对象外观的变化,使得它们的跟踪精度仍然远远达不到最先进的水平。在本文中,我们提出了一种动态记忆网络来使模板适应跟踪过程中目标的外观变化。采用LSTM作为存储控制器,输入为搜索特征图,输出为存储块读写过程的控制信号。由于目标在搜索特征图中的位置最初是未知的,因此应用了一种注意力机制来将LSTM输入集中到潜在目标上。为了防止激进的模型自适应,我们应用门限残差模板学习来控制用于与初始模板组合的检索内存量。与通过检测跟踪对象的方法不同,对象的信息由神经网络的权重参数维护,需要昂贵的在线微调才能自适应,而我们的跟踪器运行完全前馈,并通过更新外部存储器来适应目标的外观变化。此外,与其他跟踪方法离线训练后模型容量固定不同的是,我们的跟踪器的容量可以随着任务的存储需求的增加而很容易地扩大,这有利于记忆长期的目标信息。在OTB和VOT上的广泛实验表明,我们的跟踪器MemTrack相对于最先进的跟踪方法具有良好的性能,同时保持了50fps的实时速度。

    1.引言

            随着卷积神经网络在目标识别和检测方面的成功,越来越多的跟踪器[4,13,22,26,31]已经采用深度学习模型来进行视觉目标跟踪。其中有两种占主导地位的跟踪策略。一种是通过检测跟踪方案,其在线训练对象外观分类器[22,26]以将目标与背景区分开来。首先使用初始帧学习模型,然后使用在后续帧中基于最新预测的边界框生成的训练样本进行微调。另一种方案是模板匹配,它采用第一帧[4,29]中的目标块或前一帧[14]中的目标块来构建匹配模型。为了处理目标外观的变化,在第一帧中构建的模板可以由最近生成的具有较小学习率的对象模板来内插[30]。

            这两种跟踪策略的主要区别在于,检测跟踪将目标的外观信息保存在深度神经网络的权值中,因此需要使用随机梯度下降(SGD)进行在线微调以使模型自适应,而模板匹配将目标的外观存储在目标模板中,该模板是通过前馈计算生成的。由于在检测跟踪中需要计算昂贵的模型更新,这种方法的速度通常很慢,例如[21,22,26]的运行速度约为1fps,尽管它们确实实现了最先进的跟踪精度。然而,模板匹配方法是快速的,因为不需要更新神经网络的参数。最近,几个跟踪器[4,13,36]采用完全卷积暹罗网络作为匹配模型,显示了良好的结果和实时速度。然而,由于缺乏一种有效的在线自适应外观变化的方法,模板匹配模型与跟踪检测之间仍然存在着很大的性能差距。

            在本文中,我们提出了一种动态记忆网络,在该网络中,目标信息被存储和从外部存储器中调用,以保持目标外观的变化以进行模板匹配。与检测跟踪不同的是,目标的信息存储在神经网络的权值中,因此模型的容量在离线训练后是固定的,而我们的记忆网络的模型容量可以通过增加外部存储器的大小来轻松地扩大,这对于记忆长期的外观变化是有用的。由于主动模板更新容易过度拟合最近的帧,而初始模板是最可靠的模板,因此我们使用初始模板作为目标的保守参考,并使用从检索到的记忆中获得的剩余模板来适应外观变化。在跟踪过程中,对残差模板进行通道选通,并与初始模板组合形成最终的匹配模板,然后与搜索图像特征卷积得到响应图。剩余模板的逐通道选通控制应将检索到的模板的每个通道添加到初始模板的多少,其可被解释为用于适配模板的特征/部件选择器。LSTM(Long Short-Term Memory)用于控制外部存储器的读写过程,以及剩余模板的通道门矢量。此外,由于目标在搜索图像中的位置一开始是未知的,我们采用了一种注意力机制来粗略地定位搜索图像中的目标,从而导致目标的软表示用于输入到LSTM控制器。这有助于检索内存中最相关的模板。整个框架是可区分的,因此可以使用SGD进行端到端的训练。总而言之,我们工作的贡献是:

    • 我们设计了一种用于视觉跟踪的动态记忆网络。由带有注意机制的LSTM控制的外部存储块允许适应外观变化。
    • 我们提出了门限残差模板学习来生成最终匹配模板,它有效地控制了添加到初始匹配模板的每个通道中的检索记忆中的外观变化量。这防止了过度的模型更新,同时保留了目标的保守信息。
    • 我们在大规模数据集OTB和VOT上对我们的算法进行了广泛的评估。我们的跟踪器与最先进的跟踪方法相比表现良好,同时拥有50fps的实时速度。

    2.相关工作

            模板匹配追踪器。基于匹配的方法最近因其快速的速度和相当的性能而变得流行起来。最著名的是全卷积暹罗网络(SiamFC)[4]。虽然只使用第一帧作为模板,但SiamFC取得了具有竞争力的结果和快速的速度。SiamFC的关键缺陷是缺乏有效的在线更新模式。为了解决这一问题,[30]建议使用具有小学习率的新模板的线性内插来更新模型,但在精度方面只看到了适度的改进。最近,RFL(递归滤波学习)跟踪器[36]采用卷积LSTM进行模型更新,其中遗忘门和输入门自动控制历史目标信息的线性组合,即LSTM的记忆状态和输入对象的模板。郭某等人[13]针对目标外观变化和背景抑制,提出了一种具有两种通用变换的动态暹罗网络。为了进一步提高SiamFC的速度,[16]通过使用深度强化学习来训练策略,以便在响应置信度足够高时提前停止CNN的前馈计算,从而降低了简单帧的特征计算成本。Sint[29]也使用暹罗网络进行视觉跟踪,具有更高的精度,但运行速度比SiamFC(2fps比86fps)慢得多,这是因为使用了更深层次的CNN(VGG16)进行特征提取,并将光流用于其候选采样策略。与其他模板匹配模型使用滑动窗口或随机采样来生成候选图像块进行测试不同,GOTURN[14]通过比较之前和当前的图像块来直接回归目标边界框的坐标。尽管它在处理比例和纵横比变化以及速度快方面具有优势,但其跟踪精度远远低于其他最先进的跟踪器。

            不同于现有的基于匹配的跟踪器自适应能力受神经网络规模的限制,我们使用SiamFC[4]作为基线特征提取器,并将其扩展为使用可寻址记忆,其存储大小独立于神经网络,因此可以随着任务的存储需求的增加而容易地扩展,以适应目标外观的变化。

            记忆网络。最近使用卷积LSTM进行视觉跟踪[36]表明,记忆状态对于长时间尺度上的对象模板管理是有用的。记忆网络通常被用来解决自然语言处理中的简单逻辑推理问题,如问题回答和情感分析。开创性的工作包括NTM(神经图灵机)[11]和MemNN(记忆神经网络)[33]。他们都提出一种具有读写机制的可寻址外部存储器{NTM专注于排序、复制和回忆问题,而MemNN针对的是语言和推理任务。MemN2N[28]通过取消对支持事实的监督来进一步改进MemNN,这使得它可以以端到端的方式进行训练。在其前身NTM的基础上,[12]提出了一种新的框架DNC(Differentiable NeualComputer),它使用不同的访问机制来缓解内存重叠和干扰问题。最近,NTM也被应用于一次学习[25],通过重新设计读写记忆的方法,并在编码和快速检索新信息方面显示出良好的结果。

            我们提出的内存模型在以下方面与前面提到的内存网络不同。首先,对于问答问题,每个时间步的输入是一个句子,即一系列的特征向量(每个词对应一个向量),需要一个嵌入层(通常是RNN)来获得内部状态。而对于目标跟踪,输入的是搜索图像,需要进行特征提取过程(通常是CNN)来获得更抽象的表示。此外,对于目标跟踪,目标在搜索图像块中的位置是未知的,本文提出了一种注意力机制,在生成用于记忆检索的读取关键字时突出目标的信息。其次,存储在存储器中用于自然语言处理的特征向量的维度相对较小(MemN2N为50,而我们的例子6×6×256=9216)。直接使用原始模板进行地址计算非常耗时。因此,我们对特征映射应用平均池来生成用于寻址的模板关键字,这在实验上是高效和有效的。此外,我们使用通道门限残差模板学习进行模型更新,并重新设计了内存写入操作,使其更适合于视觉跟踪。

    3.用于跟踪的动态存储网络

            在这一部分中,我们提出了一种具有读写机制的动态记忆网络,用于视觉跟踪。整个框架如图1所示。给定搜索图像,首先使用CNN提取特征。图像特征被输入到注意LSTM,该注意LSTM控制存储器的读写。从存储器中读取剩余模板,并将其与从第一帧学习的初始模板组合,形成最终模板。将最终模板与搜索图像特征进行卷积得到响应图,并对目标包围盒进行预测。使用预测的边界框对新目标的模板进行裁剪,提取特征并写入内存以进行模型更新。

    3.1 特征提取

            在给定时间t的输入图像It的情况下,我们首先将该帧裁剪到搜索图像块ST中,该搜索图像块ST具有由先前预测的边界框计算的矩形。然后通过完全卷积神经网络(FCNN)将其编码成空间特征映射的高级表示f(ST)。在这项工作中,我们使用了来自SiamFC的FCNN结构[4]。得到预测边界框之后,我们使用相同的特征提取程序来计算用于内存写入的新对象模板。

    3.2 注意力组合

            由于搜索图像中的目标信息需要检索相关模板进行匹配,而目标的位置一开始是未知的,因此我们采用了一种注意力机制,使LSTM的输入更加集中在目标上。定义fti∈Rn×n×c为f(ST)上的第i个n×n×c正方形块。每个正方形块覆盖搜索图像的特定部分。这些正方形块基于注意力的加权和可以被认为是对象的软表示,然后可以被馈送到LSTM中以生成用于记忆检索的适当的读取关键字。然而,这个软特征映射的大小仍然太大,不能直接提供给LSTM。为了进一步减小每个方块的大小,我们首先在f(ST)上采用n×n滤波大小的平均池化,

     和f∗ti∈Rc是第i个面片的特征向量。

            然后将附加特征向量计算为特征向量的加权和,

             其中L是正方形补丁的数量,并且关注权重αti由Softmax计算,

     

     是以LSTM控制器的先前隐藏状态HT−1和正方形贴片FT;i∗作为输入的注意网络。Wa;Wh;Wf和b是网络的权重矩阵和偏差。

            通过将目标在先前隐藏状态下的历史信息与每个正方形块进行比较,注意力网络可以生成对目标具有较高值而对周围区域具有较小值的注意力权重。通过将目标在先前隐藏状态下的历史信息与每个正方形块进行比较,注意力网络可以生成对目标具有较高值而对周围区域具有较小值的注意力权重。

    3.3 LSTM内存控制器

            对于每个时间步长,LSTM控制器将在注意模块中获得的参与特征向量At和先前的隐藏状态ht−1作为输入,并输出新的隐藏状态ht以计算存储器控制信号,包括读取关键字、读取强度、偏置栅极和衰减率(稍后讨论)。LSTM的内部架构使用标准模型(详细信息见补充资料),而输出层经过修改以生成控制信号。此外,对于LSTM,我们还使用了层归一化[2]和丢弃正则化[27]。初始隐含状态h0和单元状态c0分别通过具有tanh激活函数的一个n×n平均汇集层和两个独立的全连通层传递初始目标的特征图来获得。

    3.4 内存读取

            通过计算具有读取权重向量的所有存储器槽的加权和来检索存储器,它由Read键和Memory键之间的余弦相似性决定。这旨在检索存储在存储器中的最相关的模板。假设mt 2Rn×n×n×c表示存储模块,使得mt(J)2 rn×n×c是存储在第j个存储槽中的模板,N是存储槽的数量。LSTM控制器输出读取密钥kt2Rc和读取强度βt2[1;1],

     其中W k;Wβ;bk;bβ是相应的权重矩阵和偏差。读密钥kt用于匹配存储器中的内容,而读强度βt指示所生成的读密钥的可靠性。在给定读取密钥和读取强度的情况下,为存储器检索计算读取权重WTR2 RN,

     其中KMT(J)2Rc是通过对Mt(J)进行n×n平均汇集而生成的存储器密钥。C(x;y)是向量之间的余弦相似度,C(x;y)=kxxkk·yyk。最后,从存储器中检索作为加权和的模板,

    3.5 残差模板学习

            直接使用检索到的模板进行相似性匹配容易使最近的帧过度拟合。取而代之的是,我们通过将检索到的模板并将其添加到初始模板以捕获外观更改。 因此,我们的最终模板的公式为,

     其中T0是初始模板,并且是频道相乘。RT2RC是LSTM控制器产生的残差门,

     其中Wr;br是相应的权重和偏差,σ表示Sigmoid函数。残差门控制检索到的模板的每个通道被添加到初始模板的多少,这可以被视为一种特征选择形式。

            通过使用反卷积将目标特征映射的不同通道投影到像素空间,如[37]所示,我们发现通道聚焦于不同的对象部分(参见图4)。因此,基于通道的特征残差学习具有分别更新不同对象部分的优点。第5.1节中的实验表明,这会带来很大的性能改进。

    3.6 内存写

            具有目标的新位置的图像块用于模型更新,即存储器写入。使用特征提取CNN来计算新的对象模板tnew t。内存写入有三种情况:1)当新对象模板不可靠时(例如,包含大量背景),不需要将新信息写入内存;2)当新的对象外观与前一帧相比变化不大时,更新先前读取的内存槽;3)当新目标的外观变化较大时,覆盖新的内存槽。为了处理这三种情况,我们将写入权重定义为

     其中,0是零矢量,WTR是读取权重,WTA是分配权重,它负责为存储器写入分配新的位置。

            写入门GW、读出门GR和分配门GA由具有SoftMax功能的LSTM控制器产生,

    式中,Wg;Bg是权重和偏差。由于gw+gr+ga=1,所以这三个门控制三种情况之间的内插。如果GW=1,则WTW=0,不写入任何内容。如果GR或GA具有较高的值,则新模板用于更新旧模板(使用WTR)或写入新分配的位置(使用WTA)。分配权重通过以下方式计算,

     

     其中wu t是访问向量,

     其指示存储器访问的频率(读和写),而λ是衰减因子。不经常访问的内存插槽将被分配新模板。

            利用写入权重结合用于清除存储器的擦除因子来执行写入过程,

     其中,ew是由计算的擦除因子

     DR2[0;1]是LSTM控制器产生的衰减率,

     其中σ是Sigmoid函数。Wd和Bd是相应的权重和偏差。如果gr=1(因此ga=0),则DR用作更新存储槽中的模板的衰减率(情况2)。如果ga=1(且GR=0),则DR对ew没有影响,因此在写入新模板之前将擦除存储槽(情况3)。图3显示了存储器读写过程的详细示意图。

    4 实施细节

            我们采用了与SiamFC[4]类似的Alex类CNN进行特征提取,其中目标和搜索图像的输入图像大小分别为127×127×3和255×255×3。我们使用与[4]中相同的策略来裁剪搜索和对象图像,其中在裁剪对象图像时会在目标周围添加一些上下文边距。整个网络在ILSVRC[24]的VID数据集(从视频中检测目标)从头开始离线训练,大约需要一天的时间。Adam[17]对长度为16的8个视频片段进行了小批量优化。初始学习速率为1e-4,每10k迭代乘以0.8。视频剪辑是通过对来自每个视频的帧进行均匀采样(保持时间顺序)来构建的。这是为了训练一集中多样化的外观变化,可以模拟快速运动、快速背景变化、物体抖动、低帧速率。我们使用数据增强,包括对目标图像和搜索图像的小图像拉伸和平移。LSTM控制器中的存储状态维度为512,用于LSTM丢弃的保留概率为0.8。内存插槽的数量为N=8。用于计算访问向量的衰减系数为λ=0:99。在测试时,跟踪器运行完全前馈,不需要在线微调。我们像在SIAMFC[4]中一样,基于上采样的响应图来定位目标,并通过在1:05[−1;0;1]的三个尺度上搜索目标来处理尺度变化。为了平滑尺度估计并惩罚大位移,我们用新的尺度通过指数平滑st=(1−γ)∗st−1+γsnew,其中s是比例值,指数因子γ=0:6)来更新对象尺度。类似地,我们用余弦窗口将响应图衰减0.15的指数因子。

            我们的算法是用TensorFlow工具箱用Python语言实现的[1]。它在配备四个英特尔(R)酷睿(TM)i7-7700 CPU@3.60 GHz和一个NVIDIA GTX 1080钛以及11 GB内存的计算机上运行,速度约为每秒50帧。

    5.实验

            

    6.结论

            在本文中,我们提出了一种具有外部可寻址存储块的动态存储网络用于视觉跟踪,旨在使匹配模板适应对象外观变化。具有注意机制的LSTM通过对存储器交互进行参数化来控制存储器访问。我们发展了通道门控残差模板学习来形成最终的匹配模型,该模型保留了初始目标中存在的保守信息,同时提供了每个特征通道的在线自适应。一旦离线训练过程完成,不需要在线微调,实时速度达到50fps。在标准跟踪基准上的大量实验证明了MemTrack的有效性。

  • 相关阅读:
    Linux_aarch64_head.S到main.c的环境建立
    SpringBoot 学习(十)分布式理论
    Git概述
    疫情反复,如何轻松居家办公?——快解析内网穿透
    springboot+nodejs+vue+Elementui学生闲置物品交易网站
    openSuSE 下面配置 java环境变量
    nacos注册中心AP核心源码
    mysql 索引
    springboot进行微信公众号相关开发:(一)编写接口激活配置信息用,用以实现公众号与配置信息接口的绑定
    云计算与大数据
  • 原文地址:https://blog.csdn.net/MJ17709005513/article/details/126811099