美文网首页
人脸聚类:表示和成对约束

人脸聚类:表示和成对约束

作者: Carrie_Hou | 来源:发表于2020-12-03 20:21 被阅读0次

摘要—根据潜在的身份来聚类人脸图像有两个重要的应用:(i)在没有外部标签与图像相关联时对人脸图像的集合进行分组;以及(ii)为有效的大规模人脸检索建立索引。聚类问题由两个关键部分组成:面部图像的表示和相似性度量,以及分区算法的选择。我们首先提出一个基于ResNet的表示形式,该表示形式在图像分类问题中表现良好。给定这种表示方式,我们设计了一种聚类算法,即条件成对聚类(ConPaC),该聚类算法仅基于人脸图像之间的相似性直接估计邻接矩阵。这允许动态选择簇的数量,并保留面之间的成对相似性。 ConPaC将聚类问题公式化为条件随机场(CRF)模型,并使用Loopy Belief传播找到使邻接矩阵的后验概率最大化的近似解。在两个基准人脸数据集(LFW和IJB-B)上的实验结果表明,ConPaC的性能优于众所周知的聚类算法,例如k均值,光谱聚类和近似Rank-order。此外,我们的算法可以自然合并成对约束,以半监督的方式工作,从而提高了聚类性能。我们还提出了ConPaC的k-NN变体,该变体在给定k-NN图的情况下具有线性时间复杂度,适用于大型数据集。

索引词-人脸聚类,人脸表示,条件随机字段,成对约束,半监督聚类。

一,引言

CAMERAS无处不在,已嵌入数十亿部智能手机和数亿个监视系统中。监控摄像机尤其是政府机构和企业普遍采用的安全机制。这导致在诸如2013年波士顿马拉松轰炸[1]等备受关注的案件中,根据其面部图像捕获嫌疑犯。但是,要找到嫌疑人的面部图像,通常需要手动处理大量事件的图像和视频。自动处理静态图像和视频以协助法医调查的需求激发了先前的工作,即通过身份将大量的面部图像聚类[2]。在[3]中,Nech等人。还使用面部聚类来帮助标记面部图像和编译的MF2面部数据集。

在监视应用中,与某些公共领域数据集中的人脸图像相比,可用的人脸图像质量通常很低,例如“野生人脸”(LFW)[4]。 IARPA Janus项目正在突破无限制人脸识别的界限,并发布了一个数据集NIST IJB-B [5] 1,其中许多人脸无法通过现成的人脸检测器检测到[7]。因此,Janus基准测试提出的人脸识别问题可能更接近法医应用中遇到的问题。我们尝试通过以下方法来处理这种较困难的人脸类别:(i)改善人脸表示(通过使用大型训练集和新的深度网络体系结构),(ii)开发有效的人脸聚类算法以自动将人脸图像分组和视频,以及(iii)通过建议的聚类算法的半监督扩展在聚类过程中纳入用户反馈。

为了开发人脸聚类的表示,我们利用两个公共领域的数据集:CASIA-Webface [8]和VGG-Face [9]。在网络架构方面,我们采用了深度残差网络,与ImageNet基准测试[10]上的VGG架构相比,它具有更好的性能,并且比[8]中针对BLUFR协议[11]提出的架构有更好的结果。

给定一个表示,我们提出一种称为条件成对聚类(ConPaC)的脸部聚类方法,以使用脸部图像之间的成对相似性根据其隐藏类(对象身份)对脸部集合进行分组。没有使用关于数据的假设,包括身份(集群)的真实数量;仅指定相似性阈值以在准确性和召回率之间取得平衡。除了学习新的相似性度量或表示并将其提供给标准分区或分层聚类方法之外,条件成对聚类直接将所有两对面孔之间的邻接视为变量,以预测和寻找使这些变量的联合后验概率最大化的解决方案给定它们相应的成对相似性。为了对该条件分布建模,我们提出了一个三重态一致性约束,该约束揭示了输出变量之间的这种依赖关系,即有效的邻接矩阵必须是可传递的,以表示部分聚类。这意味着任何两个相邻点应共享完全相同的相邻邻居。所提出的模型可以动态地确定聚类的数量,并且还保留相似性信息。特别地,我们将问题建模为条件随机场(CRF),并采用Loopy Belief Propagation来得出有效的邻接矩阵。通过在相似性矩阵上接受一组成对约束(必须链接或不能链接分配),可以将该模型轻松扩展到半监督聚类。

我们认为在这项工作中有以下贡献:(i)我们提出了一种聚类算法(ConPaC),该算法基于对深度脸部网络中学习到的表示从面孔之间的成对相似性得出的邻接矩阵的直接估计; (ii)我们在LFW和IJB-B这两个不受约束的人脸数据集上评估了所提出的方法; (iii)我们证明了所提出的方法可以自然地应用于半监督人脸聚类场景; (v)我们提出了一种算法的近似k-NN变体,可以有效地聚类数百万个面部图像。

二。背景

A.人脸表示

传统上,人脸图像由外观模型或局部描述符表示[12] [13] [14] [15]。但是,由于深层神经网络(DNN)由于具有表示学习能力而在解决计算机视觉问题方面显示出巨大的潜力[16] [17] [18],因此提出了许多基于DNN的方法来进行脸部表示和识别。 DeepFace [19]方法在属于4,000多个身份的400万张面部图像的数据集上训练了CNN。训练基于最小化分类错误和将最后一个隐藏层的输出作为人脸表示的基础。在面部识别方面,DeepFace大大超越了传统方法,特别是对于不受约束的面部图像。 Sun等。在他们的DeepId系列[20] [21] [22] [23]中扩展了DeepFace的工作。他们提议在联合贝叶斯框架下使用多个CNN [24],并在早期卷积层上增加监督。 Schroff等。 [25]在他们的FaceNet工作中,放弃了分类层,而是引入了三元组损失来直接学习一个嵌入空间,其中不同身份的特征向量可以用欧几里得距离分开。

B.人脸聚类

聚类分析是模式识别,统计和机器学习中广泛研究的重要课题[26]。通过对未标记数据的集合进行初步分组,对于探索性分析很有用。由于许多大规模面部收藏中潜在的大量未知身份,使用从聚类中获得的标签标记面部图像非常有用。奥托等。 [2]简要概述了人脸聚类。先前的大多数研究[27] [28] [29] [30] [31] [32]都集中于从非歧视性的低级特征中学习良好的相似性矩阵或鲁棒表示,然后使用标准聚类算法(例如光谱聚类。然而,实际上,即使使用简单的度量函数,当今深层神经网络所产生的高级特征也可以提供相当鲁棒的表示,从而具有相似性。此外,已经提出了许多有监督的度量或表示学习方法,它们被证明能够增强深度表示并具有良好的通用性[24] [33]。因此,正如我们将在IV-B部分中所示,在实际的人脸聚类问题中,相似性学习相对简单。相反,分区算法扮演着更重要的角色。

奥托等。 [34] [2]基于[31]的工作,利用了均质的人脸图像(属于同一身份的图像)通常具有相似的最近邻居的假设,并提出了近似的Rank-order距离度量。他们表明,通过在一定距离内链接所有图像对,它们可以在具有挑战性的无约束人脸数据集上实现良好的聚类性能。

C.半监督聚类

考虑到数据聚类的困难性质(表示的选择,相似性度量和聚类数量),一种改善聚类性能的方法是合并辅助信息。边信息的一种常见形式是成对约束,它表示必须将一对数据点放置在同一群集中(“必须链接”约束),或者不能将它们放置在同一群集中(“不能-链接”约束),如图1所示。 [35]首先通过强制聚类分配满足约束,将成对约束纳入k-means算法,并表明用户指定的约束可以帮助改善聚类结果。邢等。 [36]建议在应用k均值之前从给定的约束中学习马氏距离度量。 Basu等。 [37]设计了一个带有隐马尔可夫随机场(HMRF)的半监督聚类的概率模型,并使用EM算法来优化参数。还研究了将成对约束纳入分层聚类[38]和频谱聚类[39] [40]。对于半监督聚类的综述,请参阅[41]。

D.条件随机场(CRF)

条件随机场(CRF)是Lafferty等人首先提出的一种无向概率图形模型。用于预测顺序数据的标签[43],后来引入计算机视觉以对图像建模[44] [45] [46]。 CRF与传统的隐式Marcov模型(HMM)[47]的区别在于,CRF是一种判别模型,它直接对条件分布p(Y | X)而非联合分布p(Y,X)进行建模,并预测标签Y通过最大化后验概率。通常,CRF可以表示为:

p(Y|X)= 1 􏰂 􏰂 ψc(Xc,Yc;θp), (1)

其中Z是归一化因子,C = {C1,C2,...,CP}是图中所有集团的集合,ψc是在集团Cp和θp的变量(Xc,Yc)上定义的势函数是模型的一组参数[42]。我们可以通过因子图表示无向图形模型,其中每个潜在函数都有一个因子节点,并连接到其势群中的每个节点,如图3所示。通常,CRF中有两种类型的潜在函数:(1 )关联势,它等于观察值p(Yc | Xc)上的局部条件分布;以及(2)交互势,它编码不同输出变量之间的依存关系。尽管在[43]中将它们最初定义为特征上的Gibbs分布,但是关联电势经常被有监督的判别式分类器(例如神经网络)替代[44] [48]。

至于对CRF的推断,可以采用任何无方向性图形模型的方法,其中一种方法是信仰传播(BP)[49]。 BP算法有两种类型:求和积和最大和。它们分别是精确的推理方法,用于在树状图形模型上找到边际概率并最大化后验概率。但是,由于它们仅涉及本地消息更新,因此它们也可以应用于带有循环的图形,从而导致Loopy Belief Propagation。尽管不能保证Loopy Belief传播收敛,但它已在IJB-B,(c)CASIA-webface和(d)VGG数据集中取得了成功。

各种领域[50] [51] [52]。研究还表明,洛比信念传播的结果与贝特自由能的平稳点相对应,并且与变分方法有关[53]。有关CRF和Loopy Belief传播的更多信息,请参阅[54]。

三,面部数据集

我们利用CASIA-Webface [8]和VGG-Face [9]数据集来训练网络,以学习用于聚类的表示形式。然后,我们在两个基准数据集LFW [4]和IARPA Janus Benchmark-B(IJB-B)上评估聚类算法的性能。这些数据集的一些示例图像如图2所示。如[8]和[9]所述,LFW和VGG-Face或LFW和CASIA-Webface之间没有相同性重叠。同样,IJB-B不包括与VGG-Face或CASIA-Webface重叠的身份[5]。

A.LFW

带有标签的野外面孔(LFW)[4]包含13张233张人脸图像,共5 749个人;在这5 749个人中,有4,069个人中的每个人只有一张脸部图像。该数据集是通过搜索名人和公众人物的图像而构建的,仅保留那些通过现成的面部检测器[7]可自动检测到的面部的图像。结果,限制了LFW中的面部姿势变化。

B.IJB-B

IJB-B数据集[5]由7个不同的聚类实验组成,受试对象数量不断增加。这些实验分别涉及32、64、128、256、512、1、024、1、845名受试者,共有1,026、2、080、5、224、9、867、18、251、36、575名受试者和68、195张图像。为IJB-B数据集定义了与聚类有关的两种协议:(i)检测到的面部聚类和(ii)面部检测+聚类。由于这项工作的重点是人脸聚类,因此我们将使用第一个协议并假定已经检测到人脸。按照[55]中的步骤将人脸对齐,使用IJB-B中提供的边界框作为界标检测的起点。 IJB-B数据集中的许多图像处于极端姿态或质量低下,因此,与LFW相比,IJB-B的聚类任务更加困难。 IJB-B群集协议中的大多数图像都来自视频帧,这使其与监视应用程序更加相关。

C.CASIA-Webface

CASIA-webface数据集[8]是半自动收集的面部数据集,用于推动面部识别系统的发展。它包含从互联网下载的10,575个主题(主要是名人)的494,414张图像。但是,我们无法使用Dlib库2中的面部检测器来定位某些图像中的面部。因此,我们将CASIA-Webface的子集与10、533个对象的404、992张面部图像一起使用来训练我们的网络。该数据集已广泛用于训练深度网络。

D.VGG-人脸

VGG-Face数据集于2016年作为一组260万个URL以及相应的面部检测位置发布[9]。由于链接断开,我们只能获取原始260万个列出的URL中的220万个图像。示例VGG图像显示在图2(d)中。此外,在我们能够下载的图像中,我们确定了许多精确的重复文件。手动检查时,这些重复项通常带有错误标签的标识,或者是当不再有原始图像时由图像主机提供的占位符图像。在排除重复图像之后,我们从VGG数据集中保留了170万张图像。我们将这些图像与CASIA-Webface数据集结合在一起(并合并了重叠的主体身份),从而获得了11,326个不同主体的总计210万幅图像。

IV。方法

A.代表

他等。文献[10]使用“深度残差网络”架构在ImageNet对象识别数据集上获得了竞争性的结果。因此,我们直接调整了用于面部识别的架构(利用了Torch7框架[56]和Facebook AI Research fb.resnet.torch3发布的残差网络的实现)。我们已经研究了[10]中概述的50层和101层架构。在数据扩充方面,我们按照[55]中提出的对齐步骤将标准化的人脸图像缩放到256×256(如图4所示),并在训练过程中随机裁剪224×224个区域。我们另外在训练过程中翻转图像,并使用[57]中的比例和纵横比增强。对于特征提取,使用相同的过程对每个图像进行对齐,然后使用10裁剪策略5从瓶颈层4提取2048维特征向量,并将其归一化为单位12范数。由于在IJB-B基准测试中人脸图像质量低下,因此无法使用Dlib对齐许多图像。在这种情况下,我们将裁剪包含协议中提供的地面真实边界框的正方形区域。在基准测试7中允许这样做,其中假定检测任务已经完成。

动机

像其他聚类问题一样,人脸聚类尝试根据其相似性或结构将数据点划分为多个组。但是,在现实世界中没有约束的人脸聚类问题中,情况可能大不相同,以至于许多流行的聚类算法都不适合。一方面,大多数聚类算法都是基于数据的某些分布假设。例如,k-means假设不同类别的数据点接近类别的质心,并且光谱聚类[58] [59]旨在找到数据集的平衡分区。但是实际上,数据可以根据表示形式以任意形状分布,并且大型面部图像集中不同簇的大小可能非常不平衡。此外,大多数算法都需要将簇的数量作为输入参数,这在现实世界中的面部聚类问题中通常是未知的且相当大。另一方面,深度神经网络的迅速发展使得有可能学习不受约束的面部图像的高度鲁棒的表示。即使使用简单的度量函数,也可以获得良好的成对相似性,从而提供关于成对均匀性的可靠证据(一对脸部图像是否属于同一身份)。

在图5中,通过可视化ResNet表示形式的相似性矩阵,我们可以看到它与地面真实邻接矩阵高度一致。但是,相比之下,k均值和频谱聚类的结果邻接矩阵(通过使用类别的真实性数)不仅与真实性相距甚远,而且与输入相似性矩阵本身也不相似。因此,我们尝试仅基于成对相似性对人脸图像进行分割。不使用其他任何假设,包括身份的数量。

C.问题表述

给定一个大小为N的数据集X,其中每个Xi,i = 1,2,... N是一个数据点,我们想直接估计一个N×N邻接矩阵Y,其中Yij是一个二进制变量,指示X和X被分配给相同的集群。假设给定所有对的成对条件概率p(Yij | Xi,Xj),目标是通过使后验概率p(Y | X)最大化来找到整体邻接矩阵Y。为了对该条件分布建模,我们需要考虑不同变量Yij之间的依赖关系,为此我们提出了三元组交互约束来约束邻接矩阵Y有效。所谓有效,是指该邻接矩阵的对应图是可传递的,并且表示有效分区。这导致了结构化的预测问题,我们使用条件随机场(CRF)模型来表述它并最大化后验概率:

其中Z是归一化因子,一元缔合势ψu(Yij)= p(Yij | Xi,Xj)是观测值的成对条件分布,而ψt(Yij,Yik,Yjk)是将Y约束为的三重态相互作用势。有效。因为邻接矩阵是对称的,所以我们只需要取i <j的Yij作为变量,因此总共有1 N(N − 1)个输出节点。 2一元势是一对数据点属于同一类的可能性,这正是成对相似性所代表的意思,因此我们对两张脸的深层表示之间的余弦相似性进行了变换,以获得真正的一元势ψu(Yij = 1)。在实践中,我们发现这很好用,即使没有试图为一元势的概率分布进行显式建模。

对于分区群集,如果点i连接到群集中的任何点j,它也应该连接到该群集中的所有其他点,但不连接到群集外部的任何点。但是,并非每个邻接矩阵都满足此要求。为了检查邻接矩阵的有效性,我们使用了基于三重态一致性的度量。考虑任意三个点的三元组,如图6所示。然后,关于一个三元组中三对的状态有四种可能的情况。

当且仅当三元组都不是情况(2)时,邻接矩阵才有效。因此,我们可以使用三重态集团对不同Yij之间的依赖关系进行建模。在我们的无向图中,每个三元组(Yij,Yik,Yjk)都是完全相连的,形成一个集团。三重态集团的互动潜力定义为:

ψt(Yij,Yik,Yjk)= exp(-αV(Yij,Yik,Yjk)),(3)

能量函数V是一个指标函数

如果三元组不一致,则为1,否则为0,否则:

V(Yij,Yik,Yjk)=(1-Yij)YikYjk + Yij(1-Yik)Yjk + YijYik(1-Yjk)

为了寻求有效的划分,我们认为等式(3)中的α足够大,以致于该公式占主导地位。然而,值得注意的是,我们无需在算法中明确定义α,如下一节所述。

由于数值问题,通常我们在等式(2)的两边取负对数,并最小化其对应的能量函数:

E(Y,X)=􏰁D(Yij)+􏰁αV(Yij,Yik,Yjk),(5)i <j i <j <k

其中D(Yij)= − logψu(Yij)是一元势能。

该模型的图结构如图7所示。每个输出节点Yij处于N -1类:一个具有输入对Xi和Xj的关联类,以及由Yij,Yik和Yjk组成的N -2交互类。

D.信仰传播推断

通过定义因子图和电势,我们可以基于最小和算法导出消息公式,当使用能量函数时,该公式等效于最大乘积算法[60]。我们将消息aij(Yij)定义为变量Yij的函数,表示到目前为止变量Yij每种状态下的累积能量。我们算法的主要过程如下:

1.将所有消息初始化为:

这是一元潜在因子发出的消息。

2.在迭代t = 1、2,... T时,将消息更新为:

在给定状态为Yij的情况下,我们总结了来自不同因素的消息。在总和内,我们将Yik和Ykj的不同状态最小化。

3.变量的最终状态取决于:

在这里,Nt-1(i,j)表示在(t-1)迭代中与i或j相邻的点的集合,其中与之相邻,意味着它的正能量比负能量低。迭代,即at-1(Yij = 1)> at-1(Yij = 0)。正如第II-D节中提到的ij ij,信念传播是使后验概率最大化的一种近似方法。不能保证找到全局最优值。因此,如果在第三步之后仍然存在不一致的三元组,则应用传递合并6以确保聚类结果Y有效。关于此过程,有几个问题值得讨论:

首先,这不是以两种方式针对CRF的标准Loopy Belief传播算法:(1)一元消息仅发送一次,(2)消息是各向同性的,即从节点Yij发送的消息是以下各项的总和:它收到的所有消息。我们发现,这些修改使算法更易于实现,使用更少的内存,收敛速度更快,而对结果的质量影响很小。

其次,可以通过从两种状态中减去相同的值来规范化消息。从理论上讲,它对结果没有影响,但可以避免数值下溢并提供稳定性。

第三,在等式(7)中接收的消息仅包括在上一次迭代中与i和j中的至少一个相邻的那些邻居k,因为来自其他邻居的消息在两种状态下将具有相同的值。因此,如果我们忽略那些k∈/ Nt-1(i,j),则没有任何区别。由于相同的原因,我们只需要更新Nt-1(i,j)不为空的Yij。

第四,由于我们假设α是一个非常大的数,当在等式(7)中取最小值时,可以忽略所有V(Yij,Yik,Yjk)= 1的情况。例如,对于Yij = 1,我们不需要考虑Yik = 0,Yjk = 1或Yik = 1且Yjk = 0的情况。在所有其他情况下,因为V(Yij,Yik,Yjk)= 0 ,α从公式中消失。

鉴于上述优化,再加上邻接表和更新列表的使用,算法的复杂度为O(TNM2),其中N是数据点数,T是迭代数,M是最大度数7任何迭代中任何数据点的数量。但应注意,由于此处M不是固定数字,在最坏的情况下,复杂度仍可能变为O(TN3)。此外,我们只选择更新至少一个不一致的三元组中的对,因此经过多次迭代后,更新列表通常要短得多。在LFW数据集上,仅更新了总数的0.59%8,并且在第四次迭代之后,更新列表中的对不超过1,000个。

我们在scikit-learn库9的一组玩具示例中测试了提出的聚类算法。结果如图8所示。由于我们使用径向基函数(RBF)核作为玩具示例的相似性度量,因此数据点主要根据它们之间的欧式距离进行分组。尽管在我们的算法中未指定聚类的数量,但是可以在信念传播过程中恢复主要组。离群值通常被分配为单独的小簇。

图9显示了在LFW数据集中的13幅233张图像的聚类过程中,不一致的三元组的数量如何随着迭代而减少。该模型很快收敛到只有少量不一致的三胞胎的阶段。由于剩余不一致的三元组的数量通常很小,因此我们没有明确地将收敛强制为0,而是对当前邻接矩阵应用传递合并,以实现最终的有效聚类。在LFW上,在我们应用传递合并之后,只有6对更改其状态。

E.半监督聚类

在半监督或约束聚类中,我们利用给定的辅助信息,通常以“必须链接”对和“不能链接”对的形式。这些对可以由用户指定,也可以使用其他算法自动生成以提高群集性能。必须链接指定属于同一身份的面部图像对,而不能链接指定属于不同身份的面部图像对。利用这些对的一种方法是传播约束。因为我们的框架通过传播消息进行了优化,所以合并这些约束变得非常简单:我们根据提供的辅助信息来更改受约束对的一元电势。如果我们对给定的约束非常有信心(例如在我们的实验中使用地面真相标签作为辅助信息的情况),则可以将正一元势设置为必须链接约束为1,不能链接约束约束为0,一元能量非常大。公式(7)指出,传递消息时可以避免很高的能量,因此仍可以在这些约束条件下优化模型。

F.使用k-NN图的聚类算法的有效变体

所提出的聚类算法的复杂性取决于优化过程中数据点的程度。但是,由于此数字不是固定的,因此在最坏的情况下,其复杂度仍可能接近O(TN3),其中T和N分别是迭代次数和数据点数。因此,我们提出了具有固定线性复杂度的算法变体。这个想法与[2]中的想法类似,后者利用了近似k最近邻(k-NN)方法。我们没有估计数据集中每个对的邻接,而是优化了所有Yij的联合后验概率,其中(i,j)是k-NN图中的一条边。这些Yij组成完整邻接矩阵Y中的元素子集。进行一些修改后,仍然可以使用第IV-D节中概述的相同过程进行优化:(1)邻居列表N(i)现在是由近似k-NN方法给出的固定列表,(2)我们仅更新Yij其中i∈N(j)或j∈N(i),并且(3)我们只需要在初始化步骤中计算将在下一次迭代中使用的对的一元电势,即它们是邻居或它们具有至少一个共享邻居。在给定预先计算的k-NN图的情况下,此变体的时间复杂度也为IV(D-D)中的O(TNM2),M现在为固定数。特别是,我们使用与[2]中相同的配置使用相同的近似k-NN方法k-d树来构建k-NN图。建立k-NN图的复杂度为O(N log N),且搜索大小固定。如果我们根据数据集的大小线性增加搜索大小,如[2]所示,则会导致O(N2)复杂性。我们在实验中使用2的固定搜索大小。

实验结果

A.人脸代表表现

我们在BLUFR协议上使用ResNet评估表示的性能[11]。由于标准LFW验证协议上的最新人脸表示的性能已经饱和,Liao等人。 [11]利用整个LFW数据集来设计BLUFR协议。在该协议中,为面部验证和开放式面部识别定义了10倍交叉验证测试。对于人脸验证,将报告每个分割的验证率(VR),并具有误报率:FAR = 0.1%。对于开放式识别,计算对应于FAR = 1%的等级1的检测和识别率(DIR)。

表I总结了我们在BLUFR协议的验证实验中的面部表情表现[11]。我们在组合的VGG和CASIA-Webface数据集上(使用我们的干净版本的VGG)训练了50层和101层完全预激活的ResNet。从CASIA-Webface随机选择的1000个图像的子集作为验证集。经过37个历时的训练后,该50层网络在0.1%FAR的情况下达到了91.04%的验证率,此时验证集上的分类准确性得以稳定。将网络深度增加到101层不会提高性能。使用10裁剪策略会导致性能略有改善(在0.1%FAR时约1%VR),但要花大量的时间提取特征。

表I中关于BLUFR的最佳结果是:验证时在92.22%VR(0.1%FAR下)和62.05%DIR(在1%FAR上进行识别)。这可与该协议上一些新报告的结果相媲美。例如,Cheng等。 [61]将GoogLeNet风格的Inception架构与传统的联合贝叶斯结合使用,并以0.1%的FAR达到了92.19%的VR。他们使用估计联合贝叶斯参数的方法将结果进一步提高到93.05%。吕等人。 [62]提出了一种数据增强方法(在图像对齐之前先对检测到的面部界标位置进行扰动),再次使用一种Inception架构,并且通过使用3种模型的融合,在开放集识别中以1%FAR获得了63.73%的DIR(最佳单模性能为57.90%)。这些结果表明,通过采用度量学习方法或融合多个模型,我们的结果可能会得到进一步改善。

B.人脸聚类

我们使用50层ResNet架构和10幅策略(表I)作为聚类实验的代表。我们在两个方面评估我们的聚类算法

图10:用于将余弦相似度映射到真正一元概率ψu(Yij = 1)的变换函数。阈值τ用于将函数分为两部分。余弦相似度为非负值,因为特征是从ResNet中最后一个隐藏层的ReLU层提取的。

无约束的人脸数据集(LFW和IJB-B)。在应用消息传递过程之前,我们使用图10所示的转换函数获得IV-C中描述的一元电势。阈值τ是整个实验中的唯一参数。不同的τ值控制着结果分区的查全率和精确率之间的平衡,这在V-B1中定义。但是值得强调的是,变换函数本身(图10)不是聚类算法的必要部分,并且可以选择其他方式来初始化一元势。我们使用此转换函数是因为它易于计算并根据经验可以很好地工作。除非另有说明,否则默认阈值τ= 0.7。

我们将我们的算法称为条件成对聚类(ConPaC),该算法以C ++实现,并在使用2.24 GHz内核,时钟频率为2.90GHz的Intel Xeon CPU上进行了评估。将ConPac算法与以下基准进行比较:(1)k均值,(2)谱聚类[59],(3)稀疏子空间聚类(SSC)[30](4)亲和传播[63],(5)聚集聚类,(6)等级聚类[31],和(7)排序聚类[2]。我们使用k-means算法的MATLAB R2016a实现,以及Spectral Clustering10的第三方MATLAB实现。我们使用作者SSC 11的实现。对于亲和力传播和聚集聚类,我们使用scikit-learn实现[64]。由于测试的所有实现都针对矩阵分解等核心步骤使用了内置功能,因此编程语言的差异不应过度影响运行时,因此我们认为比较这些实现的执行时间是合理的。

除“近似值”外,所有算法均使用相同的表示形式。排名顺序,我们遵循[2],因为它产生更好的聚类结果。我们将欧式距离用于k均值,将RBF核用于亲和力传播,并将余弦相似度用于谱聚类。

1)评估措施:使用两种措施来评估聚类结果,成对F措施和BCubed F措施。两者都计算F分数,这是Precision和Recall的谐波平均值。它们之间的区别在于用于精度和召回率的指标。

在成对F测度中,“精度”定义为正确聚类在一起的对在属于同一类别的对总数中所占的比例。召回率定义为正确聚集在一起的对在同一群集中对总数中所占的比例。换句话说,我们对数据集中的所有1 N(N − 1)2对使用标签。因此,我们可以定义正正对(T P),正误对(F P)和负负对(FN)。然后可以将Precision和Recall计算为:

BCubed F-measure [65]将Precision定义为点精度,即同一簇中有多少个点属于其类。同样,点召回率代表类中有多少点出现在其集群中。形式上,我们分别使用L(i)和C(i)表示点i的类和簇,并将两个点i和j之间的正确性定义为:

这两个条件的F量度或F分数由下式给出:

成对F度量是更常用的度量,而BCubed F度量是IJB-B数据集的正式评估度量。两者之间的区别在于,成对F度量相对更重视大型聚类,因为对的数量随聚类大小呈二次方增长,而在BCubed下,F度量聚类根据其大小线性加权。

2)对LFW数据集的评估:LFW是一个固定的数据集,只有1,680个类(个人)包含一个以上的面孔。由于我们不能假设我们的数据集会很好地平衡,因此我们对整个LFW数据集进行了实验。

在ConPaC的更新过程中动态选择簇数C,但它是k均值和谱聚类的输入参数。因此,我们首先使用地面真实性或群集的真实数目C,C = 5,749评估它们的性能。然后,我们用几个不同的值重复群集,并报告给出最佳性能的群集。

表二显示,在真实数据C下,k均值和频谱聚类的性能较差。这是因为这两种算法在不平衡数据上的表现不佳。调整参数C后,所提出的算法仍然比竞争算法表现更好。请注意,使用平均链接的聚集聚类比k均值和频谱聚类的性能好得多。这与我们在IV-B节中的观察结果一致,因为聚集聚类也没有假定平衡的数据集,而是着眼于成对相似性。我们还将结果与三重概率嵌入(TPE)[33]中的结果进行了比较,后者在不同的表示形式上使用了聚集聚类。对于运行时,由于LFW数据集中的聚类大小非常小,因此ConPaC的时间复杂度较低,并且只需不到一分钟即可完成。

ConPaC针对LFW的一些示例群集如图11所示,其中前两行显示了两个不纯群集,而其他两行显示了两个纯群集。这些聚类中的面部图像具有不同的照明条件,背景和姿势。面对这些挑战,该算法仍会根据真实身份将大多数图像成功分组。对于两个不纯净的群集,错误分组的图像与同一群集中的其他图像非常相似。

3)对IJB-B数据集的评估:表III中显示了IJB-B聚类协议中7个实验的结果。由于B-Cubed F-measure是IJB-B协议中采用的评估措施,因此我们仅针对每种算法报告结果均采用最佳B-Cubed F-measure。由于内存限制,某些聚类算法无法在较大的数据集上进行测试。在这种情况下,我们将结果报告为“-”。对于IJB-B-32,IJB-B-64和IJB-B-128,将τ分别设置为0.55、0.6和0.65,对于其他数据集,将τ设置为0.7。

随着身份数量的增加,竞争算法和所提出算法的F分数均下降。尽管所提出的算法在前几个实验中在F分数方面显示出显着优势,但随着簇数的增加,增益逐渐减小。如第V-B6节所述,随着簇数的增加,性能的下降主要是由于表示的脆弱性。

值得注意的另一件事是,所提出的算法发现的簇数比真实簇数大得多。这是因为我们的算法将大量点视为离群值,因此它们形成了单例群集。因此,我们还在括号中报告了“非单个”簇的数量,该簇至少包含两个点。非单个聚类的数量接近于真实的聚类数量。

IJB-B-32和IJB-B-1024上的一些示例聚类结果如图12所示。前两行分别显示了IJB-B-32数据集上的不纯聚类和纯聚类。其他两行显示了IJB-B-1024数据集上的不纯和纯属错误。不纯净簇中的许多人脸图像具有很大的姿势变化,因此排列不正确,从而降低了表示的显着性。

4)半监督聚类:正如我们在第IV-E节中提到的那样,成对约束可以自然地合并到ConPaC框架中,而无需对算法进行任何修改。因此,在本节中,我们假设已经给定了一组成对约束,并评估了边信息是否可以改善聚类性能。我们考虑两种约束:

•随机约束:必须从真实的正负对中随机选择必须链接和不能链接。

•关键约束:对每对面孔之间的相似性进行排序。通过选择具有最低相似性的正对(来自同一身份的对)来选择必须链接,而通过选择具有最高相似性的负对(来自不同身份的面孔)来选择不能链接。

在实际情况下很难获得关键约束,因为在可能会误导的线对约束下,它们仅用于测试改进的上限。在这两种情况下,我们都使用基本事实身份标签的知识来采样相等数量的必须链接约束和不能链接约束。然后,我们以越来越多的约束条件测试算法的性能。对于随机约束,我们进行了10次试验并报告了平均效果。结果以成对F-分数报告。

我们在LFW和IJB-B-1024数据集的半监督场景中测试了我们的算法。半监督聚类的结果如图13所示。在LFW上,两个随机

约束和关键约束,约束总是可以提高性能,并且约束数量越多,F得分的提高就越大。这是因为我们的算法试图找到与一元电势最一致的聚类结果,并且当提供更多约束时,一元电势可以得到更多的信任。另外,实验中指定约束的数量实际上很小。例如,10,000个约束仅占LFW中所有可能对的总数的0.011%。但是由于消息传播,每个成对约束都会影响所有相关对。因此,即使是少量随机选择的约束也可以显着提高性能。对于10,000个随机约束,最后满足98.33%的必需链接和99.99%的不链接。对于关键约束,满足98.42%的必须链接和99.94%的不能链接。

在IJB-B-1024数据集上,因为它是一个较大的数据集,所以10、000个约束仅占总对数的0.0015%。随机约束极大地提高了性能,但是关键约束没有任何好处。此外,对于随机约束,满足99.93%的必需链接和75.17%不能链接,但是对于10,000个关键约束,仅满足3.02%的必需链接和21.60%不能链接。检查问题,我们发现为IJB-B-1024上的关键约束选择的必需链接通常具有截然不同的面部外观,而不能链接中的图像大多质量很差,如图14所示。因此,该算法可能无法满足这些约束,因为它们与数据集的其余部分完全不兼容。

5)大型数据集的k-NN变体:在本节中,我们测试了建议聚类的k-NN变体的运行时间和性能。我们使用与[2]中使用的相同的k-d树库[66]来生成近似的k-NN图。我们还对k = 200的kd树使用了相同的配置,并构建了2个搜索大小为2 000的树。我们首先使用近似k-NN图和全图(原始算法)比较算法的性能。 LFW和IJB-B-1024。聚类结果示于表IV。提出的k-NN变体在两个数据集上均表现良好。对于LFW,成对F度量几乎与原始算法一样好。对于IJB-B-1024,与原始分布相比,k-NN图中相似性分布的变化很大,尤其是对于冒名顶替者,如图15所示。这是因为预期kd树只会选择类似的对用于构建k-NN图,并且IJB-B-1024数据集中的许多冒名顶替者对是相似的。

使用旧的阈值τ= 0.7将使大多数对变为正,因此在IJB-B-1024上工作时,对于k-NN变量,我们将阈值调整为τ= 0.75。尽管在LFW数据集上观察到了类似的偏移,但是它较小,我们发现不需要调整阈值。调整阈值后,k-NN变量的F度量也接近IJB-B-1024上的原始度量。然后使用相同的阈值τ,在LFW或IJB-B以及100万个未标记的面部图像上测试k-NN变体的性能。一百万个人脸图像是[2]中使用的同一私有数据集的子集。由于我们没有一百万个数据集的标签,因此我们将成对F度量仅应用于我们有标签的子集(来自LFW或IJB-B),而忽略那些我们没有标签的子集,即1百万个干扰项图像。有了如此众多的干扰因素,两个数据集的F度量几乎不变。请注意,对于IJB-B-1024,使用分散器时的性能令人惊讶地更好。一个合理的解释是,一百万个牵张器中有一些高质量的图像,它们的身份与IJB-B中的身份相同,这有助于揭示IJB-1024中人脸图像之间的联系,而其他牵张器图像对集群性能的影响较小。

6)初始相似度矩阵的影响:我们算法的动机和区别特征在于它仅取决于给定的成对相似度。在本小节中,我们要研究聚类性能如何受到相似性的影响,以及聚类性能如何受到参数τ的选择的影响。

我们首先将相似性可靠性定义为邻接矩阵Z上的成对F度量,其中Zij∈{0,1}是通过将Xi和Xj之间的余弦相似性阈值τ来确定的。与Y不同,Z表示的图可能不是传递的,因此它不一定对应于聚类结果。

然后,我们确定Y和Z的F度量如何随阈值τ的不同值而变化。结果如图16所示,相应的精度调用曲线如图17所示。我们可以看到,聚簇性能在不同参数值的情况下平滑变化。此外,聚类结果Y的F度量与Z的F度量高度相关。换句话说,当相似矩阵可靠时,聚类会做得更好,反之亦然。

为了进一步了解聚类性能和成对相似性之间的关系,我们在IJB-B数据集中的所有7个实验中比较了Y和Z的F度量。我们发现,在所有这些实验中,两个F度量几乎呈线性相关,相关系数为0.9998。因此,我们可以说,我们已经获得了充分利用输入成对相似性的动机,并且与LFW相比,IJB-B上的聚类性能下降是由于输入成对相似性的可靠性下降所致。转向取决于面部表示(特征向量)的显着性。

VI。结论

在本文中,我们首先在CASIA-Webface和VGG-Face数据集上训练了ResNet深度网络体系结构。拟议网络的代表在BLUFR人脸验证基准上表现出良好的性能。使用这种表示,我们提出了一种新的聚类算法,称为条件成对聚类(ConPaC),该算法直接从给定的相似性矩阵中学习邻接矩阵。使用条件随机场(CRF)将聚类问题建模为结构化预测问题,并通过Loopy Belief Propagation进行推断。所提出的算法在LFW和IJB-B无约束数据集上优于几种众所周知的聚类算法,它自然也可以合并成对约束以进一步改善聚类结果。我们还提出了ConPaC的k-NN变体,该变体能够对数百万个面部图像进行聚类。我们未来的工作将包括寻找更好的一元潜力,以实现更强大的人脸聚类,还将成对约束纳入k-NN变体。

###########################################

本文发表于17年的TiFS,比较早的用深度学习来提取人脸特征,然后做聚类的文章了。文中用的resnet50提取的人脸特征(o后面被arcface等慢慢取代),特征提取之后,作者将两个点之n间是否能连接看作一个矩阵Y,那么算法的目的就是学习这个Y。作者采用CRF和洛比信念传播来学习,就是比较传统的机器学习方法。用CASIA和VGG-Face训练,用LFW和IJB-B进行聚类测试,作者在文中比较系统的介绍了pairwise和B-Cufbned评估方法。

相关文章

  • 人脸聚类:表示和成对约束

    摘要—根据潜在的身份来聚类人脸图像有两个重要的应用:(i)在没有外部标签与图像相关联时对人脸图像的集合进行分组;以...

  • UAC: An Uncertainty-Aware Face C

    我们研究了利用人脸图像中的不确定性来提高人脸聚类质量的方法。我们观察到,在对隐含建模不确定性的概率面部表示进行聚类...

  • MTCNN

      人脸任务总体上分为:人脸检测、人脸关键点检测、人脸判别、人脸识别、人脸聚类等。  作者认为人脸检测和人脸关键点...

  • 2021-01-21

    摘要 人脸聚类最近吸引了越来越多的研究兴趣,以利用网络上的大量人脸图像。图卷积网络(GCN)由于其强大的表示能力而...

  • VEGCN

    人脸聚类是利用未标记人脸数据的必不可少的工具,它具有广泛的应用程序,包括人脸注释和检索。最近的工作表明,有监督的聚...

  • OSD-GCN

    人脸聚类由于其在实践中的广泛应用而成为一项重要任务。基于图的人脸聚类方法最近取得了长足的进步,并取得了最新的技术成...

  • DBSCAN 聚类

    以下使用Out[数字]:的方式表示代码输出结果 DBSCAN 密度聚类算法 密度聚类是一类常用并且有效的聚类方法,...

  • Java--File I/O

    java.io.File类用于表示文件(目录)。用来将文件或者文件夹封装成对象。File类只用于表示文件(目录)的...

  • 聚类(密度聚类和层次聚类)

  • 基于模型的聚类和R语言中的高斯混合模型

    原文链接:http://tecdat.cn/?p=6105 介绍 聚类模型是一个概念,用于表示我们试图识别的聚类类...

网友评论

      本文标题:人脸聚类:表示和成对约束

      本文链接:https://www.haomeiwen.com/subject/tnkvwktx.html