Unsupervised Person Re-identification: Clustering and Fine-tuning
文章目录
-
- 1.解决的问题:
- 2.网络主要思想:
- 3.文章的参数:
- 4.本文算法:
这篇论文提出了一种无监督的人脸重新识别方法:通过聚类和微调相结合的方式,在Tensorflow平台上的Keras框架中实现了这一技术。

本文主要采用了pacing-based learning方法,并具体说明为:从基础内容开始逐步深入学习。
1.解决的问题:
(1)用无标签数据(或 其他域有标签数据及无标签数据)训练模型。
(2)把K-means和CNN结合,减轻了cluster太过noisy的问题。
(3)用自步学习更加流畅地完成模型训练。
2.网络主要思想:
- 通过带标签的数据进行预训练阶段。
- 未标注的数据经过模型处理后会生成伪标签,并且能够筛选出高质量的数据集。
- 利用可靠的高质量数据重新进行训练,并将优化后的结果保存下来。
下次处理时,则利用之前保存的最佳化配置进行聚类分析。
因此整个流程实际上只需要维护一个不断优化的单个模型即可。
3.文章的参数:
N没有标签的数据集的裁剪的人物数量,其ID为K

由于数据没有标签,所以将

可被视为潜在变量的指标。由此可见,我们的PIL模型属于潜在变量模型的一种。
定义vi为样本xi的选择指标。当vi=1时,则选择xi作为可靠样本;否则,在微调原始模型的过程中排除xi。

表示为选择指示向量

:作为标记向量。

其中表示CNN模型的参数为θ。经过φ函数处理后得到一个一维特征向量,并将该特征向量输入至由w参数化表示的分类器中。在整体分类框架中同时更新优化这两个参数。
作者将想法表述为交替优化以下三个问题:

类似均方差损失的东西能够让特征逐渐靠近聚类中心。

(1)使标签样本引导至离聚类中心进一步远离。
第(2)式通过将与聚类中心点Ck距离较近的样本Vi赋值为1来标记这些样本作为可信赖实例,并在后续迭代中更新卷积神经网络(CNN)模型参数以优化分类效果。
这里涉及一个权衡关系:只有当与Ck的余弦相似度大于λ时才会被选中。(这是因为余弦相似度越大表示越接近,
因此λ越小会被选中的数量越多)

公式(3)基于标记为可靠数据的全部训练样本对更新后的CNN模型进行训练。其中c_k代表聚类中心,通常采用的交叉熵损失函数被用于计算目标函数。
lambda: 选择“可靠”的门槛
L: 损失函数。
4.本文算法:
综上,作者的方法算法流程如下:

首先设定置信度阈值λ(实验结果表明当λ取0.85时表现最佳),并确定聚类类别数目K(由数据集ID数量决定)。初始化CNN采用ResNet-50架构,并在另一份全监督数据集上进行微调训练。若工作数据集为无监督类型(如Market-1501),则基于CUHK的数据集进行微调。
每一轮迭代过程中:
若当前样本选择数量未稳定至固定数值,则执行如下操作:
计算当前簇内密度指标;
更新各簇代表点;
重新分配样本至最邻近簇;
直至满足收敛条件。
1、先随机初始化分类层权重W
2、然后对训练集的N个样本使用CNN提取特征向量fi
改写说明
4、特征向量fi被确定为与原中心点最邻近的聚类中心点Ck(这种选择方式确保了每一类至少包含一个高度相关的参考样本)。
5、对所有的特征向量fi进行l2正则(使得向量平方和为1)。
6、对于所有类别中的每一个类K,在遍历所有来自该类的样本数据时(即从第i个到第N个),若该特征向量与该类别中心点之间的欧氏距离超过阈值λ,则标记Vi=1(表示被选中且认定其为有代表性的数据点)。否则标记Vi=0(表示未被选中)。其中,在每一轮迭代中会根据当前选择的样本数量来判断系统是否达到收敛状态;如果未达到,则继续迭代;一旦系统收敛则停止算法运行并完成CNN模型的训练流程
基于选定的可靠样本数据集优化CNN模型参数
