论文题目:Relation Network for Person Re-identification
来源:AAAI 2020
论文地址:https://arxiv.org/pdf/1911.09318v1.pdf
代码:https://github.com/cvlab-yonsei/RRID
**动机:**直接使用行人的部分层次特征,而不考虑身体各部位之间的关系,就容易把两张在对应部位具有相似特征的不同行人图片混淆。作者为了解决这个问题,提出了一种新的关系网络,该网络加入了身体局部特征和剩余其他部位特征之间的关系。
**解决思路:**在行人的高度上进行分割,提取行人图片不同部位的特征,也叫局部特征,将每个单独的局部特征和剩余的局部特征相关联,得到新的具有全局联系的局部特征,使得模型更加具有特征鉴别能力。
具体方法:
下图为作者使用的框架概览:在下图中,我们可以看出,行人的输入图像先经过一个resnet-50骨干网络,提取出特征图[H,W,C](分别表示高度,宽度,通道数)。为了提取局部特征,作者将特征图平分为6个水平的网格,经过最大池化得到6个局部特征图[1,1,c]。然后将得到的6个局部特征分别送入两个模块中。往下走的Global contrastive pooling(GCP)模块用来提取全局特征,往右走的One-vs-rest relational module为了提取新的局部特征。最后再将得到的新的6个局部特征和1个全局特征融合,送入网络训练。
接下来分别介绍GCP模块和One-vs-rest relational module。
1、 GCP
GCP结构示意图如上所示,首先将之前得到的6个局部特征分别经过一个最大值池化得到最核心的特征Pmax,一个平均值池化得到6个特征的平均特征Pavg。(得到的核心特征Pmax忽视了其他的边缘特征,过于核心了;而平均特征又太边缘了,会引入一些噪音信息,接下来便是本论文对此的解决方法)作者在此对特征向量之间做了一个减法,用Pavg-Pmax=Pcont。通过这种方法得到局部之间的一个关系,Pcont就表示平均特征和核心特征之间的差异特征,这种差异特征在一定程度上可以去除一些噪音特征的干扰(这是论文作者通过实验得出的结论,具体为何有这种效果我也不太明白,Global contrastive pooling 中的contrastive便是因此而来)。作者用下图表示不同的池化方法得到的特征图,(a)表示平均池化,(b)表示最大值池化,(c)表示平均值池化加上最大值池化后得到的特征图,(d)表示平均值池化减去最大值池化后得到的特征,即GCP方法,绿色方框表示得到的特征区域,可以看出通过这种减法可以提取人体的局部特征,去掉了背景的干扰。也验证了GCP方法的有效性。
在得到了对比特征Pcont之后,进行一次卷积操作得到特征P¯cont,Pmax也经过一次卷积操作得到P¯max,两个特征融合之后进行一次卷积操作进行特征压缩(2c->c),在加上P¯max特征做一个shortcut操作(参考了resnet网络的思想),最终得到目标特征q0。
2、one-vs-rest relation module
如上图所示,操作步骤分以下几步(以P1特征为例):
1)P1经过一个卷积层得到p¯1
2)除了P1之外的剩余特征P2,P3,P4,P5,P6相加到一起为r1,r1再经过一个卷积层生成特征¯r1
3)将¯r1和p¯1做融合使得通道数变成两倍(2C),在经过一个卷积与p¯1相加(类似resnet网络的思想)得到一个局部关系向量P1,也就是本文所要提取 到的新的具有全局关系的局部特征。
4)对P2,P3,P4,P5,P6特征分别重复以上操作1,2,3。得到6个新的局部特征(也就是指当前得到的每个局部特征信息还包含其他的局部特征关系信息)
这篇论文的总体思想个人认为是将局部信息和整体信息都考虑进来,并加入它们之间的联系(也就是本论文的标题Relation Network),提取出更具有鉴别力的局部特征和全局特征。最后,论文的实验效果也达到了state of the art这大多数优秀论文中的共同结果。之前的多数论文都是提取局部特征,现在都考虑加入局部之间的关系了,这也是一种研究趋势吧。