基于近邻关系聚合的人脸聚类方法

2022-12-30 14:09文紫鑫李少英王斌成
计算机与现代化 2022年12期
关键词:人脸聚类样本

文紫鑫,李少英,王斌成,刘 博

(1.河北农业大学信息科学与技术学院,河北 保定 071001; 2.河北省农业大数据重点实验室,河北 保定 071001)

0 引 言

深度学习技术的发展极大地提升了人脸识别模型的性能,但面对复杂的真实场景,大规模的标注数据仍然是决定其性能上限的主要因素之一[1]。人脸聚类主要是对数据集中的人脸图像进行分组,通过计算人脸图像之间的相似性,将相似的人脸图像分为一组。借助于人脸聚类算法提供的高质量伪标注信息,从而在有效降低标注负担的同时提升识别模型的性能。

人脸图像由于受到姿态、遮挡、光照、年龄及表情等因素的影响,导致其特征分布复杂,传统的聚类算法,如K均值聚类算法[2]、DBSCAN[3]、谱聚类[4]等,依赖对数据简单分布的假设,或者具有较高的计算复杂度,使其很难适用于大规模的人脸聚类任务。

基于层次聚类的算法,如近似感知层次聚类[5](PAHC)、基于支持向量数据域描述(SVDD)设计的深度密度聚类[6](DDC)、基于Rank-Order距离的聚类[7]等,弱化了对人脸分布的先验假设,但仍然面临着可迁移性不足的问题。

基于连接预测[8]的聚类算法,如近似等级排序聚类算法(ARO)[9]、共识驱动传播算法(CDP)[10]、基于以图卷积网络为代表的聚类算法(L-GCN)[11]等,将聚类问题转化成连接预测问题,极大地缓解了上述传统聚类算法和层次聚类算法对数据分布和计算资源的限制,成为大规模人脸聚类的一种有效框架。其中,基于GCN的人脸聚类算法,仍然存在随着模型深度增加导致的特征表示过平滑问题[12-13],从而限制了其从近邻中提取高阶信息的能力。

本文提出一种基于近邻关系聚合的(Nearest Neighborhood Aggregation Clustering, NNAC)人脸聚类模型(整体结构如图1所示)。该模型由近邻聚合模块、基于残差结构的全连接特征提取模块(Residual Fully-Connected Feature Extraction Block, ResFCB)、连接预测模块3个部分组成。最后通过启发式地合并模型输出成对关系,从而推理出各个样点的簇间归属。

图1 基于近邻关系聚合的人脸聚类模型结构图

本文主要贡献分为以下2个方面:

1)提出一种融合局部近邻信息的人脸聚类框架,相比GCN同时建模图中的各个样本点间的多元关系,该框架有选择地建模样本点间成对的二元关系,从而在减少计算量的同时实现了更深的网络结构,避免了使用GCN学习聚类表示时的过平滑问题。

2)通过实验对比,该模型下的MS-Celeb-1M人脸数据集,相比基准方法,在提升聚类准确率的同时降低计算时间,取得了更加有利于人脸识别模型的结果。

1 相关工作

1.1 人脸聚类

传统的聚类算法依赖于对输入特征做出简单的假设,如K均值聚类算法[2]假设每个簇的分布是凸的;DBSCAN[3]要求不同簇的密度具有一致性;谱聚类[4]倾向于产生相对平衡的样本分组。然而,真实人脸图像不仅数据量大而且分布不平衡,特别是受到遮挡、表情、光照等条件的影响导致数据内在结构复杂,传统聚类方法往往无法直接应用到该类数据上。

随着深度学习的发展,基于层次聚类(Agglomerative Hierarchical Clustering, AHC)的算法[5-7]应用于人脸聚类任务,其弱化了传统聚类算法对数据分布假设的限制。Lin等人[5]提出了近似感知层次聚类(Proximity-Aware Hierarchical Clustering, PAHC)算法,是一种应用线性支持向量机对局部正样本和负样本进行分类的层次聚类方法,该方法可有效提升对噪声数据的鲁棒性。Lin等人[6]还提出了基于支持向量数据域描述(Support Vector Domain Description, SVDD)的深度密度聚类(Deep Density Clustering, DDC)算法,其通过度量特征空间中局部邻居的密度以提升聚类算法对不平衡数据的适应性。Zhu等人[7]提出了一种Rank-Order距离的聚类级亲和度度量方法来替代之前的距离,此方法能够有效抑制噪声对聚类的影响。虽然在无约束的人脸聚类中上述算法表现较好,但因其计算复杂度较高,限制了其在大规模聚类任务中的应用。

基于连接预测[8]的聚类算法为大规模人脸聚类提供了一种新思路。Otto等人[9]提出的近似等级排序聚类算法(Approximate Rank-Order Clustering, ARO),解决了人脸聚类中对数据规模的限制,其核心是计算一个节点与其K个最近邻的距离,并预测节点与K个最近邻是否连接。Zhan等人[10]提出的共识驱动传播算法(Consensus-Driven Propagation, CDP)通过委员会(committee)模块和调解员(mediator)判别模型选出图像的“候选对”,并输出每对图像具有相同身份的概率。近来,基于图卷积网络(GCN)的模型被大量应用于人脸聚类问题[11,14]。Wang等人[11]提出了一种利用图卷积网络判断图中节点对之间连通性的方法,取得了较好的聚类结果。王文博等人[14]提出了一种基于GCN的完全图人脸聚类算法,该算法有效地减少冗余数据,提升了聚类效果。然而,由于此类算法使用的多是浅层图卷积网络结构,其对高阶邻居的信息提取能力受到限制。但堆叠更多的层数时往往会由于过平滑问题降低GCN的性能。对于过平滑问题,Li等人[15]解释道GCN的每一层为一种特别的拉普拉斯平滑变换,目的是让节点与其近邻节点尽可能相似,每个节点的特征更新就是其近邻接点特征的加权均值,进行多次图卷积会导致图中的节点趋于相同的值,使得图中不同类别的节点无法区分。

所以本文提出一种基于近邻关系聚合的人脸聚类模型(NNAC),该方法可以通过堆叠多个改进的基于残差-全连接模块(ResFCB),提取多个尺度下的近邻信息,并且缓解GCN中过高的计算及开销问题。

1.2 多层感知机

近来,基于多层感知机(Multi-Layer Perception, MLP)的网络结构在各类任务中表现优异。Tolstikhin等人[16]提出了MLP-Mixer,它是一种基于多层感知机的简单网络结构,在图像分类工作中取得CNN、Transformer等模型相当的准确率。Ding等人[17]提出了一种高效的RepMLP网络,利用全连接层出色的全局表达能力、位置感知能力以及局部结构提取能力相结合,在ImageNet数据集取得78.17%的准确率,同时在人脸识别及语义分割等任务中准确率均有提升。Touvron等人[18]提出了ResMLP,它是一种完全基于多层感知机的图像分类网络结构,该模型借鉴了知识蒸馏技术[19],在ImageNet数据集取得的准确率,在机器翻译任务中也表现良好。

受到以上工作的启发,本文提出一种基于近邻关系聚合的人脸聚类模型,此模型的核心部分是基于残差结构的全连接特征提取模块(ResFCB),其通过级联多个该简单模块以提取人脸数据中不同尺度下的局部结构关系,缓解GCN由于过平滑问题无法加深网络的限制。

2 方法提出

2.1 问题定义

本文解决的任务为人脸聚类任务,现有的聚类任务大多预测点对之间的连通性,即认为具有相同标签的点对之间应该相连,不同标签的点对不应相连。因此本文提出一种基于近邻关系聚合的人脸聚类模型,通过预测每个样本和其邻居样本是否相连得到多个人脸簇,并对簇中样本标记相同伪标签以解决人脸聚类问题。

2.2 框架结构

本文提出的基于近邻关系聚合(NNAC)的人脸聚类模型整体框架如图1所示。整个网络以使用卷积神经网络(Convolutional Neural Network, CNN)提取的特征集合作为输入,分成3个部分。第一部分,对人脸特征集合X中每个样例计算其K近邻,目的是根据K近邻融合邻居信息的特征,用于送入后续的连接预测模块。第二部分,为一个改进的基于残差结构的全连接特征提取模块(ResFCB),用来提取近邻关系的深层表示。第三部分,对上一步预测的连接结果进行合并,并对合并后的簇通过伪标签传播策略输出最终的聚类指派。

2.3 近邻聚合

(1)

2.4 基于残差结构的全连接特征提取模块

(2)

(3)

(4)

其表示每个子特征矩阵中心样本和其k1个直接邻居属于相同标签(label)的概率。为了优化网络,在训练阶段,本文将计算得到的概率与真实结果送入交叉熵损失函数(Cross Entropy Loss)得到损失,再进行反向传播更新网络参数,交叉熵损失函数如公式(5):

(5)

其中,j∈{1,2,…,k1}表示k1个直接邻居的预测结果,p(j)∈[0,1]是网络预测第j个直接邻居和中心样本连接的概率,q(j)为真实情况是否连接,若为1则连接,0则不连接。通过最小化交叉熵损失函数训练网络,进而引导网络预测中心样本和其k1个直接邻居是否相连。

2.5 连接合并

连接合并部分主要根据网络获得的中间结果,进行合并并且标记伪标签,以达到聚类的目的。

3 实 验

3.1 评价指标

衡量人脸聚类算法的性能主要有3个评价指标,归一化互信息(Normalized Mutual Information, NMI)[22]和Bcubed F-score[23]、Pairwise F-score[24]。

3.1.1 归一化互信息

归一化互信息主要用来度量聚类结果与真实标签的相似程度,归一化互信息的计算方法如公式(6)所示:

(6)

其中,Ω是聚类样本的真实类标,C是聚类样本的预测类标,H(Ω)、H(C)是信息熵,I(Ω;C)=H(Ω)-H(Ω|C)是互信息,互信息的最小值为0,当聚类算法的结果与真实标签完全独立时,互信息为0;如果聚类算法的结果完全重现了真实类标,则互信息为1。

3.1.2 Bcubed F-score、Pairwise F-score

Bcubed F-score主要从样本角度进行衡量; Pairwise F-score主要从样本对角度进行衡量,更强调大规模聚类,因为样本对的数量随着聚类的大小呈二次方增长。上述2个聚类评价指标[25]计算方式均为精确率(precision)和召回率(recall)的谐波平均值,但2种指标的精确率和召回率定义不同。

在Bcubed F-score中,精确率的定义为同一簇中都是同一个人脸图像的比例,召回率的定义为同一人的所有图像都聚在一个簇中的比例。用L(i)表示人脸图像i所属类别,用C(i)表示人脸图像i所属簇,定义人脸图像i和人脸图像j间正确性如公式(7)所示:

(7)

精度率定义如公式(8)所示:

(8)

其中,|C(i)|表示数据集C(i)的大小。

召回率定义如公式(9)所示:

(9)

其中,|L(i)|表示数据集L(i)的大小。

在Pairwise F-score中,精确率的定义是在属于同一类的配对总数中,被正确聚类到一起的配对数的比例。召回率的定义是在属于同一簇的配对总数中,被正确聚类到一起的配对数的比例。因此,定义TP(True Positive)是代表数据预测为同一类且被分到同一个人脸簇、FP(False Positive)是代表数据预测为不同类且被分到不同人脸簇、FN(False Negative)是代表数据预测为同一类且被分到不同人脸簇。则成对精确率和成对召回率计算分别如公式(10)、公式(11)所示:

(10)

(11)

F-score定义如公式(12)所示:

(12)

3.2 数据集

本文的实验采用MS-Celeb-1M数据集[26]。

MS-Celeb-1M人脸识别数据集由1000万张人脸照片,10万个身份组成。由于从互联网上自动获取的原始身份标注信息噪声较大,因此本文使用Arc-Face[27]论文中提出的清洗后的数据集,清洗后的数据集包含86000个身份,共580万张人脸图像,将其均匀随机分成10个部分,每部分包含8600个身份,约58万张人脸图像。如表1所示,实验中选择子集序号为0的数据集对模型进行训练,其余部分用作测试。将清洗过后的数据通过ResNet50+Arcface进行特征提取,得到网络的输入特征,该模型在MS-Celeb-1M数据集和VGGFace2数据集上联合训练。

表1 MS-Celeb-1M子集划分

3.3 实验与结果分析

3.3.1 实验环境

实验环境是Ubuntu 18.04 64位操作系统,处理器为Intel i7-9800x@16x 4.4 GHz,显卡为24 GB显存的NVIDIA GeForce RTX 3090,显卡驱动版本为455.45.01,CUDA版本为11.1,采用深度学习框架Pytorch1.7.0。

3.3.2 实验设置

训练过程中Batchsize设置为32,epoch次数为4。采用随机梯度下降(Stochastic Gradient Descent,SGD)算法优化,动量(momentum)为0.9,权重衰减参数为1×10-4,采用学习率衰减策略,设置初始学习率(learning rate, lr)为0.01,每个epoch学习率衰减为原来的0.1倍。

3.3.3 方法比较与实验结果

本文提出的基于近邻关系聚合的人脸聚类算法与下述6种聚类算法进行对比,简要介绍如下:

1)K均值聚类算法[28](K-means):是一种常用的聚类算法,聚类效果依赖于初始类别中心K的选择,但需要预先设定聚类中心数量。

2)DBSCAN[3](Density-Based Spatial Clustering of Applications with Noise):基于密度的聚类算法,将高密度的区域划分为簇,并将低密度点看做噪声。

3)层次聚类算法[29](Agglomerative Hierarchical Clustering, AHC):是层次聚类算法中的一种,以自下而上的方式计算点对之间相似度,根据阈值进行聚类合并。

4)近似排序聚类[9](Approximate Rank-Order Clustering, ARO):用近似的最近邻搜索方式和可修正的距离度量进行聚类。

5)基于共识驱动传播的聚类算法[10](Consensus-Driven Propagation, CDP):基于图的连接预测算法,通过不同预测方式获取更具鲁棒性的成对关系。

6)基于图卷积网络的人脸聚类算法[11](Linkage Based Face Clustering via Graph Convolution Network, L-GCN):将每张人脸图像看作图结构中一个点,并通过图卷积网络(GCN)使每个点与邻居进行信息交互,充分学习局部信息,进行成对预测,最后根据输出的成对预测信息进行聚类。

实验结果如表2所示,结果表明:K-means的聚类性能受簇的数量C影响,需要在一定范围内找到使F-score最高的C值,算法泛化性不强,不适用于大规模聚类任务;DBSCAN假设不同簇之间的密度是相似的,但其无法有效处理不同簇间密度差异过大的问题,所以聚类效果不理想;AHC同样对参数较为敏感,在人脸聚类任务上效果较差;ARO的性能过于依赖邻居数量的选择,因此在MS-Celeb-1M数据集的效果较差;CDP利用未标记数据进行人脸识别,平衡Recall和Precision以得到较高的F-score,为了公平起见,本文将CDP与单个模型版本进行比较;L-GCN通过4层图卷积网络对邻接矩阵计算获取局部图中的节点信息进行聚类,聚类性能明显优于其他聚类算法。本文提出的基于近邻关系聚合的人脸聚类模型应用堆叠的ResFCB对人脸样本及其邻居特征进行学习,使提取出的人脸特征类内样本更相似,取得了优于L-GCN的聚类结果,从而验证了本文模型的有效性。

表2 MS-Celeb-1M数据集人脸聚类实验结果对比

从表3的时间对比上看NNAC模型训练时间小于L-GCN和部分传统聚类模型。L-GCN网络需要构建邻接矩阵和特征矩阵,而根据KNN构建邻接矩阵的时间复杂度为O(n2),需要消耗大量时间。本模型直接根据KNN对特征集合进行索引直接获取邻居特征,因此节省大量时间。

表3 时间对比

3.4 对比实验

3.4.1 敏感性分析及参数选择

输入特征矩阵的构建需要确定直接邻居、间接邻居的数量k1、k2。在训练阶段,对于直接邻居k1的选择,为了保证更多信息被反向传播且正样本与负样本尽可能平衡,因此本实验设置较大的邻居数量k1=200;对于间接邻居k2,本文设置k2=10,因为间接邻居一般与中心样本相似度比较小,属于相同标签的可能性较低,同样为了保证正负样本均衡,因此选择比较小的值;同时本文设置聚合的邻居个数K为10。本文模型在测试阶段选择k1=160、k2=6、K=10。为了研究k1和k2对实验性能的影响,本文进行2组实验,结果如图2、图3所示。

图2 k1、k2的值对Bcubed F-score的影响

图3 k1、k2的值对Pairwise F-score的影响

实验保持K=10不变,改变k1和k2,观察图2、图3发现,随着k1和k2的增大,Bcubed F-score和Pairwise F-score也会增加。k1越大,预测的候选连接越多,召回率越高;k2越大,涉及的间接邻居数量越多,输入特征的描述更精确,预测更加准确。然而当k1和k2达到某个较大值时,性能达到饱和,继续增加其结果基本不变,并且发现k2选择4~12之间,k1选择160~200之间整体结果变化并不大,因此表明本文对于关键参数具有良好的适应性。

3.4.2 聚合方式对比

表4 聚合方式

sum聚合能保存每个邻居样本的特征,但得到的特征值一般较大,使网络不容易学习,且特征较大易引发梯度爆炸问题;max聚合方式虽然解决了特征值较大的问题,但容易受到邻居中离群样本或特殊样本的影响,比如模糊图像、侧面图像等。这些特殊样本的特征与其他邻居特征差别比较大,使max聚合方式产生误差;mean聚合方式很好地解决了聚合后特征较大的问题,并且这种聚合方式受到特殊样本的影响也较小,通过分析与对比实验本文最后选择使用mean聚合方式。

3.4.3 ResFCB数量选择

本节对ResFCB中的模块数量进行对比实验,模块数量对2种聚类指标的影响如图4、图5所示。从图中可以看出随着模块数量的增加,2种指标的数值也在快速上升,值在Block=6时得到最大值,而Bcubed F-score值在Block=2、4、6时总体变化并不大。当Block块数大于6时,2种指标都产生明显下降,表明模型已经过拟合。虽然本文已在ResFCB中加入残差与层归一化,但由于MLP的拟合能力过强,无法完全解决过拟合问题,因此本文把ResFCB的数量设置为6。

图4 模块数量对Bcubed F-score的影响

图5 模块数量对Pairwise F-score的影响

3.4.4 MLP与ResFCB对比

本节对MLP与ResFCB进行对比实验,MLP由2层FC和一个Prelu激活函数构成。从表5中发现,MLP与ResFCB实验结果具有较大差距,表明ResFCB更适合人脸聚类任务。由于MLP模型在堆叠多层时会出现过拟合现象,降低模型性能。本文提出的ResFCB中,通过加入层归一化LN对特征进行归一化处理,使模型更容易收敛;加入残差[30]缓解深度神经网络中由于深度增加带来的过拟合问题,因此本文提出的ResFCB更适合人脸聚类任务。

表5 MLP与ResFCB对比

4 结束语

本文提出了一种基于近邻关系聚合(NNAC)的人脸聚类算法,通过堆叠基于残差结构的全连接特征提取模块(ResFCB)对人脸数据的局部结构进行学习,从而获得高判别性的人脸聚类特征表示。此方法缓解图卷积网络在特征学习时因网络加深导致的过平滑问题,且实验结果表明本网络能有效提高聚类性能。此外,本模型主要解决人脸聚类中的关系学习问题,与其他对比的方法类似,仍然包括了关系合并与推理的后处理模块,如何进一步简化后处理操作,提升该部分的学习性,从而构建更统一的人脸聚类学习框架成为后续研究的重点。

猜你喜欢
人脸聚类样本
有特点的人脸
一起学画人脸
用样本估计总体复习点拨
三国漫——人脸解锁
规划·样本
基于高斯混合聚类的阵列干涉SAR三维成像
随机微分方程的样本Lyapunov二次型估计
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法
雷达点元聚类算法性能的比较与分析