Video Person Re-identification with Competitive Snippet-similarity Aggregation and Co-attentive Snip

15 篇文章 0 订阅

一、介绍

在这篇文章中,作者通过“竞争性的片段相似度聚合”和“片段的协同注意力嵌入”的方法来解决视频行人重识别问题。

具体来说,作者将两个要计算相似度的长的视频序列分成若干个等长片段(各自有Np和Ng个片段),然后计算各个片段间的相似度得到NpXNg的相似度矩阵,选择前若干百分比的相似度求平均值作为两个视频序列的相似度。通过这样的方式,可以降低类内variation对视频序列相似度估计的不利影响,同时diverse appearance和时域信息也能够得到保留。

片段相似度估计是通过CNN网络和片段的协同注意力嵌入来完成。作者针对不同的特征维度利用多注意力掩码从不同的帧中软选择特征。注意力权重基于一个query feature获得。这个query feature是用LSTM网络根据整个probe序列所有的片段进行学习来获得的。作者的方法考虑了所有的片段信息,所有得到的片段特征嵌入被噪声(由遮挡、false detection等造成)影响的可能性显著降低。为了更好地搜索目标行人,gallery片段采用了和probe feature相同的query feature,使得gallery片段提取的特征嵌入包含更多和probe片段相关的信息,更有利用估计片段间的相似度。

总的来说,作者的主要贡献如下:

  • 提出了一个片段特征的竞争性聚合策略。能够减小片段相似度估计时类内的variations,聚合多样且可靠的片段相似点来估计两个片段的相似度
  • 提出了一个新奇的时域协同注意力嵌入用于片段间相似度估计。它利用LSTM网络提取了probe片段的全局query feature,用于减轻noisy frames的影响(相当于看了一遍视频,知道哪是重点,能够忽略异常值),提取对于相似度估计更重要的信息
  • 通过ablation studies证明了“竞争性的片段相似度聚合”和“片段协同注意力特征嵌入”方法的有效性。在三个benchmarks上得到了超过state of the art的结果。

二、作者的方法

2.1 竞争性的片段相似度聚合

长为F帧的视频序列,作者通过帧长L,步长D,拆分成floor[(F-1-L)/D]个片段。

网络输入probe和gallery两个视频序列,各自有Np和Ng个片段。作者计算各个片段间的相似度得到NpXNg的相似度矩阵,选择前t%的相似度求平均值作为两个视频序列的相似度。

2.2 片段的协同注意力嵌入

这部分完成的任务是将一个片段变成一个向量特征(embeds a vedio snippet into a single vector)。

先大致梳理下流程:对于长为L的片段,每一帧(128x64x5,RGB图和光流图在通道上叠加)都通过ResNet50(第一个卷积层通道数改成5)获得2048维向量特征,记。φ(s)包含很多冗余的信息(Lx2048)。把φ(s)每帧的特征作为输入使用一个LSTM得到一个全局的query feature(整个片段通过LSTM提取的特征,dxe),φ(s)分别通过全连接层得到V(s) (size : LXd)和K(s) (size:Lxdxe),K(s)和query feature一起产生注意力权重A(s,q) (size:Lxd)。注意力权重(掩码)A(s,q)和V(s)相点乘后得到Lxd的特征图,L个d维向量相加后得到d维的向量嵌入。

下面详细讲解下各部分:

1、query feature (aware of the overall appearance and motion of the snippet):

网络输入probe片段和gallery片段,两者都使用probe片段通过LSTM网络提取的query feature(这样可以在gallery片段挖掘是否有和probe相似的信息)。LSTM状态转移式如下:

每次迭代输入第n帧图片的特征和状态hl(pn),获得hl+1(pn)。取最终一次的状态作为query feature: ,大小是d x e 。 

2、产生注意力权重特征图:

φ(s) (size:Lx2048)经过不同的全连接层、bn得到V(s) (size : LXd)和K(s) (size:Lxdxe,e=4)。Kl(s)和q中对应的4个元素用来产生Vl(s)的1个元素的权重。不同于其他时域注意力机制仅在每一帧产生一个注意力,作者的方法每一帧特征向量的每个元素都分配了注意力权重,这样能够更好的应对脏的Vl(s)元素(比如遮挡等)。

qi (size:ex1), Kl,i(s) (size:ex1)分别是kl(s)和q的第i行对应的向量。两者相乘后,在时间维度上采用softmax loss得到片段第l帧,第i个元素的注意力权重(不是很懂为啥在世界维度上softmax,而不是时空尺度上softmax)。

依据(3)式,可以得到V(s)的注意力权重图(到元素尺度的掩码图),A(s,q)。下图是利用K(s)和q产生注意力掩码的示意图:

产生注意力权重图后A(s,q) (size:Lxd)后,和V(s) (size:Lxd)计算汉德蒙积得到注意力加权后的L个d维特征,在时域上相加后得到输入片段的d维的特征嵌入。 这一过程如下图:

3、网络结构:

输入probe pn和gallery gk两个片段,query feature使用probe提取的φ(s)作为输入。 提取Φ(pn)和Φ(gk|pn)两个片段的特征嵌入后,两个特征嵌入向量做差、平方,之后经过一个fc和sigmoid损失函数变成0-1之间的数,表示pn和gk的相似度:

4、损失函数:

4.1 验证损失:

当pn和qk是一个人的时候,m*(pn,qk) = 1 - m(pn,qk) 。

当pn和qk不是一个人的时候,m*(pn,qk) = m(pn,qk) 。

4.2 分类损失:

将CNN提取的特征经过fc分类层计算分类损失,采用在线学习的方法。当nth向量属于ith人时,y^i,n = 1。通过这个损失函数,使网络能够更好的提取特征。

三、实施细节

  • 片段长度L = 8,步长D = 4, t% = 20%
  • SGD,前20 epochs lr = 0.001,后面lr=0.0001
  • 每个batch包含32个人的片段,每个人有两个从不同视频序列随机采样的片段,其中一个作为probe片段,一个作为gallery片段,这样就有了32个正对。然后随机组成32x3个负对,这样每个batch包含32个正对,3x32个负对(保证了合适数量的正对负对比例)。
  • 输入加入了HxWx2的光流图,光流图提供了人体或边界位置的运动线索,有利于识别行人所在的区域。
  • 对于MARS数据集超过20个片段的视频序列,随机采样20个片段,保证单个视频序列的片段数目不超过20

四、实验结果

multi-shot images和多片段对比:a、b是作者的方法进行控制变量将视频序列视作multi-shot images进行的对比(b无光流),a和e对比,说明分片段远比 multi-shot images更有效。a和b对比说明,在输入中加入光流有效。

分片段比整个视频序列对比:c和f对比,说明分片段比整个视频序列更有效,作者解释说对于整个视频序列来说,内部variation很大,不能有效地直接嵌入到一个向量特征中。

多片段和单片段对比:d:作者随机选取一个序列的一个片段,而不使用多片段和竞争性聚合策略。d和f对比,说明多片段效果更好。而且对于越复杂的数据集(iLDS比Mars要难),多片段聚合特征提升越大

L长度和t%的大小对实验结果的影响: 

由(a)、(b)可以看到,模型对L的长度很鲁棒,随着L的增大,结果缓慢下降。

 由(c)、(d)可以看到,t%太小模型不稳定,太大结果也不好。当t% = 20%时,效果最好。

和直接对片段特征进行avg pool、max pool的比较:a和b组是指提取片段的嵌入后,对一个视频序列的所有嵌入进行avg pool或max pool。和协同注意力嵌入相比缺点是不能抵抗被污染的帧。 

和使用LSTM提取片段特征方法的比较:c和d是用LSTM直接提取片段的特征嵌入。LSTM-last是最后的状态HL,LSTM-ave是所有Hi的平均值。实验结果显示他们比不上作者的方法以及pool的方法。

不同的注意力策略的对比:

作者学习一个全局的query特征向量比e:基于LSTM,选择时域特征变化时frame代表的性特征的方法[39]更好
作者的方法也比f:只利用query指导value的自注意力方法更好(作者用了query指导key,然后再施加到value)

State of the art:

 

上表的结果显示,相比于人工特征方法、基于LSTM提取视频序列特征的方法、基于CNN和pooling的方法、基于CNN和时域注意力的方法相比,作者的方法在三个数据集上达到了新的state of the art。 作者认为他们方法的优越性在于在训练和测试中通过多片段的方式更加有效的represent原来的视频序列,而其他的方法将整个视频序列嵌入到一个向量中则达不到这样的效果。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值