Unsupervised Person Re-identification via Multi-label Classification
论文:Unsupervised Person Re-identification via Multi-label Classification
年份:2020-CVPR
文章目录
- 1.简介
- 2.导言
- 3.相关工作
- 4.方法
- 4.1公式
- 4.2 基于Memory的真实标签预测(Memory-based Positive Label Prediction)
- 1.通过相似性得分过滤标签(Label filtering by similarity score)
- 2. 通过循环一致性过滤标签(Label filtering by cycle consistency)
- 4.3 基于Memory的多标签分类损失
- 1. 传统的多标签分类损失(Traditional multi-label classification loss)
- 2. 基于Memory的多标签分类损失(Memory-based Multi-label Classification Loss)
- 3.Discussions
- 4.4 带标签数据集的迁移学习(Transfer Learning with Labeled Dataset)
- 5.实验
1.简介
无监督人重新识别(ReID)的挑战在于学习没有真实标签的discriminative features(鉴别特征)。本文将无监督行人重识别公式化为多标签分类任务,以逐步寻找真实标签。该方法开始于为每个人的图像分配一个单一类别的标签,然后通过利用更新的ReID模型进行标签预测来发展为多标签分类。标签预测包括相似度计算和循环一致性,以确保预测标签的质量。为了提高ReID模型在多标签分类中的训练效率,进一步提出了基于 memory的多标签分类损失(MMCL).MMCL与基于内存的非参数分类器一起使用,并将多标签分类和单标签分类相结合在一个统一的框架中。该标签预测和MMCL可以反复工作,从而大大提高ReID的性能。在几个大型人ReID数据集上进行的实验证明了我们的方法在无人监督的人ReID中的优越性。我们的方法还允许在其他域中使用带标签的人的图像。在这种 transfer learning (迁移学习)设置下,我们的方法还可以实现最先进的性能。
2.导言
- 先前工作的缺陷
无监督的Person ReID 旨在从未标记的行人图像中学习鉴别特征。与监督学习 相比,无监督学习免除了对昂贵的数据注释的要求,从而更好的推动Person ReID面向实际应用。
无监督Person ReID 的挑战在于学习没有真正标签的鉴别特征。最近,大多数工作将无监Person ReID 定义为一个 transfer learning task(迁移学习任务),利用其他域上的标记数据对模型进行初始化或标签传输。(一些研究工作为每个图像分配一个单一类别标签.另一些则利用时空线索或附加属性注释)但在监督和无监督的Person ReID之间仍然存在相当大的差距。同时,迁移学习的设置导致灵活性有限。
-
本文方法解决的问题
本文的目标是-
在不利用任何标记数据的情况下提高无监督的Person ReID 。
将每个未标记的行人图像视为一个类,并训练 ReID 模型,以使用多类标签分配每个图像。 换句话说,训练 ReID 模型,将每个图像分类为属于同一身份的多个类。 由于每个人通常有多个图像,多标签分类有效地识别相同身份的图像,并将图像与不同身份区分开来。这有利于 ReID 模型优化类间和类内距离。与以往将每幅图像分类为单个类的方法相比,多标签分类具有更好的效率和准确性
-
该方法迭代地预测多类标签,并以多标签分类损失更新网络。
a. 为了保证预测标签的质量,提出了基于memory的正标签预测(MPLP),它考虑了标签预测的视觉相似性和循环一致性。也就是说,如果两个图像:
(a) 具有很大的相似性,
(b)具有相似的邻居,
则用相同的标签分配两个图像。为了进一步保证标签预测的准确性,MPLP利用存储在memory中的图像特征,在每次训练迭代后,对其进行增强特征更新,以提高特征鲁棒性。b. 为得到一个好的分类器和解决传统多标签分类损失中梯度弥散问题,提出基于memory多标签分类损失(MMC L)。
预测标签允许带有多标签分类损失的CNN训练。 由于每个图像都被视为一个类,因此大量的类使得很难训练到一个像完全连接(F C)层这样的分类器。 如图所示。 采用存储在memory中的每个图像的特征作为分类器。具体地, 介绍了一种基于memory多标签分类损失(MMC L),通过放弃 Sigmoid 函数,将分类分数强制为 1 或-1,MMCL 加速了损失计算,解决了传统多标签分类损失中消失的梯度问题。MMCL 还涉及hard negative类挖掘,以处理正负类之间的不平衡。
-
3.相关工作
相关工作主要介绍的是无监督方法,分为三部分:无监督Person ReID 、无监督特征学习和多标签分类。
无监督Person ReID(Unsupervised person ReID)
无监督Person ReID可归纳为三类。
-
第一 类利用人工标注的特征。 然而,手工设计鲁棒和判别特征是困难的。
-
第二类采用聚类估计伪标签来训练CNN。 然 而,这些方法需要良好的预训练模型。
-
第三类利用转移学习来改善无监督Person ReID。一些工作使用转移学习,并通过使用额外的属性 注释来最小化属性级别的差异
本文方法与它们不同, 它不需要任何标记数据。 它也比许多迁移学习方法获得了 更好的性能。
无监督特征学习(Unsupervised feature learning)
无监督的特征学习目的是减轻对标记数据进行特征学习的要求。可应用于不同任务:
- 一些工作采用无监督特征学习进行神经网络初始化
- 一些作品利用无监督特征学习来获取图像分类和检索的特征吴等人将每个图像视为单个类,并提出了一种非参数 Softmax 分类器来训练 CNN.与我们的工作有一定的相似性,因为本文也使用非参数分类器。 但与其他方法不同的是本文考虑多标签分类,这对于识别相同身份的图像以及区分不同身份具有重要意义。
多标签分类
多标签分类是为具有多类标签的分类任务而设计的。本文利用多标签分类来预测多类别标签,并着重研究人ReID的学习身份特征。据我们所知,这是针对unsu-pervised 的person ReID使用多标签分类的早期工作。
4.方法
4.1公式
给定一个未标记的人像数据集X = {x1,x2,…,xn},该算法的目标是在X上训练人ReID模型。
对于任何查询行人图像(query person image)q,预期Person ReID模型会产生特征向量(feature vector),以从gallery set G中检索同一个人的图像g。换一种说法,ReID模型应确保q与g比其他G种的图像其他图像g有更多的相似特征。从概念上将person ReID的目标表示为:
其中f ∈Rd是Person ReID模型提取的d维L2归一化特征向量。dist(·)是距离度量,例如L2距离。
为了训练数据集X,我们首先将每个图像视为一个单独的类,并为xi分配标签yi。
该伪标签将数据集X转换为带标签的数据集,并允许进行ReID模型训练。
yi的初始化为一个二值向量,其中只有索引 i 的值设置为1,其他值设置为-1,即:
由于每个人在数据集X中可能有多张图像,因此初始标签向量在表示人身份提示时无效。标签预测需要为每个图像分配多类别标签,该标签可用于具有多标签分类损失的ReID模型训练。可以通过将xi的特征fi引用到其他图像的特征来预测xi的标签,并找到一致的特征组。
另一方面,由于 X 中图片类的数量巨大,很难训练多标签分类器。 一个有效的解决方案是使用 f i 作为 i 类的分类器。这计算任何图像 x j 的分类分数为
其中 c j 表示 x j 的多标签分类分数。
很容易看出,标签预测和多标签分类都需要 x中图像的特征。因此,引入了一个 n x d 大小的memory库 M 来存储这些特性,其中 M [i] =f i。利用 M,分别提出了用于标签预测的基于memory的真实标签预测(MPLP)和用于ReID模型训练的基于内存的多标签分类损失(MMCL)。
如图1所示 ,MPLP将单类标签作为输入,并根据memory–M输出多标签预测y¯i,即:
MMCL通过将图像特征f,标签y¯ 和memory库M作为输入 来计算多标签分类损失。
计算得出的损失LMMCL可以表示为:
其中M X f i 计算分类得分,而D(·)通过比较分类得分和预测标签来计算损失。
在每次训练迭代后,M 被更新为:
其中上标 t 表示 t-th training epoch,α是更新率。然后将M[i] t 用
M[i] t ←|| M[i] t || 2 进行L 2 归一化。
可以很容易看出,MPLP和MMCL都需要M才能分别寻找可靠的标签和分类分数。
本文使用许多数据论证技术来增强M。 换句话说,每个M[i]结合了x i 形式的不同增强样本的特征,因此呈现出更好的鲁棒性。 更多细节在第二节中给出。
MPLP同时考虑相似性和循环一致性来预测y i ,从而使其比分类得分更准确。这使得用等式(5)计算的损耗在增强ReID模型时有效,而后者又对M[i]和标签预测产生正反馈。此循环使得可以在未标记的数据集上训练有区别的ReID模型。 在以下部分中可以找到对MPLP和MMCL的实现。
4.2 基于Memory的真实标签预测(Memory-based Positive Label Prediction)
如等式(4)所示。
给定图像 x i 的初始二 值标签 y i,MPLP 的目的是寻找 x i 可能属于的其他类。对于 x i ,MPLP 首先根据 x i 与其他特征之间的相似性计算 rank 列表 Ri ,即
其中 s i,j表示 x i 和 x j 的相似性分数。
R i 可以找到 x i 可靠标签的候选者,例如排名列表顶部的标签。
但是,光照、视角,背景等变化会降低排名列表的鲁棒性。 例如,嘈杂的标签可能会出现在排名列表的顶部。 为了确保预测标签的质量,MPLP指的是标签预测的相似性得分和循环一致性。
1.通过相似性得分过滤标签(Label filtering by similarity score)
首先根据xi 的排名列表为xi 选择正标签。 受[39]启发,该方法使用阈值选择相关标签进行查询,我们选择具有预定义相似性阈值的候选标签。
给定相似度得分阈值t,可以通过移除相似度小于 t 的标签生成k i 个候选标签,即:
其中Ri [ ki ]是相似度得分高于 t 的最后一个标签,Pi 是 x i的标签候选集合。这在很大程度上决定了候选标签的数量。(将在第4.3节中进行测试)。
等式(9)自适应地为不同图像找到不同数量的候选标签,这比选择固定数量的标签(即图2中的KNN)更好。我们着手引入循环一致性从Pi中找到正标签。
2. 通过循环一致性过滤标签(Label filtering by cycle consistency)
受k倒数最近邻居的启发,假设,如果两个图像属于同一类,则它们的neighbor 图像集也应相似。 换句话说,如果两个图像可以分配相似的标签,则它们应该是彼此相邻的。 凭此直觉提出了一种循环一致性方案来过滤Pi中的 hard negative labels。
MPLP 从头到尾遍历 Pi中的标签. 对于 PI 中的标签 j, MPLP 使用 公式(7)
计算其最接近的 top-ki 标签。
- 如果标签 i 也是 j 的 top-ki 的标签之一,则 j被认为是 x i 的正标签。 否则视为hard negative label.
- 当发现第一个hard negative label时,停 止。 这将导致正标签集 Pi以及图像 x i 的hard negative label。 我们 将表示正标签设置为:
其中 l 满足:
由于Pi 包含 l 个标签,因此 x i 将被分配带有 l 个正类的多类标签 y¯ i ,
如图2所示,MPLP 预测准确的正标签。
4.3 基于Memory的多标签分类损失
1. 传统的多标签分类损失(Traditional multi-label classification loss)
传统的多标签分类损失:预测的多类标签用于训练具有多标签分类损失的 ReID 模型在传统的多标签分类方法中,sigmoid和 Logistic 回归损失是一种常见的损失. 对于具有 n 类的任务,它采用n个独立的二进制分类器进行分类。 将图像 xi 分类为 j 类的损失可以计算为,
其中 M[j]T 计算 j 类图像 xi 的分类分数, y¯i [j] 是 j 类图像xi 的标签。
在单个 类的损失下,可以得到多标签分类(MCL)损失,即 LMCL:
其中 n 是数据集 X 中的图像数,它等于我们设置中的类号。
但这些损失存在问题:
-
问题一
因为 M[j]T 和 f i 被L2归一化,分类分数限制在[1,1]之间。这限制了方程(12)中sigmoid函数的范围。 即使 对于正确的分类,也使损失不为0。 这个问题可以通过在分类分数上引入标量 τ 来解决。
公式(12)更新后的结果为:
将相应的 MCL 损失表示为 LMCLL-τ。LMCLL-τ 的梯度可以计算为,
与等式 (15),说明了当图3中y[j] = 1时具有不同τ值的LMCLLτ的梯度。
从图中可以看出,显然,分类得分大于0.25或小于-0.25,更新后的MCL损失仍然遭受梯度消失的困扰。 -
问题二
另一个 MCL 丢失的问题是,该算法任务涉及大量的类, 使正类和负类不平衡。在等式(14)中平等地对待这些负类。可能导致模型崩溃。因此,我们开始提出 MMCL 来解决这些问题。
2. 基于Memory的多标签分类损失(Memory-based Multi-label Classification Loss)
MMCL 是为了解决传统 MCL 中的两个问题。
-
由于分数以[-1,1] 为界,本文放弃sigmoid函数,通过将分类分数回归 到 1 和-1 来直接计算损失。 这简化了损失计算,提高了训练效率。 将图像 xi 分类为 j 类的损失可以更新为:
其中 fi 是图像 xi 的特征。 - 第二个问题是正类和负类之间的不平衡. MMCL 引入hard negative class来解决它. 这是由深度度量学习中的样本挖掘 的启发, hard negative samples更能为训练提供信息。同样, 在我们的多标签分类中,训练应该更多地关注hard negative class,而不是easy negative classes.
对于xi,它的负类可以表示为
我们根据它们的分类分数对它们进行排序,并选择top r% 类 作为hard negative classes。 xi 的hard negative classes集合可以表示为:
MMCL是根据positive classes and sampled hard negative classes 计算的,如下所示:
其中δ是衡量positive class loss and negative class loss的重要性的系数,将在实验中进行测试。
在图3中,当y¯i [j] = 1时,也类似地说明了LMMCL的梯度,其中LMMCL的梯度可以计算为:
3.Discussions
图3中 MCL 和 MMCL 的比较。清楚地表明, MMCL有效地解决了消失梯度问题。由于梯度消失,LMCL-τ 不会强制分类器对分数大的正标签进行分类。 这对降低类内方差是有害的。因此,MMCL 在优化 ReID 模型方面比 MCL 更有效。图 3 还表明,δ控制了 MMCL 梯度的大小。 如上文所述,均方损失不如基于对数的损失。当分类分数接近决策边界时,通过缩放MMCL的梯度大小,有效地解决了这一问题。 通过采用 hard negative class挖掘策略,MMCL不仅适用于多标签分类,而且可以应用于单标签分类,其中不平衡类问题仍然存在。与交叉熵损失和 MCL 相比,MMCL 放弃了 Softmax 和 Sigmoid 等**函数,从而提高了计算效率。 正如许多 工作中所讨论的,大量的类降低了 Softmax 计算的速度。现有的解决方案包括分层 Softmax 和噪声估计。由于 MMCL 不涉及 Softmax 计算,因此不存在此类问题。
4.4 带标签数据集的迁移学习(Transfer Learning with Labeled Dataset)
该方法也与迁移学习设置兼容。
给定一个包含标签的行人图像的数据集,我们可以在带标签的数据上采用常用的交叉熵损失和三重态损失来训练模型。 训练损失可以表示为 Llabeled。 迁移学习的总体训练损失可以表示为 MMCL 和 标记数据集上的损失之和,即
性能在实验部分进行测试。