当前位置:   article > 正文

concat特征融合_视频人员重识别:关系引导空间注意力 + 时间特征提取模型

concat-conv 融合方法
d6e1198982098e64ee152ae4e33f5874.gif

作者:Ass

b4640c1aed09e69d9142ac38a780adb0.png

2020 年顶会论文中,很多都会将关系加入到注意力机制的获取中。

除了该文,还有 2020 年 CVPR 的基于视频的 Multi-Granularity Reference-Aided Attentive Feature Aggregation for Video-based Person Re-identification、基于图像的Relation-Aware Global Attention 等。

该方法都会在这些论文中有着很好的效果,可见这是在行人重识别领域一大发展。

  • 论文名称:Relation-Guided Spatial Attention and Temporal Refinement for Video-Based Person Re-Identification(基于关系引导的空间注意力和时间特征提取的基于视频的行人再识别)
  • 第一作者:Xingze Li
  • 通讯作者:Wengang Zhou
  • 作者单位:CAS Key Laboratory of Technology in GIPAS, EEIS Department,中国科学院电子工程与信息科学系 University of Science and Technology of China(中国科学技术大学)

01 看点

  1. RGSA(relation-guided spatial attention)模块:每个 spatial 位置的注意力它的特征和与所有位置的关系向量决定(也就是关系引导),并最终融合为一个frame的特征,它能够捕捉局部和全局信息,同时定位特征区域而抑制背景信息。同时作者提出,感受也要尽量的小,才能提取出更加具有区别性的特征。
  2. RGTR(relation-guided temporal refinement)模块:所有帧与帧的关系信息使得各个帧之间能够相互补充,有助于增强帧级特征表示。
  3. RM 关系模块:计算特征之间的关系使用的方法不再是 dot 或 inner,而是自己开发了一种 RM 关系模块来生成两个特征的关系向量
  4. GRV(global relation vector):通过计算每个 spatial 位置的的关系和各个frame 之间的关系,生成 spatial-level 和 frame-level 的 GRV。并分别用在了RGSA 和 RGTR 模型中。

PS:Spatial feature:指的是以(i, j)每个像素为单位的特征。为 1x1xC 维度。

f187c10c3f7b8aabca0e80564bd4019f.png

02 Motivation

  1. 基于图像的所获得的信息是有限的,尤其是当受到遮挡或者有异常点时
  2. 基于视频的行人重识别领域中,通常的做法是将局部信息融合为全局,然后估计全局(frames)或局部(parts)区域的质量,并将质量用作融合特征的权重。通常,这些方法仅仅单独考虑每个区域的质量,而忽略了区域内的质量差异和上下文信息

03 Contribution

基于视频领域经常使用的方法是RNNs、卷积运算和注意力机制对空间和时间信息进行建模。他们中使用光流来提取低层次的运动信息,或者使用注意力机制来评估每个frame的质量分数。与这些捕捉局部信息的方法不同,我们的方法利用很少探索的全局关系信息来引导空间注意力和时间特征提取

传统的 Non-Local Mechanisms 中,特征之间的相似性被归一化以用作关注,并且每个特征由所有特征的加权和来更新。在所有上述非局部机制中,特征通过加权求和操作来更新,其中相似的特征具有大的权重

缺点:这种方法在有效获取上下文信息和识别更新特征的区别区域方面存在局限性。我们的:与这些方法不同,我们的方法探索全局关系信息以聚焦于informative foreground,并使框架在上下文中相互补充

提出新的 RM 模型用来提取时间和空间特征之间的关系,生成 GRV,可以使得在空间位置上定位特征区域而抑制背景信息。每个位置的注意力由它的特征和与所有位置的关系向量决定,它能够捕捉局部和全局信息。又能在空间位置上进一步提取和增强帧之间的特征,所有帧内的关系信息使得各个帧能够相互补充,有助于增强帧级特征表示。

04 Method

主要介绍总体框架、RM(relation module), 基于 RM 生成的 GRV 全局关系向量、RGSA(relation-guided spatial attention module)、 RGTR (relation-guided temporal refinement module)、Loss function

Framework Overview

5c4e38bd1f594d303ccd227b9863cfc0.png

输入:video clip,T 帧

3ff39a191d1330f0f270fca7c11641f5.png

过程:

add0bbf8a3154e7584f6c872cafbd4d2.png

lation Module

两个特征之间的关系,一般使用 np.inner() 或者是 np.dot() 来计算的,但是

  1. Inner product(内积)只是表明这些特性在多大程度上是相似的。从这种关系中不能推断出一些详细的信息,如哪些部分相似,哪些部分不同。
  2. np.dot() 则使得差异关系并不紧密,包含冗余信息、计算消耗。

因此,我们开发了一个关系模块来生成两个特征的关系向量,与内积和差相比,该关系向量既信息丰富又紧凑

框架:

d7a3be06936d5d191219bd708231286e.png

可以看到的是,输入两个特征,计算两者关系

目的:就是设计一个 RM 模型,通过计算来获取两个特征之间的关系!

步骤:

输入:

547e7bc983337d100cf1c92e6f259ec9.png

过程:

① 计算两个特征的差异

e22a66a978f0fa25c3f4654eed961a57.png

其中

390ec91850813c23263451ae8374c08a.png
07fe5c59209b56beba48db685f62d8a5.png

43966f37dc18bcbfefdcbe25374811e4.png

全连接层中参数权重

f2a6158f39e53d4b3c0a8aa100c77eba.png

② 以 difference 为基础,计算 more compact relationvector

cbd2ef2bff23e58943f2f3d62dec6272.png

其中

71dc97146ab06c89597662592fd8c156.png
82c668b172575472663fc3095f31be07.png

输出:

6c5d547a0fd5c502886711948915566a.png

Relation-Guided Spatial Attention

学习 attention 来关注 foreground object(应该关注的地方),但是传统的Deep stack of convolutional operations时,有效感受野比理论感受野小得多。也就是说,你用卷积来做的话,必然卷积核是大于等于1的,但是往往informative的区域比这还小。也就是 local-aware。

因此我们

  1. 提出 Local-aware,以(i, j)每个像素为单位的D层的特征,每个空间位置的注意力由它的特征以及来自所有位置的关系向量决定,揭示了局部和全局信息之间的依赖性。
  2. 生成的 GRV 通过和原特征 concat 后经过 FC 层生成权重信息,可以生成被关系引导的 attention,从而更好的实现特征聚合

框架:GRV 和 RGSA

3e2371407ec298bc56d9b35bbb4eeaea.png

GRV(步骤①~③) 生成关系向量

8e52cac60fda15b3e7072bd6404e148d.png

RGSA(步骤④和⑤)

GRV 关系特征和

6ee3ec2818f42d72ec19026d0695708d.png

特征 concat 后经过 FC 层被称为是关系引导

步骤:

输入:

43820ed29f82ded7bb54fd404c28bbdf.png

(未经处理的 frame-level 的特征)

过程:

① Reshape 成 spatial vector(X)

一个图像的 Feature maps 是

b1cd911cb7c20b5827ca165c8c44a017.png

因此有 N(N= H × W)个不同的空间位置,并且每个特征都是C维度的。因此加以 reshape

3a84c8113e8c94c4263c6660a128b28b.png

其中

f07f0d8287ba7d92cb37b08d326667eb.png

表明是第 i 个位置的特征。

7b288841045d9cd296221b9422c7964e.png

②利用 RM 来计算第i个位置特征和其它位置的关系向量

62a90a72e5fc2be5cd20806ddf0651c5.png

③ 生成全局 global 关系向量

cbc6eeec040a8f4e54e5216e5cc1d655.png

其中

f61b6f5bab6af871937df43fabc9e9be.png

包含全局比较信息

④ 生成 spatial-level 的 GRV

d72ceeb5d5c9fb884ab878e5d8f73980.png

与 original feature

2f6b8da3e66355883741b9b18272e8dd.png

结合,之后通过全连接层和BN层,生成空间注意力得分。

1456d19079eb4a7a20ba7d8ac0d3096d.png

其中

b6d83a37b745fc2a3de90b15272ecb59.png

3288590ae7dac1b3d11006f830c3ef9b.png

681d780fd31ee2899377240340fb0a59.png

⑤生成 frame-level 特征 f(Xàf)(关系是用的 spatial-level)

最终特征向量融合了空间注意力,为:

c6b3ae1331951a07a8d03da69f7810f8.png

输出:经过处理的 frame-level 特征 f

Relation-Guided Temporal Refinement

在 Temporal feature fusion 上,常用的方法估计不同帧的质量,并通过加权求和操作融合特征。

但是缺点是:当相互比较时候,乘以低质量的frames可能会包含更多信息(低质量的特征可能也会包含有用的信息),因此我们利用不同的帧可以相互补充,并被细化和聚合以增强区分能力的特性,开发了一个关系引导的时间提取模块,通过它与其他帧的特征的关系来提取帧级特征。

框架:

f7d0412a643d49ad9b60b861defb823f.png

目的:获得最终特征!方法和 RGSA 相似!只是最后不再根据权重来计算每一帧的输出,而是求平均。因为,不同 frame 可能含有不同的区别性特征!

步骤:

输入:

320bdf4dc12fe66509482424c9a35538.png

(经过CNN和RGSA层之后的)

过程:

① 获得 frames 之间的成对关系

通过 RM 获得

ea0a20703961bfb927a1f3d178b17b00.png

② 生成 frame-level 的 GRV

3f1035fa2143a3c9eec40bf37af61634.png

其中

9146b3446d46af3fe59c1d71cd2a09a2.png

③ 生成 frame-level 特征(关系使用的是 frame-level)

利用 GRV 与

29aa2ab752491262ec561b0cbe369ffd.png

的concat,之后通过 FC 层和 BN 层生成特征

a9be7671cf47e5e24f9e977bd68fa210.png

④ 生成 clip-level 特征

3c485581293bbe4271c1ab8581957fae.png

与上面不同的是,这里直接求 mean

4637b5b416bda1f58a5ac947edeafa7d.png

其中

5141536747e0fb3e362aacfe1625c619.png

39937c7ef14500b1b961f3393eaaae44.png

补充:GRV 在两个框架的作用

① RGSA

开发辨别区域并抑制背景(因为有权重啊!背景多很显然是被降低了权重)

② RGTR

增强 frame-level 特征的 discriminative 能力,从而强化增强 frame-level 特征的 discriminative 能力,从而强化 clip-level 的特征表示

Loss Function

整体是由交叉熵损失函数和三元组损失组成

cross entropy loss(交叉熵损失函数)

输入:each batch 包含了 P identities and K video

过程:和大多数方法是一样的

a271cabcc6e500495e91233a44001727.png

其中

7125dc1eeb84d61b93ac10a948228b3d.png

是 Clip-level 的交叉熵损失

21720827be23d39a553a3313b33384bb.png

是 frame-level 的交叉熵损失,用于增强帧级特征的区分能力

triplet loss

输入:

c81f5b54bc09656d7394249d7cc5a09f.png

,p 行人的第 k 个 clip

P 行人的 positive 样本

904e7cb6c59c6274fcf5dd407b110c7a.png

P 行人的 negative 样本

d283c1ba5c7dd5238d8146e14261a10f.png
22101be1f608250305b0d33640bb0344.png

过程:

Triplet loss方法一般分为batch hard triplet loss和adaptive weighted triplet loss,其中前者选择距离最近的和最远的正负样本,而后者在所有样本,硬样本权重较大,简单样本权重较小。作者选择了后者。

正样本的权重:

2ef557f445b0ddc0fb01e7aee81ca02c.png

负样本的权重:

3f210236d75dad37fa3d0e5e4efaaf96.png

Triplet Loss:

0ef8697422d387028f37384193efc03e.png

其中,

58bb4d8dfced2a160222ff30436bc524.png

Overall:

55ac078a066d809b0de6c4407ba0dc69.png

05 Experiments

Implementation Details

Train:

① 数据集:MARS、DukeMTMC-VideoReID、iLIDS-VID、PRID-2011;

② 实验细节:在训练阶段随机从视频中挑选T帧,每个 batch 包含 P 个行人 ID,每个行人 ID 包含 K 个视频;数据输入采取随机翻转、随机擦除;骨干网络采用预训练的 ResNet50;训练阶段选取帧数为 T/2;采用 4 块 NVIDIA Tesla V100 GPU进行训练测试;

其中:Resnet50 框架,最后一层要改掉。

2f7b4e395d608983c2589c7c6fe839b4.png

③ 参数设置:P = 18,K = 4,即batch size = 72 T;输入图像规格为 256*128;训练器为 Adam,其 weight decay = 5*10-4;迭代次数为 375 次;学习率为 3*10-4,在 125 个 epoch 和 250 个 epoch 后均下降到 0.1 倍。

Test:

①T->T/2

②所有的 Clip-level 的 frames 被提取之后,并使用 L2 正则化来生成序列特征

③使用余弦距离来匹配 query 和 gallery 的图像

06 Ablation Study

6822d231e4ff38cc77747b9e1b78c8e5.png

可以看到在 baseline 基础之上分别添加损失

3c5eedb1e26cf80c626d17f323eb2325.png

b0488720a4cc411de1b320ed661870ba.png

,添加 RGTA 和RGTR 之后性能都有提升!证明了方法的有效性。

81771316bb897a1ab3a71de03626bb6d.png
6ccd3ceee6799369f7454ce44140a92e.png

Table2 和 3 是分别试验了 difference factors 和 difference clip length 的 rank1 和 mAP 分数。

ba6d0f0f1cd5c61a58a446a95bb2fc3c.png
291cd4ddb2eed1f779a0f3801e10e860.png
3c2304c3a5cecba54078b941a7d442f8.png

分别与在 MARS dataset、iLIDS-VID and PRID2011 dataset、DukeMTMC-VideoReID dataset 三个数据集效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/351713
推荐阅读
相关标签
  

闽ICP备14008679号