摘要:在这项工作中,我们解决了大规模在线人脸聚类的问题:给定一个连续的未知人脸流,创建一个数据库,根据他们的身份对传入的人脸进行分组。每次有新面孔出现时,都必须更新数据库。此外,解决方案必须高效、准确和可扩展。为此,我们提出了一种基于在线高斯混合的聚类方法(OGMC)。这种方法的关键思想是提出一个身份可以由多个分布或集群表示。 OGMC 使用从输入人脸中提取的特征向量(f 向量)生成集群,这些集群可以根据它们的接近度和鲁棒性连接到其他集群。每次使用新样本更新集群时,其连接也会更新。通过这种方法,我们减少了聚类过程对输入数据的顺序和大小的依赖,并且我们能够处理复杂的数据分布。实验结果表明,所提出的方法在大规模人脸聚类基准上优于最先进的聚类方法,不仅在准确性方面,而且在效率和可扩展性方面。
一、引言
近年来,基于身份的人脸聚类在各种情况下都有很高的需求,在某些情况下,还需要支持应用程序的实时操作。例如,在实时视频监控应用程序中需要它,需要在监控区域内维护更新的对象数据库,以控制他们的位置 [1]、[2] 或重新识别如有必要,主题 [3]、[4]。人脸聚类在实时应用程序中的另一个用途是大型基础设施中的人流监控。这种类型的应用程序旨在生成性能指标,例如“等待时间”、“进程吞吐量”、“人员显示资料”、“队列长度超限”和“区域占用率”[5]、[6],这些指标需要需要为越来越多的相机进行计算,因此需要更高水平的计算可扩展性。
关于这些类型的应用程序出现的一个重要问题是数据隐私 [7]、[8]、[9]。不应存储可用于识别受试者的个人信息(即他们的面部图像)。最近的聚类算法依赖于深度神经网络(DNN),它可以从目标人脸图像中推断出特征向量(f-vectors),这些特征向量对应于用于训练的人外貌的抽象表示。尽管在过去几年中,已经发布了一些从 f 向量进行人脸渲染的有前途的方法 [10]、[11],但它们需要知道特征提取网络才能生成可接受的结果 [11] 或训练解码网络 [ 10]。因此,可以通过隐藏和保护嵌入网络来保护个人身份。显然,这种方法有局限性,例如可能匹配对于训练模型而言看起来过于相似的不同人。因此,DNN 的设计和训练应尽可能涵盖细微的面部外观差异。最先进的人脸识别模型 [12]、[13] 旨在实现这一目标。
此外,这些实时应用程序可以在大规模无约束环境中工作,其中没有关于面部表示分布或身份数量的信息可用。人脸可能来自多个放置在不同位置和位置的相机,因此它们可能具有不同的方向、光照条件、部分遮挡等。这将导致复杂的数据分布。大多数传统和最先进的聚类方法都是离线的([14]、[15]、[16]、[17])。这些离线方法不适合实时大规模场景,因为它们需要在每次新样本到达时重复整个聚类过程。此外,他们中的大多数人难以处理复杂的数据分布。
为了克服这些问题,我们提出了一种基于在线高斯混合的聚类方法(OGMC)。我们提议的关键思想是一个身份可以由多个分布或集群表示。 OGMC 使用从输入人脸中提取的特征向量(f 向量)生成集群,这些集群可以根据它们的接近度和鲁棒性连接到其他集群。每次使用新样本更新集群时,其连接也会更新。通过这种方法,我们减少了聚类过程对输入数据的顺序和大小的依赖,并且我们能够处理复杂的数据分布。该方法的高级思想如图 1 所示。实验结果表明,我们的方法在大规模人脸聚类基准上优于最先进的聚类方法,不仅在准确性方面,而且在效率和可扩展性方面。
本文的其余部分安排如下。首先,我们在第 2 节中对相关工作进行了回顾。第 3 节描述了所提出的聚类方法。在第 4 节中,我们提供了实验结果。最后,结论在第 5 节中给出。
二、相关工作
A. 无约束的人脸聚类
在过去几年中,不受约束的环境中的人脸聚类已成为一个深入研究的话题。所解决的场景越来越复杂,并且包含更多的身份。由于环境变化(例如姿势、照明、表情、装饰、遮挡、分辨率、图像噪声)可能发生的大量面部和类内外观变化导致面部表示的复杂分布。传统的聚类算法,如 K-Means [16] 或谱聚类 [18],受到这种复杂性的影响,并且由于它们对数据分布做出假设,因此它们无法在这些场景中实现可接受的性能。例如,K-Means 倾向于生成类似大小的集群。
新趋势将基于 DNN 的人脸识别模型与复杂的聚类算法相结合,以提取面部 f 向量,尽管存在类内外观可变性,但这些算法可以将它们分组为可区分的身份。石等人。 [19] 提出了条件成对聚类 (ConPaC) 算法,该算法基于使用 f 向量之间的成对相似性直接估计邻接矩阵。在 [14] 中,提出了一种基于链接的人脸聚类算法,其中图卷积网络决定应该链接哪些节点对。林等人。 [20] 采用了凝聚层次聚类方法,考虑了嵌入空间中的距离度量和两组人脸之间的差异。在 [15] 中,提出了一个近似的排序聚类,它预测一个节点是否应该链接到它的 k 最近邻(kNN),并传递合并所有链接的对。
然而,所有这些最先进的方法都采用离线算法。每次有新样本到达时,它们都会完全处理收集到的数据,重复聚类
过程增加计算成本,以获得最佳结果。此外,它们中的大多数在准确性和处理时间方面都存在可扩展性问题。例如,ConPaC 的复杂度可以扩展到 O(TN3),其中 N 是 f 向量的数量,T 是迭代次数。王等人。 [14]和奥托等人。 [15] 使用 kNN 图降低所提出算法的复杂性以减少比较次数,但计算成本仍然太高,无法考虑将它们用于在线应用。
B. 在线聚类
近年来,出现了许多在线聚类算法来应对具有挑战性的情况。这种算法的主要优点是它们能够处理新样本而无需重复整个聚类过程。因此,它们是处理大规模实时场景时的最佳选择,但在控制和定义学习率(即新数据如何更新学习模型)方面存在额外挑战。
这些类型的算法已被应用在各种各样的环境中。例如,它们在文本聚类中变得越来越重要。在 [21] 中,作者提出了一种在线聚类方法,用于按主题对来自社交网络的数据流进行分组,使用的相似性度量同时考虑了聚类年龄和使用的术语。 Yin 和 Wang [22] 提出了另一种文本聚类方法,假设聚类数量未知,但低于最大值。在线聚类算法也被用于无监督表示学习[23],其中聚类质心动态演变,保持分类器稳定更新。在线聚类应用的另一个例子是 MalFamaware [24],这是一种算法,用于将新的恶意软件分组到家族中,以辨别它们是新颖的还是仅仅是已知样本的变体。甚至像 K-Means 这样的传统离线方法也有自己的在线实现 [25]。
一些新颖的聚类算法试图结合在线和离线方法。 Wang 和 Imura [26] 提出了一个基于高斯过程的增量神经网络,其中新样本被视为节点,可以连接到其他节点。当一个新样本被聚类时,只有它的邻居的连接被重新评估。同时,在[27]中,样本被分组在球形静态微簇中,连接在一起以创建动态形状的宏簇。这些方法旨在实现与离线方法相同的准确性,但计算时间显着减少。
在人脸聚类中,也有一些在线方法。在 [28] 中,作者提出了一种在线算法,用于对长视频中的人脸进行聚类。他们在可变长度的短段中按顺序处理数据,并使用面部表示和几个时空约束创建集群。然而,它对这些约束的依赖使得它们的方法不适合不受约束的环境,并且非常容易受到传入数据顺序的影响。塔帕斯维等人。 [29] 提出了另一种用于长视频的在线人脸聚类方法。该算法创建具有共享半径的球形簇,该半径可能动态变化。他们假设每个身份都由相同的分布表示。因此,这种方法不能处理复杂的数据分布,因此对于不受约束的环境来说不是一个有效的解决方案。
我们提出的方法旨在满足在线人脸聚类算法的需求,该算法能够在大规模无约束环境中实时工作,实现最先进的结果。
三、建议的方法
A. 问题定义
我们考虑在线聚类的问题:给定一个连续的未知人脸流,创建一个数据库,根据他们的身份对传入的人脸进行分组。每次有新面孔出现时,都必须更新数据库,以便实时获得有关现有身份的信息。在线聚类系统的示例如图 2 所示。出于时间和可扩展性的考虑,在每次迭代中重新生成整个数据库是不可行的,因此算法必须使用来自现有数据库的信息对新样本进行聚类并更新它.因此,问题可以建模如下:
其中 Di 是第 i 次迭代的更新数据库,F 是
在每次迭代中重复的聚类过程,Si 是第 i 个样本,将样本视为从输入人脸提取的归一化 N 维 f 向量,Di-1 是上一次迭代的结果数据库。数据库 D 由计算集群 C 的组和它们所属的身份 I 表示。我们的目标是对 F 进行建模,以最大限度地提高准确性和可扩展性,并最大限度地减少迭代时间。
B. 期望最大化方法
由等式 1 建模的问题类似于期望最大化 (EM) 算法 [30] 解决的问题。 EM 算法是一种众所周知的迭代方法,用于在存在潜在变量的情况下执行最大似然估计。它已广泛用于聚类应用[31]、[32]、[33]、[34]。问题表述如下:给定由一组观测数据 X、一组缺失值 Z、一个未知参数向量 Θ 以及似然函数生成的统计模型:
L(Θ; X, Z) = p(X, Z|Θ) (2)
未知参数的最大似然估计(MLE)是通过最大化观察数据的边际似然来确定的:
EM 算法旨在通过迭代应用两个步骤来找到边际似然的 MLE:
期望步骤:估计缺失数据 Z 的值,使用观察到的数据 X 和参数 Θi 的当前估计。
Z = F(Θi,X) (4) 最大化步骤:使用更新参数 Θi+1
观测数据 X 和新估计数据 Z。Θi+1 =F(X,Z)
在我们的上下文中,我们应用 EM 算法,假设在每次迭代中,观察到的数据是一组处理过的样本 S,参数是计算出的集群 C 的特征,我们要估计的缺失值是新样本所属的簇 I。
因此,在估计步骤中,使用用已经处理的样本计算的集群参数,算法决定新样本是应该与现有集群合并还是创建一个新样本。然后,在最大化步骤中,更新相关集群的参数。
然而,我们的方法遵循这种两步方法的变体。每次更新集群时,都会启动一种新的 EM 算法,称为集群重新聚类,我们检查更新后的集群是否可以与其他集群融合。这是一个迭代过程,因此一个集群可能会被多次融合。因此,我们的算法分为两个阶段:
• 样本聚类阶段:对新样本进行聚类,更新现有聚类或创建新样本。
• 集群重新集群阶段:迭代地尝试将更新的集群与数据库中的其余集群融合。
两阶段过程如图 1 所示,并在后续章节中进行描述。
C. 集群连接
由于我们希望我们的算法在不受约束的环境中工作,它必须能够处理复杂的数据分布。因此,我们必须考虑一个身份由多个集群表示的可能性。例如,一个人的面部属性可能会因不同的原因(即眼镜、胡须、头发、视角、照明条件……)而发生变化,并且试图将所有面部分组到一个集群中可能会由于过于宽松的阈值而导致错误和质量差
质心。从 IJB-C 数据集 [35] 中提取的几个复杂身份示例如图 3 所示。
为此,我们引入集群连接的概念。两个集群之间的连接意味着它们属于相同的身份,但它们代表特征空间中的不同分布。换句话说,两个集群之间有很高的相似性,但这种相似性还不足以融合它们(见图 1)。通过这种方式,该算法创建了连接集群的树来处理复杂的数据分布。
此外,通过这些连接,我们大大降低了算法对传入样本顺序的依赖性,因为每次与新样本或另一个集群融合时,都会检查和更新集群的连接。
然而,在不受控制的情况下允许多个连接可能会导致异常值和属于不同身份的集群之间的错误连接(参见图 4)。为了克服这个问题,我们创建了健壮集群的概念和几个控制连接的规则。如果一个集群至少由 nsr 个样本组成,则认为它是稳健的,因此我们可以确保它不是一组异常值。连接规则如下:
一个非健壮集群最多只能有一个连接,并且只能连接到一个健壮集群。使用此规则,我们避免了由异常值和身份的非鲁棒成员的冗余连接引起的错误连接,从而解决了图 4 所示的问题。
• 两个健壮的集群不能融合在一起。我们将稳健的集群视为代表身份样本子集的有效分布。因此,加入两个健壮的集群会导致身份的表示较差和信息丢失。
• 一个健壮的集群可能有一个最大连接数ncmax。采用这种限制是为了减少计算时间,特别是在检查集群的连接是否仍然有效时。
每次集群融合或连接到新集群时,都会触发检查连接的过程。该函数检查更新后的集群的连接是否仍然有效,以及是否没有超过最大连接数。否则,最弱的连接将被删除。
D. 集群表示
创建聚类算法的下一步是选择代表每个聚类的参数组。这些参数必须包含有关它们所代表的集群的足够有用信息,才能获得准确的结果。此外,这些信息应该简明扼要,因为算法必须是快速和可扩展的。
考虑到这些因素,我们决定使用多元正态分布对集群进行建模,因为它仅取决于两个参数:平均向量 μ 和协方差矩阵 Σ。这也是一个设计选择,因为 EM 算法适用于这些分布 [36]、[37]、[38]。因此,对 N 维样本 Si 属于簇 j 的概率建模的密度函数为:
其中 Si 和 μj 之间的马氏距离 [39] 可以直接用于评估某个样本的质心距离较近。事实上,如果我们假设所有维度都是独立的并且具有相同的方差,我们可以对 Mahalanobis 距离进行操作以减少算法的计算量,定义如下:
DM(Si,μj,σj) = 1 dist(Si,μj) (7) σj
其中 dist(S, μ) = ||S - μ||2 。
比较两个集群时的三种可能情况
(融合、连接或无关系)然后被建模为这些正态分布的高斯混合,并使用马氏距离有效计算。这些分布的均值均为零,等于两个质心之间的最小可能距离。它们的偏差 σ 取固定值,具体取决于比较的集群是否稳健以及先前定义的连接规则(参见图 5)。
因此,我们定义了三个欧几里得距离阈值来覆盖不同 σ 产生的所有可能情况:
• 融合阈值thrf:决定两个集群是否应该融合在一起。
• 弱连接阈值thrwc:连接一个健壮的集群和一个非健壮的集群。
• 强连接阈值thrsc:连接两个健壮的集群。
聚类的平均值由其质心 C * 表示,通过对包含在聚类中的所有样本的特征之和进行归一化来计算:
因此,为每个集群存储以下信息:
• N 维质心 (C * )
• 所属样本特征的总和 (SC)
• 所属样本数 (ns)
• 所属样本的索引 (sI dx)
• 连接集群的索引 (cI dx)
• 到连接集群的距离 (cDist)
E. 方法实现
如第 III-B 节所述,我们的聚类方法分为两个阶段。第一个阶段,样本聚类阶段,如图 6 所示。在这个阶段,处理新的传入样本。第一步是计算归一化样本向量与数据库中现有聚类的归一化质心之间的距离。可以考虑不同的距离,但我们选择了欧式距离(dist)。我们做出这个决定是因为所采用的人脸识别模型是使用余弦相似度 [12] 进行训练的,并且对于归一化向量,它与欧几里得距离成反比:
利用 GPU 架构的功能并行计算距离。这样,我们减少了集群数量对处理时间的影响。因此,归一化的质心直接存储在 GPU 内存中。
一旦计算出距离,它们就会被复制到 RAM 内存中,并使用 CPU 选择最小距离。如果此距离小于 thrf ,则将样本与所选集群融合。否则,它用于创建一个新的集群。如果创建了一个新集群,该算法会检查它是否可以连接到最小距离集群。如果所选集群是健壮的并且距离不高于 thrwc,则会发生此连接。如果有连接,算法会检查鲁棒集群的连接数是否超过了允许的最大值(ncr),如果有必要,删除最弱的连接。
如果新样本 Si 用于更新现有集群,则会启动集群重新集群阶段(参见图 7)。此阶段由迭代 EM 算法组成,其中更新后的集群尝试与数据库中的其余集群融合或连接,使用参数 thrf 、 thrwc 、 thrsc 和 nsr 以及第 III-节中定义的连接规则C。
以与前一阶段相同的方式计算最小距离的选择。如果更新的集群与另一个集群融合,则再次计算新的更新集群的距离并重复该过程。如果更新的集群连接到另一个集群并且更新的集群是稳健的,则算法搜索下一个最小距离并重复最大化步骤。
在集群重新聚类阶段结束之前,算法会检查更新后的集群的连接是否仍然有效,因为集群的质心可能由于融合而发生了变化。最后,它会检查更新后的集群和连接的集群的连接数是否不超过允许的最大连接数。
每次迭代后,使用一个简单的递归函数和变量 sI dx 和 cI dx 提取聚类过程的结果,以合并所有连接聚类的样本。
四。实验
已经进行了一系列实验来证明所提出的聚类算法 OGMC 的潜力。实验分为两组。第一组旨在衡量 OGMC 在准确性和处理时间方面的性能,并将其与其他传统和最先进的离线聚类方法进行比较。
第二组专注于测试它的可扩展性,测量随着数据样本数量的增加而导致的准确性下降和处理时间的增加。
此外,为了验证设计决策,比较算法不同部分的贡献并测量模型参数对人脸识别网络以及训练和测试数据集的依赖程度,提出了一项消融研究。
最后,为了证明 OGMC 在人脸识别之外的有效性,我们使用 DeepFashion [40] 进行了一项额外的实验,该数据集是用于衣服检索的著名数据集。
用于进行实验的服务器配备了 NVIDIA Tesla V100 GPU 和 Intel Xeon Gold 6230 CPU。
A. 参数调优
如第三节所述,OGMC 仅取决于 5 个参数:三个距离阈值(thrf、thrwc、thrsc)、将集群分类为稳健的最小样本数(nsr)和稳健集群允许的最大连接数(ncr)。考虑到它是一种在线方法,无论其大小如何,它都可以与数据库一起操作,并且与其他最先进的聚类方法(例如,GCN [14])相比,这个参数数量相对较低。除了三个参数之外,还需要训练一个 DNN。此外,它们的值在一定范围内,并且易于调整,如下所述。
距离阈值是介于 0.0 和 2.0 之间的浮点数,因为它们表示两个归一化向量之间的欧几里德距离。这些是迄今为止算法中最敏感的参数,因为它们的值的微小修改会对输出产生重大影响。
将一个集群分类为鲁棒的最小样本数(nsr)是一个等于或大于 1 的整数。一方面,它的值越低,鲁棒集群的数量就越高,这可能是不可取的,因为连接中的错误不同身份的外层之间以及由于循环连接而增加的处理时间。另一方面,如果 nsr 太高,鲁棒集群的数量可能不足以将所有非鲁棒集群连接在一起。我们凭经验发现 3 到 6 之间的范围使算法处于平衡状态,因此建议最佳值为 4,因此算法的用户实际上不需要更改它。
一个健壮簇(ncr)允许的最大连接数也是一个等于或大于1的整数。它需要与nsr一起调整,因为如果nsr减小,健壮簇的数量也会减少,从而增加数量每个健壮集群所需的连接数。如果距离阈值设置正确,则增加允许的连接数不会影响准确性。但是,通过限制相同身份的集群之间的循环连接数,此参数可能会对处理时间产生很小的影响。我们根据经验确定该参数的适当值范围在 5 到 25 之间,并且可以调整为 5 的灵敏度。
这些参数,尤其是距离阈值,主要取决于人脸识别模型,所以只有在更换模型时才需要重新调整。正如我们在随后的消融研究中报告的那样,尽管它们也可能对所使用的数据集有很小的依赖性,但它对结果的影响有限。
微调参数的步骤如下:
• 用于调整三个距离阈值的迭代网格搜索。网格大小从 0.1 开始,每次迭代减半,直到分辨率达到 0.0125(4 次迭代)。测试的总数根据限制条件来限制:thrwc 必须小于 thrf 并且 thrf 必须小于 thrsc。在这一步中,nsr 和 ncr 取固定值 4 和 10
分别。
• 用于调整nsr 和ncr 的单一网格搜索。对于 nsr 使用 agridsizeof1between3and6andforncr agrid size of 5 在 5 和 25 之间(总共 20 个单元格)。在这一步中,距离阈值是固定的,并采用上一步中计算的值。
使用建议的方法探索参数空间并针对训练数据集测试算法在准确性和处理时间方面的响应,用户可以根据应用需求轻松配置算法。此外,我们并行化每个网格搜索以减少调整时间。
最后,在每个实验的描述中报告了为调整参数而选择的数据集。
B. 人脸聚类性能
对于第一个实验,我们使用 IJB-B 数据集 [41],这是一个众所周知的无约束的野外人脸图像数据集。该数据集包括一个由七个子任务组成的聚类协议,这些子任务的身份数量和面孔数量各不相同。我们选择最后一个子任务,因为它是最具挑战性的子任务,具有最多的身份 (1,845) 和面孔 (68,195)。
为了与其他方法进行公平比较,并证明 OGMC 算法独立于识别模型,我们使用与 [14] 中相同的向量进行实验。这些向量有 512 个维度。为了调整 OGMC 的参数,我们使用 CASIA 数据集 [42] 中提供的特征和标签:thrf = 1.01,thrwc = 1.12,thrsc = 0.99,nsr=5,ncr=5。
根据 [43] 中的建议测量性能,选择以下指标:
• BCubed F-Measure F:表示聚类系统的有效性,考虑到bcubed 精度P 和召回R,其计算如[43] 中所述。
F=2P∗R (10) P+R
• 归一化互信息(NMI):该度量代表集群的同质性。使用地面实况聚类 (G) 和预测聚类 (C),可以使用以下等式计算:
我(G,C)
NMI(G, C) = H(G)H(C) (11)
其中 H 代表熵,I 是互
信息。
• 总处理时间:因为我们正在比较我们的
在线算法与其他离线方法,我们依次处理所有样本以模拟离线行为,并计算整个过程的时间。
实验结果如表 I 所示。可以观察到,所提出的方法在 F 度量和处理时间方面优于其他方法,同时在集群同质性度量方面取得了有竞争力的结果。与第二好的方法(GCN-A [14])相比,OGMC 实现了更好的 F-Measure,同时使用相同的硬件将处理时间减少了 6 倍以上。
在第二个实验中,我们使用不同的人脸识别模型和不同的人脸数据集来测试我们的方法的性能。所采用的人脸识别模型使用 ArcFace loss [12] 进行训练,以 ResNet100 [46]、[47] 作为嵌入网络,输入分辨率为 112 × 112。我们选择 MS1MV2 [12] 作为训练数据集,这是一个MS-Celeb-1M [48] 的改进。
本实验选择的数据集是 IJB-C [35],这是另一个著名的无约束的野外人脸图像数据集,具有更多的身份和人脸。该数据集还包括一个包含 8 个子任务的聚类协议。同样,我们选择了最具挑战性的协议(IJB-C-3531),有 3,531 个身份和 140,623 个面孔。我们使用 RetinaFace [49] 进行面部和面部标志检测。为了获得更好质量的特征向量,我们过滤每边少于 45 个像素的人脸,并按照 [50] 中的建议,使用参考人脸地标应用仿射变换对人脸块进行归一化。过滤后,提取了属于 3,529 个身份的 120,661 个向量。我们将我们的算法与两个最佳状态进行比较
最先进的方法:GCN [14],它在第一个实验中达到了最高的准确度(不考虑我们的),以及 ARO [15],它实现了准确度和速度之间的最佳权衡(不考虑我们的)。我们调整这两种方法的参数以达到最佳性能。此外,对于 GCN,我们使用 VGG2 数据集 [51] 的子集重新训练网络,在 4 个时期内包含超过 300k 图像和 8500 个身份(遵循 [14] 中的建议)。最后,我们重新调整算法的参数,因为我们使用的是不同的人脸识别模型,使用用于重新训练 GCN 的相同 VGG2 子集:thrf = 1.07, thrwc = 1.15, thrsc = 1.05, nsr = 5, ncr = 10 .
该实验的结果如表 II 所示,表明我们的方法在 F-Measure 和处理时间方面优于其他方法。 OGMC 运行速度比 GCN 快 7 倍,比 ARO 快 6 倍以上。这些处理时间的比率表明,与其他方法相比,我们的方法也更适合放大。
我们还展示了在实验期间由所提出的方法生成的几个示例集群。在图 8 中,每一行代表一个由相互连接的不同集群组成的身份。这些身份包含光照条件、部分遮挡、透视和面部属性的变化,因此它们由复杂的数据分布表示。通过我们提出的方法,我们能够使用可变数量的连接集群准确地近似这些分布。每个鲁棒集群都会生成一个质心(代表 f 向量),它代表特定条件范围内的身份。例如,在图 8 的第二行中,第二个聚类质心表示昏暗照明条件下的身份。如果我们试图将这个身份的所有面孔分组在一个集群中,则可能会由于过于宽松的阈值和较差的质量质心而导致错误。在该图中可以观察到 OGMC 的另一个好处是,身份异常值包含在与稳健集群相连的非稳健集群中。这样,这些异常值不会损害稳健聚类质心的质量,并减少匹配错误的数量。
图 8 的最后一行展示了这种行为的一个明显示例,其中第二个和第三个集群是由不合适的条件(照明、模糊、遮挡......)组合产生的异常值。
在本节的最后一个实验中,我们测试了 OGMC 在极端条件下的准确性:使用提取特征较少的向量的人脸识别模型和使用身份数量多得多的数据库。同样,由于我们希望与其他方法进行公平比较,我们决定复制 [52] 中提出的实验。在这个实验中,他们选择了数据库 MS-Celeb-1M [48] 的一个子集,其中包含来自 86K 个身份的 580 万张图像,并将其随机分成 10 个具有几乎相等数量的身份的部分。然后,他们随机选择 1 个部分作为标记数据进行训练,另外 9 个部分作为未标记数据。使用未标记的数据,他们创建了 5 个具有越来越多的向量和身份的测试。最后一个测试有 5.2M 个向量和 77K 个身份。此外,与之前使用的 512 个相比,提供的向量只有 256 个特征。
因此,正如他们对其余方法所做的那样,我们使用提供的训练数据调整 OGMC 的参数:thrf = 0.85, thrwc = 1.02, thrsc = 0.72, nsr = 4, ncr = 25。然后,我们评估算法使用 5 个测试子集,向量和身份的规模越来越大。实验结果列于表III中。可以观察到,OGMC 在每个测试子集中始终优于其他方法。
通过这个实验,我们也证明了如果数据集的规模增加,OGMC的参数不需要重新调整,所以如果人脸识别模型发生变化,用户只需要调整参数,如上所述。当然,与任何其他方法一样,我们必须确保训练数据足够大且变化多端,以便从模型中提取必要的信息以正确调整参数。
C. 集群可扩展性
我们还想证明我们的方法是可扩展的,并且适用于大规模的实时应用。为此,我们进行了以下两个实验。在第一个中,我们测试了我们的方法的可扩展性,将 1、2 和 3 百万个干扰项添加到之前实验中使用的 IJB-C 向量中。因此,我们可以观察到准确性和处理时间如何随着数据库的大小而变化。我们从 VGG2 人脸数据集 [51] 中生成干扰项,该数据集包含 330 万张人脸,属于 9000 多个身份,在姿势、年龄、光照、种族和职业方面存在很大差异。使用与之前IJB-C实验相同的人脸识别模型,所以我们使用相同的参数值:thrf = 1.04, thrwc = 1.13, thrsc = 1.03, nsr = 5, ncr = 5。
测试执行 10 次,将所有向量随机洗牌并计算所有测试的平均 F-Measure 和处理时间。对于 F-Measure 的计算,干扰项被忽略。表 IV 所示的结果表明,OGMC 具有极高的可扩展性,添加 100 万个干扰项时精度下降 0.1%,添加 300 万个时精度下降 0.5%。此外,OGMC 能够在不到 25 分钟的时间内处理超过 110 万张人脸,在 2 小时 13 分钟内处理超过 310 万张人脸。本实验中生成的集群和连接的一些示例如图 11 所示。
最后一个实验旨在证明 OGMC 适用于实时应用。它包括使用具有 300 万个干扰器的 IJB-C 向量重复之前的测试,并测量每个样本的处理时间如何随着处理的样本数量和数据库中的集群数量而变化(请注意,集群的数量不等于身份的数量,因为我们没有考虑连接)。
与之前的实验一样,重复测试 10
次,将所有向量混洗随机次数并将结果计算为所有测试的平均值。图 9 显示,在处理了 300 万个样本和 8 万个集群的数据库后,每个样本的处理时间仍然是 5 毫秒,这仍然允许 OGMC 每秒实时处理 200 个样本。该结果表明,即使在处理大量数据时,所提出的方法也适用于实时应用。
D. 消融研究
我们提出了一项消融研究来讨论设计选择对 OGMC 性能的影响。首先,我们展示了算法重新聚类阶段的贡献。为此,我们仅应用 OGMC 的第一阶段运行带有 VGG2 干扰物的 IJB-C 实验,并将结果与应用完整方法获得的结果进行比较。表V显示了实验结果。比较处理时间,我们可以看到去除重新聚类阶段显着降低了算法的复杂度。然而,它也会导致准确率的显着下降(≈4%)。此外,去除第二阶段也显着增加了准确性对输入数据顺序的依赖性。这是因为在更新集群时不会重新评估连接。
我们还想分析 GPU 并行化增加的速度。我们用 CPU 重新实现了距离计算模块,并在两个版本的 OGMC 上重复了 IJB-C 实验,以测量处理时间如何随着每种情况下的聚类样本数而演变。图 10 中的比较结果表明,使用 GPU 进行距离计算并行化可以显着减少每个样本的计算时间,并显着提高可扩展性。然而,与其他基于神经网络的方法(如 GCN [14] 或 GCN-V [52])相比,这个简单的任务仅消耗一小部分 GPU 利用率。此外,集群质心所需的 GPU 内存非常有限(100 万个 512 维向量需要 2.4GB),并且可以随着数据库的增长动态分配,这使得 OGMC 适合与其他基于 GPU 的算法一起运行(例如基于 DNN 的人脸识别模型)。
最后,我们想证明 OGMC 的参数对训练数据集没有显着的依赖性,只要它足够大且变化多端,可以从人脸识别模型中提取必要的信息。为了证明这一点,我们使用相同的人脸识别模型重复了 IJB-C 实验,但我们没有使用 VGG2 子集,而是使用 IJB-C 向量调整参数,以便我们在此测试中获得最佳结果.因此,我们获得以下参数值:thrf = 1.04, thrwc = 1.13, thrsc = 1.03, nsr = 5, ncr = 5。通过这些值,OGMC 实现了 0.952 的 BCubed F-Measure,仅提高了 0.4%超过原来的测试。因此,该实验表明我们的假设是正确的,OGMC 参数几乎完全取决于人脸识别模型,并且只有在更换此类模型时才需要重新调整它们。
E. 超越人脸识别
为了结束实验部分,我们评估了 OGMC 在人脸识别之外的任务的有效性。
为此,我们使用 DeepFashion 数据集 [40] 重现了 [52] 中提出的实验,该数据集是用于衣服检索的著名数据集。在这个实验中,他们混合了原始分割中的训练和测试特征,并从 3,997 个类别中随机抽取 25,752 张图像进行训练,并从 3,984 个类别中随机抽取 26,960 张图像进行测试。为了公平比较,我们使用了官方存储库中提供的相同的 256 维向量。因此,我们使用训练集调整 OGMC 的参数:thrf = 0.51,thrwc = 0.58,thrsc = 0.49,nsr = 4,ncr = 10。实验结果如表 VI 所示。在所有测试的方法中,OGMC 取得了最好的 F-Measure,证明了它对人脸识别以外的任务的适用性。
五、结论
在这项工作中,我们解决了大规模在线人脸聚类的问题。我们提出了一种基于EM算法和高斯混合的方法。我们引入了集群连接的概念,其中一个身份可以由多个集群表示。通过这种方法,我们减少了聚类过程对输入数据的顺序和大小的依赖,并且我们能够处理复杂的数据分布。进行的实验及其衍生结果表明,无论是在线还是离线,我们的方法在准确性、处理时间和可扩展性方面都优于最先进的聚类方法。
未来的工作将集中在通过使用 GPU 的计算能力并行化最小距离搜索来进一步减少所提出方法的处理时间。此外,鉴于 Covid-19 的当前情况,我们将研究使用外科口罩对聚类过程的影响。我们相信,对于一个身份,所提出的方法会将带有和不带有掩码的人脸分组在不同的集群中,但相互连接,因为我们已经证明该算法适用于部分遮挡。最后,由于我们相信开源社区,我们将很快发布 OGMC 的完整代码以及用于实验的所有补充材料,因此任何人都可以复制它们并为改进方法做出贡献。