天天看点

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
《An Attention-driven Two-stage Clustering Method for Unsupervised Person Re-Identification》 ECCV,2020,论文笔记。 论文地址:

https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123730018.pdf​www.ecva.net

一、简介

该论文作者提出了一种新的无监督的行人重识别方法(

ADTC

),该方法是由

注意力机制驱动,

并分为

两步聚类,

获得了state-of-the-art表现。

二、创新点

(1) 注意力机制

论文中,作者发现在现实的环境中,被同一个相机拍摄的行人往往具有相似的背景。 这导致聚类模型往往会把相同相机拍摄的照片分到同一个簇(cluster)中。这样的聚类模型的

注意力往往集中在图像的背景

,无法捕获图像的相机内变异( in-camera variability)。如下图所示:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

由第二行的热力图可知,模型的注意力更集中在背景中,而不是行人身上。

由于以上的缺点,

作者想让模型的注意力由从背景转移到前景(行人)

。在行人重识别中,注意力机制往往通过引入一个 注意力核(attention kernel)来实现,注意力核可以突出行人图像中的"有用的信息"(例如,衣服上的logo,背包),压制"无用的信息"(例如,背景)。使用了注意力机制方法在上图的最后一行,显然,由热力图可知,模型的注意力由从背景转移到行人。

注意力机制(attention mechanisms)在文献中可以分为两种: hard-attention and soft-attention。hard-attention机制使用的是姿态估计模型(pose estimation model)去大致的定位行人的区域来获得特征。soft-attention 机制通常将可训练层插入模型主体中,以掩盖卷积特征图,从而突出显示"有用的信息"的区域。广泛使用的两种主要的 soft-attention 机制: spatial attention 和 channel attention。作者将两种 soft-attention 机制结合,提出

voxel attention

(VA),应用在

无监督

的设定中(以前都是用在有监督的方法中)。

(2) 两步聚类

聚类第一步,作者采用 kmeans++[1] 聚类方法来生成每一个簇的中心点。聚类第二步,作者采用 k-reciprocal Jaccard distance(KRJD)距离指标来重新分配数据点到每个簇。

[1] Arthur, D., Vassilvitskii, S.: k-means++: The advantages of careful seeding. In: Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms. pp. 1027–1035. Society for Industrial and Applied Mathematics (2007)

最终,该论文的模型迭代地(iteratvely)执行数据聚类(生成伪标签)和模型训练(通过VA提取特征),如下图所示:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
三、算法步骤 (1) Voxel attention (VA)

给定一张行人的图片

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

,输入到 backbone model 中,得到一个特征图(feature map)

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

,其中

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

注意力特征图(attention feature map)

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

定义如下:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

其中

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是 voxel attention kernel,它的维度大小和

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是相同的,也是

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

表示每一个对应位置的元素之积。如下图,

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

由两个部分组成: spatial attention 和 channel attention。

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
(1.1) spatial attention

对于spatial attention 部分,作者首先计算沿相应通道(channel)的每个空间位置的平均激活强度(即对特征图的所有通道求平均值),其公式为:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

。之后,作者应用softmax来计算

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的概率

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

,即:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

以上的 divisive normalization 处理使空间过滤器(spatial filters)具有能够(像全局抑制一样)突出"有用的信息"的区域。

divisive normalization 是一种视觉处理过程,一个神经元的响应会除以其邻域所有神经元的响应的和(或加权和)。
(1.2) channel attention

对于channel attention 部分,作者采用了一个squeeze-and-excitation block [2] 来提高模型的性能。首先对

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

执行 global average pooling 将

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的空间信息"挤压"(squeeze)到

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

个通道

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

中。对于每一个通道:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

第二,为了捕获

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

中不同通道之间的相互依赖性,作者在

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

上使用了一个具有两个完全连接层的 bottleneck,即:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

其中

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

表示 sigmoid 函数,

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

。且有

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

最终,voxel attention kernel

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的计算方法是将两个张量

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

相乘:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

也就是说,在位置

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

中的每个体素(voxel)

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的计算公式为:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
[2] Hu, J., Shen, L., Sun, G.: Squeeze-and-excitation networks. In CVPR, 2018.
(2) Two-stage clustering (TC)

第一步:作者使用传统的 kmeans++ 算法来获得簇的中心点:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是预定义的簇的数量。

第二步:作者根据数据点的 k-reciprocal Jaccard distances(KRJDs)将它们重新分配给每个簇的中心点。一个特征点的 k-reciprocal nearest neighbours 的定义为:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

其中

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是正在聚类的特征点,

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

表示

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的 k nearest neighbours。

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

表示

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

及其附近的每个元素都是彼此的 k nearest neighbours。两个特征点之间的 KRJD 距离为:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
杰卡德距离(Jaccard Distance) 是用来衡量两个集合差异性的一种指标,杰卡德距离越大,说明两个集合差异性越大,杰卡德距离越小,说明两个集合差异性越小。

在重新分配数据点的过程中,由于输入图像的噪声或变化,某些簇可能会共享一些数据点,尤其是在训练的前几轮中特征点相互缠绕时。为了解决这个问题,作者删除具有歧义伪标签(pseudo)的数据点,并获得最终的用伪标签标记的训练集

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

,其中

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是去除有歧义伪标签的数据点后,剩下的图像的数量。

(3) Progressive Training

在loss函数的选取上,作者没有选择 softmax loss,而是选择了 triplet loss,并使用了 in-batch hard example mining [3] 策略来优化模型的参数。公式如下:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

其中,

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

分别代表 mini-batch 中 关于

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的 positive 和 negative 集合。即

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

在 mini-batch 中和

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是同一个id,而

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

在 mini-batch 中和

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

的id不同。

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是特征对之间的边距(margin),

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

是模型的参数。 ADTC 方法的总结如下:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

[3] Hermans, A., Beyer, L., Leibe, B.: In defense of the triplet loss for person re-identification. arXiv preprint arXiv:1703.07737 (2017)

编者注:在论文《FaceNet: A Unified Embedding for Face Recognition and Clustering》中,作者详细阐述了 triplet loss 的 positive 和 negative 图像的选择问题,有兴趣的同学可以参考阅读。如下图所示:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...

四、实验

(1) 数据集

Market-1501和DukeMTMC

(2) 整体的实验结果

作者在Market1501上进行训练时,我们首先在DukeMTMC上初始化模型;在DukeMTMC上进行训练的时候,在Market1501上初始化模型。并进行了实验结果对比:

特征图注意力_论文阅读|一种用于无监督行人重识别的注意力驱动的两阶段聚类方法...
(3) 其他实验