论文:Parameter Sharing Exploration and Hetero-center Triplet Loss for Visible-Thermal Person Re-Identification(精读)
1.abstract
本文的创先点在于以下几个方面:①对双流网络resnet50多少参数共享进行了讨论,实验结果表明stage0和stage1作为特定模态特征提取器,stage2,3,4作为共享网络进行特征嵌入效果最好;②引入了像PCB把特征图切成水平条纹的局部特征方法,其中池化方式使用的GeM池化,增强了特征表示能力;③提出了中心三元组损失,对一个mini-batch中每个ID的特征计算一个平均值作为中心,计算类中心之间的三元组损失,这样可以放松样本之间的强的严格约束。④为了防止过拟合,对ID损失使用了标签平滑操作。
2.introduction
前人工作
行人重新识别(Re-ID)可以看作是一项图像检索任务,旨在从部署在不同位置的多个不联合的摄像机中搜索感兴趣的人。近几年的跨模态行人重识别,许多工作使用较差的baseline,这严重阻碍了VT Re-ID的发展。
VT ReID面临两个方面的主要困难,模态间差异和模态内差异。为了解决该问题,一种直观而明显的方法是将跨模态的行人特征映射到一个公共特征空间,实现相似度度量。大多数方法采用双流框架,包括两个具有独立参数用于特征提取的特定模态网络,以及一个用于特征嵌入的参数共享网络把特定模态特征映射到公共特征空间。通常,这两个特定模态的网络不需要具有相同的结构,唯一的标准就是,它们的输出应该具有相同的尺寸形状,可以作为参数共享网络的输入。在文献中,通常使用resnet50作为backbone。所有的卷积块用于特征提取,一些共享全连接层用于特征嵌入,而这些共享全连接层的参数只能处理一维向量,忽略了人的空间结构信息。为了利用卷积层来处理具有空间结构信息的三维形状张量,后来研究共享一些卷积块的特征嵌入参数。那么对双流网络的多少参数进行共享是合适的呢?
此外,网络总是使用ID身份损失和三元组损失进行训练,扩大类间距离,最小化类内距离。不管在同模态还是跨模态,三元组都针对于一个anchor样本和其他所有样本。这可能是限制样本成对距离的一个强约束条件,特别是当存在一些异常值(坏的例子)时,将形成比较差的三元组来破坏其他训练好的成对距离。而且这种方法也会产生大量的三元组。跨模态和同模态训练策略被分别特征学习,在这里作者是不必要的,因为如果双流网络所学习的行人特征在公共特征空间中已经足够好了,那么后面这些特征很难区分哪个模态。因此,本文提出了在统一的共同特征空间中,直接执行的异质中心三元组损失。 异质中心三元组损失针对于,从anchor中心到所有其他中心,降低计算复杂度。
3. method
网络框架主要由三部分组成:双流主干网络;part级特征提取块;提出的hetero-center triplet loss
和 identity softmax loss
损失。
(1)双流主干网络
在这部分研究重点在于共享参数的数量问题。选择性能效果较好的resnet50作为backbone,resnet50有5个stage,一个浅层stage0和4个残差stage(1,2,3,4)。多少stage用于参数共享比较好?本文对此做了对比实验。s0代表所有stage均用于共享网络进行特征嵌入,s5代表所有stage均为特定模态特征提取器。
实验结果表示在RegDB上s0,1,2,3都较好,在SYSU-MM01上s2效果比较好。综上选择s2方案,也就是stage0和stage1作为特定模态的特征提取器;stage2-stage4用于共享网络特征嵌入。
(2)part级特征提取块
主要包括三部分:
- 三维特征图在水平方向上均匀划分成p(p=6)个水平条纹,生成粗糙的part级特征图
- 使用 GeM池化(generalized-mean ),代替最大池化和平均池化,将三维特征图转换为一维特征
- 使用1x1的卷积层,对特征向量进行降维,跟上一个BN层和一个 ReLU 层。
随后,对每个part特征使用一个FC层计算ID损失,并且分别计算异质中心三元组损失。最终,所有的part级特征都被连接形成最终的行人特征,用于测试期间的相似度度量,同时也使用异质中心三元组损失监督。
(3)异质中心三元组损失
标准的三联体损失通过将锚点与所有其他样本的比较来计算损失。这是一个强烈的约束,限制成对距离可能太严格了,如果存在一些异常值(坏的例子),这将形成不利的三元组来破坏其他成对距离。 因此,作者考虑采用每个人(ID)所有特征的中心(平均值)作为身份代理,来放松严格的约束。
首先,对于每个模态计算每个ID所有特征的中心:
目标就是相同身份的特征相互靠近,不同身份的特征相互远离。所以,选定一个模态的ID后,将该ID的中心作为anchor,对应模态的ID中心作为正样本,从两个模态的其他ID中心选择难挖掘的负样本,构成异质中心三元组损失。
具体的示意图如下。对每个anchor,有一个跨模态的正样本,一个从所有模态所有ID中选择难挖掘负样本。这种loss一方面减少了计算量,另一方面放松了严格的约束。
(4)ID平滑损失
ID损失用来通过将每个人作为一个类,来集成识别特定的信息。在这作者采用label平滑操作的ID损失,来防止Re-ID模型过拟合。ξ就是一个鼓励模型对训练集不那么信心的约束,在这ξ设为0.1。
(5)总损失
我们对每个part级特征都采用了ID损失和异质中心三元组损失,对于最终连接的全局特征只使用异质心三元组损失。
4.comparison to the SOTA