1.本公开涉及人脸图像分类方法、人脸图像分类装置和存储介质。
背景技术:
2.使用图卷积网络(graph convolutional network,gcn)来进行人脸图像分类是已知的。通常,使用诸如ms celeb 1m和megaface2之类的已知的人脸图像集对图卷积网络进行训练,然后使用训练好的图卷积网络来对未知的人脸图像集进行分类。这里,已知的人脸图像集指具有标签的人脸图像集,标签指示出该人脸图像集中的图像是否与同一人对应。相对地,未知的人脸图像集指不具有标签的人脸图像集。
技术实现要素:
3.本公开的一个目的是提供一种改进的人脸图像分类方法和装置。
4.本公开提出了人脸图像分类方法。人脸图像分类方法包括以下步骤:接收第一图像集,第一图像集与第一人对应但不具有对图像进行标记的标签;提取第一图像集中的每个图像的特征;基于所提取的特征,计算第一图像集中的每个图像对之间的相似度;基于所计算的相似度,构建图,在该图中,第一图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系;基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示第一人的人脸图像的概率,其中,图卷积网络是通过使用第一图像集和第二图像集两者而被训练的,第二图像集与第一图像集不同并且第二图像集具有将图像标记为是否表示第二人的人脸图像的标签;以及基于所确定的概率值,将节点分类为表示第一人的人脸图像的信号节点和不表示第一人的人脸图像的噪音节点。
5.从参照附图的以下描述中,本公开其他特点特征和优点将变得清楚。
附图说明
6.并入说明书中并构成说明书的一部分的附图图示了本公开的实施例,并且与说明书一起用于解释本公开的原理而没有限制。在各图中,类似的标号用于表示类似的项目。不一定按比例绘制的各图描述了所选择的说明性实施例,并且不旨在限制本公开的范围。
7.图1是根据本公开第一实施例的示例性人脸图像分类装置的框图。
8.图2是图示根据本公开第一实施例的示例性人脸图像分类方法的流程图。
9.图3示出根据本公开第一实施例的图卷积网络的架构图。
10.图4示出根据本公开第一实施例的图卷积网络的从隐藏层l到隐藏层(l+1)的前向传播的示意图。
11.图5是根据本公开第一实施例的示例性图卷积网络训练部件的框图。
12.图6是图示根据本公开第一实施例的示例性图卷积网络训练处理的流程图。
13.图7是图示根据本公开第一实施例的示例性伪标签生成处理的流程图。
14.图8示出根据本公开第一实施例的元训练阶段的图卷积网络的反向传播的示意图。
15.图9示出根据本公开第二实施例的使用自适应阈值进行节点分类的前向传播架构的示意图。
16.图10是根据本公开第二实施例的示例性人脸图像分类装置的框图。
17.图11是图示根据本公开第二实施例的示例性人脸图像分类方法的流程图。
18.图12示出根据本公开第二实施例的阈值适配器网络的架构图。
19.图13是图示根据本公开第二实施例的人脸图像分类效果的示意图。
20.图14是图示根据本公开第二实施例的人脸图像分类架构概览的示意图。
21.图15是根据本公开第三实施例的示例性人脸图像分类装置的框图。
22.图16是图示根据本公开第三实施例的示例性人脸图像分类方法的流程图。
23.图17示出根据本公开的一些实施例的其中可应用本公开的一般硬件环境。
具体实施方式
24.在以下详细描述中,阐述了许多具体细节以提供对所描述的示例性实施例的透彻理解。但是,对于本领域技术人员清楚的是,所描述的实施例可以在没有这些具体细节中的一些或全部的情况下进行实践。在所描述的示例性实施例中,为了避免不必要地模糊本公开的概念,没有详细描述众所周知的结构或处理步骤。
25.下文所示的每个框图内的方框可以通过硬件、软件、固件或其任意组合来实现以实现本公开的原理。本领域技术人员应该理解的是,每个框图中描述的方框可以被组合或分成子框来实现本公开的原理。
26.本公开中呈现的方法的步骤旨在是说明性的。在一些实施例中,该方法可以用未描述的一个或多个附加步骤来完成和/或在没有所讨论的一个或多个步骤的情况下完成。此外,方法的步骤被图示和描述的顺序并不旨在是限制性的。
27.第一实施例
28.在本公开中,将已经分类好的人脸图像集称作源(source)图像集,将要分类的人脸图像集称作目标(target)图像集。当源图像集与目标图像集在特征空间中具有不同的特征分布时,使用源图像集训练的图卷积网络可能不能很好地分类目标图像集。
29.根据本公开的人脸图像分类方法和装置通过应用元学习(meta learning)技术解决了上述问题。如已知的,元学习是使模型对学习能力进行学习的有效方法,并且被广泛地用于跨域的知识迁移。以下将详细描述如何将元学习技术用于对人脸图像进行分类。
30.应理解,通过实现对目标图像集的准确分类,能够标记出目标图像集中的噪音图像,从而实现数据清洗。
31.以下参照图1至图8描述本公开的第一实施例。
32.图1是根据本公开第一实施例的示例性人脸图像分类装置100的框图。
33.如图1所示,装置100可以包括:图像集接收部件110,被配置成接收目标图像集(对应于第一图像集),目标图像集与第一人对应但不具有对图像进行标记的标签;特征提取部件120,被配置成提取目标图像集中的每个图像的特征;相似度计算部件130,被配置成基于所提取的特征,计算目标图像集中的每个图像对之间的相似度;图构建部件140,被配置成
基于所计算的相似度,构建图,在该图中,目标图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系;概率值确定部件150,被配置成基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示第一人的人脸图像的概率;节点分类部件160,被配置成基于所确定的概率值,将节点分类为表示第一人的人脸图像的信号节点和不表示第一人的人脸图像的噪音节点;以及,图卷积网络训练部件170,被配置成通过使用目标图像集和源图像集(对应于第二图像集)两者来训练图卷积网络,源图像集与目标图像集不同并且源图像集具有将图像标记为是否表示第二人的人脸图像的标签。
34.下文将进一步详细描述如图1所示的各部件的操作。
35.图2是图示根据本公开第一实施例的示例性人脸图像分类方法200的流程图。
36.方法200从步骤s210开始,在步骤s210处,图像集接收部件110接收目标图像集。目标图像集可以包括第一人的人脸图像、其他人的人脸图像以及非人脸图像。
37.目标图像集可以由下式(1)表示:
[0038][0039]
其中n表示目标图像集中的图像数量,n是大于1的整数。
[0040]
在步骤s220处,特征提取部件120提取目标图像集中的每个图像的特征,并且将每张图像的特征向量进行l2正则化,从而得到目标图像集的图像特征的集合(也称作特征矩阵)。可以使用已知的人脸识别方法来提取人脸图像的特征。例如,可以通过使用卷积神经网络(cnn)来生成人脸图像的深度学习特征。通常,一张人脸图像的特征通过一个具有预定维度的向量来表示,比如通过一个512维的向量来表示。
[0041]
所提取的特征矩阵可以由下式(2)表示:
[0042][0043]
其中,e表示基于cnn的人脸识别模型,μ
*
表示训练好的人脸识别模型参数,d表示使用e作为特征提取器提取的特征的维数。这里,例如可以使用源图像集来训练人脸识别模型的模型参数。
[0044]
在步骤s230处,相似度计算部件130基于所提取的特征,计算目标图像集中的每个图像对之间的相似度。
[0045]
可以根据下式(3)计算目标图像集中的每个图像对的成对余弦相似度矩阵(pairwise cosine similarity matrix):
[0046][0047]
其中,目标图像集中第i张图像和第j张图像的余弦相似度为:
[0048]
应注意,可以采用其他已知的方法来计算图像对之间的相似度。
[0049]
在步骤s240处,图构建部件140基于所计算的相似度,构建图,在该图中,目标图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系。具体而言,构建图可以包括:将目标图像集中的每个图像表示为一个节点;对于每个节点,对该节点与每个其他节点之间的相似度进行排序;选出相似度排序前k位的其他节点,并且在该节点和这
些其他节点中的每个节点之间设立一条边。k是大于等于1的整数。
[0050]
在步骤s250处,概率值确定部件150将在步骤s220处提取的特征以及在步骤s240处构建的图输入到图卷积网络中,其中,在步骤s240处构建的图中的每个节点的值被设置为该节点所表示的图像的所提取特征,并且概率值确定部件150输出得自于图卷积网络的每个节点的概率值。每个节点的概率值指示出该节点表示第一人的人脸图像的概率。这里,图卷积网络是通过使用目标图像集和源图像集两者而被训练的。稍后将描述如何使用目标图像集和源图像集两者来训练图卷积网络。
[0051]
首先参照图3描述图卷积网络的架构。如图3所示,图卷积网络具有一个输入层、l个隐藏层(l是大于等于1的整数,比如l=4)、以及一个输出层。
[0052]
如前所述,输入层接收所提取的特征以及所构建的图。所构建的图中的各节点的值被设置为节点所表示的图像的所提取特征各隐藏层输出各节点的更新的特征这里l代表隐藏层编号,l取从1到l的整数值。输出层输出每个节点的概率值其中,
[0053]
这里,图卷积网络也可称作图卷积清洗器。可以通过下式(4)来表示该图卷积清洗器:
[0054]
p=σ(f(x,g
x
;θ))
ꢀꢀꢀ
(4)
[0055]
其中x表示输入的特征矩阵(比如目标图像集的特征矩阵x
t
),g
x
表示相应的所构建的图(比如针对目标图像集构建的图),θ表示图卷积清洗器的网络参数,f表示前向传播函数,σ表示激活函数,并且其中,
[0056]
接下来参照图4描述图卷积网络从隐藏层(l)到(l+1)的前向传播过程。该前向传播过程包括以下步骤(a)-(c)。
[0057]
(a)计算隐藏层(l)中节点i的邻居的聚合特征,这里i代表节点的编号,i取从1到n的值。该步骤(a)由图4中的“聚合”块表示。
[0058]
聚合函数如下式(5)所示:
[0059][0060]
其中,ni是节点i的邻居的集合(包括节点i自身),是节点i的一个邻居节点的特征,a
(l)
和b
(l)
是在隐藏层l的可学习的参数,σ为激活函数。激活函数可以是elu激活函数。节点i的聚合特征的维数为d维。也就是,节点i的聚合特征的维数可以与输入到图卷积网络中的一个特征向量的维数相同。这里,节点i的邻居可以包括以下项中的至少一个:通过边直接与节点i连接的节点;通过边以及一个或多个其他节点与节点i连接的节点。
[0061]
(b)对节点i的聚合特征进行变换。该步骤(b)由图4中的
“⊕”
符号表示。
[0062]
特征变换公式如下式(6)所示:
[0063]
[0064]
其中,是节点本身的特征,||是连接操作符,是权重。这里,对节点i的每个邻居节点的特征根据它与节点i的相似度进行了加权,权重为其中s
ij
是节点i与节点j之间的相似度,d
ii
是节点i的度(图中与节点i连接的边的数目),d
jj
为邻居节点j的度。将节点i的邻居的聚合特征和节点i的特征进行连接,从而形成节点i的变换后的特征。该变换后的特征维数为2d维。
[0065]
(c)计算隐藏层(l+1)中的节点i的特征该步骤(c)由图4中的“全连接层”、“批量归一化”和“激活函数”块表示。
[0066]
计算公式如下式(7)所示:
[0067][0068]
其中,w
(l)
是在隐藏层l的可学习的参数。令隐藏层(l)中节点i的变换后的特征经过一个全连接层、经历批量归一化并传入激活函数σ,得到隐藏层(l+1)中节点i的特征隐藏层(l+1)中节点i的特征是d维。激活函数可以是elu激活函数。
[0069]
从输入层到隐藏层1以及从隐藏层l到输出层的前向传播过程与从隐藏层(l)到(l+1)的前向传播过程相同,在此不再赘述。需要注意的是,在从隐藏层l到输出层的前向传播过程中,所采用的激活函数是如下式(8)所示的sigmoid函数。
[0070][0071]
通过使用sigmoid函数作为激活函数,能够确保输出层中的各节点的特征是在0到1之间的值,即概率值,该概率值指示出节点表示第一人的人脸图像的概率。如前所述,概率值确定部件150输出作为输出层的输出的、各节点的概率值。
[0072]
在步骤s260处,节点分类部件160基于在步骤s250处确定的概率值,将节点分类为信号节点和噪音节点。这里,噪音节点表示除第一人外的其他人的人脸图像或者非人脸图像。更具体而言,部件160通过将所确定的概率值与阈值进行比较,将节点分类为信号节点和噪音节点。例如,如果某个节点的概率值大于等于阈值,则部件160将该节点分类为信号节点,否则部件160将该节点分类为噪音节点。阈值例如可以是依照经验预设的值,比如0.5。应理解,对节点的分类结果即是对目标图像集中的图像的分类结果。进一步地,可以使用“1”来标记信号节点,并且使用“0”来标记噪音节点。这个分类步骤在图3和图4中被示出为“节点分类”块。
[0073]
元学习技术
[0074]
以下将描述如何使用目标图像集和源图像集两者来训练图卷积网络。应理解,该训练处理可以发生在如前所述的方法200开始之前,或者可以至少发生在如前所述的概率值确定步骤s250开始之前。也就是说,首先使用源图像集和目标图像集两者对图卷积网络进行训练,然后使用训练好的图卷积网络来对目标图像集进行分类。
[0075]
图5是根据本公开第一实施例的示例性图卷积网络训练部件170的框图。如图5所示,图卷积网络训练部件170可以包括:伪标签生成部件172,被配置成针对目标图像集而构
建的图中的每个节点生成伪标签,该伪标签将相应节点标记为信号节点或者噪音节点;中间网络参数确定部件174,被配置成使用源图像集、源图像集的标签以及具有初始网络参数的图卷积网络,确定图卷积网络的中间网络参数,使得针对源图像集的图卷积网络的损失最小,针对源图像集的图卷积网络的损失表示针对源图像集的图像分类结果与标签之间的差异;以及网络参数更新部件176,被配置成使用针对目标图像集而提取的特征、针对目标图像集而构建的图、伪标签以及具有中间网络参数的图卷积网络,更新图卷积网络的初始网络参数,使得包含针对目标图像集的图卷积网络的损失和针对源图像集的图卷积网络的损失的总损失最小,针对目标图像集的图卷积网络的损失表示针对目标图像集的图像分类结果与伪标签之间的差异。
[0076]
以下,将由部件172执行的处理称作“伪标签生成”处理,将由部件174执行的处理称作“元训练”处理,并且将由部件176执行的处理称作“元测试”处理。
[0077]
下文将进一步详细描述如图5所示的各部件的操作。
[0078]
图6是图示根据本公开第一实施例的示例性图卷积网络训练处理600的流程图。
[0079]
(伪标签生成)
[0080]
处理600从步骤s610开始,在步骤s610处,伪标签生成部件172为针对目标图像集而构建的图中的每个节点生成伪标签。在步骤s610处,伪标签生成部件172可以针对目标图像集提取特征,针对目标图像集计算相似度,并且针对目标图像集构建图,如之前参照步骤s220-s240所描述的那样。可替代地,伪标签生成部件172可以接收在步骤s220-s240中生成的这些信息。伪标签生成部件172可以输出为针对目标图像集而构建的图中的每个节点生成的伪标签。
[0081]
图7是图示根据本公开第一实施例的示例性伪标签生成处理700的流程图。如图7所示,生成伪标签的步骤s610进一步包括以下步骤:基于针对目标图像集而计算的相似度、将针对目标图像集而构建的图划分成彼此不连接的多个子图的步骤s710,以及将节点数目最大的子图中的全部节点标记为信号节点、并且将其他节点标记为噪音节点的步骤s720。
[0082]
在步骤s710处,首先,伪标签生成部件172用如下式(9)表示的邻接矩阵a来表示针对目标图像集而构建的图:
[0083]
a=(a
ij
)
[0084][0085]
其中,s(i,j)表示目标图像集中第i张图像和第j张图像的余弦相似度,λ为控制是否用一条边连接图中的两个节点的超参数。λ可以是具有预设值的常数。
[0086]
其次,伪标签生成部件172将针对目标图像集而构建的图划分成多个子图{g1,g2,
…
,gk},这多个子图满足下式(10):
[0087][0088]
式(10)的含义是:对于分别来自两个子图的节点i和节点j,对应邻接矩阵的值为0(或者说二者的余弦相似度≤λ)。也就是说,这多个子图彼此不连接。
[0089]
在步骤s720处,伪标签生成部件172将节点数目最大的子图中的全部节点标记为信号节点,并且将针对目标图像集而构建的图中的其他节点标记为噪音节点。可以用下式(11)表示由部件172生成的伪标签:
[0090][0091]
其中,用下式(12)来定义
[0092][0093]
其中||g||为针对目标图像集而构建的图的节点数目。这里,“1”表示信号节点,而“0”表示噪音节点。
[0094]
应理解,生成伪标签的方法不限于参照图7所描述的方法,而是,可以采用其他已知的方法来为针对目标图像集而构建的图的节点生成伪标签。
[0095]
(元训练)
[0096]
接下来,处理600前进到步骤s620,在步骤s620处,中间网络参数确定部件174使用源图像集、源图像集的标签(也称作真值)以及具有初始网络参数的图卷积网络,确定图卷积网络的中间网络参数,使得针对源图像集的图卷积网络的损失最小。在以下描述中,用θ来表示图卷积网络的初始网络参数,用θ
′
来表示图卷积网络的中间网络参数。
[0097]
在步骤s620处,中间网络参数确定部件174针对源图像集提取特征,针对源图像集计算相似度,针对源图像集构建图,并且使用具有初始网络参数θ的图卷积网络来确定针对源图像集而构建的图中的每个节点的概率值。提取特征、计算相似度、构建图以及确定概率值的方式与之前参照步骤s220-s250所描述的类似,区别仅在于:用源图像集替换目标图像集,并且使用具有初始网络参数θ的图卷积网络。假设源图像集包含m个图像,那么所确定的概率值可以表示为其中,m是大于1的整数,m可以等于或者不等于n。
[0098]
接下来,参照图8,描述元训练阶段的图卷积网络的反向传播过程。
[0099]
在反向传播过程中,对于每个节点,利用二元交叉熵损失(binary cross entropy loss)函数来表示损失。对于包含m个节点的源图像集,损失如下式(13)所示:
[0100][0101]
其中,是第i个节点的所确定的概率值,是第i个节点的标签(也称作真值)。损失l
train
被用来训练图卷积网络,以使得该损失l
train
的值最小。
[0102]
在反向传播过程中,利用随机梯度下降法(stochastic gradient descent,sgd)来确定中间网络参数θ
′
。
[0103]
具体而言,在一次训练迭代中,对于批大小(batch size)为b的一批图,b取大于1
的整数,根据下式(14)来确定中间网络参数θ
′
:
[0104][0105]
其中,α代表元训练的学习率。α可以是具有预设值的常数。这里,对于元训练而言,批大小为b的一批图可以包含b个源图像集的图,每个源图像集与单个人对应。
[0106]
(元测试)
[0107]
接下来,处理600前进到步骤s630,在步骤s630处,网络参数更新部件176使用针对目标图像集而提取的特征、针对目标图像集而构建的图、伪标签以及具有中间网络参数的图卷积网络,更新图卷积网络的初始网络参数,使得包含针对目标图像集的图卷积网络的损失和针对源图像集的图卷积网络的损失的总损失最小。
[0108]
在步骤s630处,网络参数更新部件176针对目标图像集提取特征,针对目标图像集计算相似度,针对目标图像集构建图,并且使用具有中间网络参数θ
′
的图卷积网络来确定针对目标图像集而构建的图中的每个节点的概率值。提取特征、计算相似度、构建图以及确定概率值的方式与之前参照步骤s220-s250所描述的类似,区别仅在于使用具有中间网络参数θ
′
的图卷积网络。所确定的概率值可以表示为其中,
[0109]
接下来,返回参照图3,描述元测试阶段的图卷积网络的反向传播过程。
[0110]
在反向传播过程中,对于每个节点,利用二元交叉熵损失函数来表示损失。对于包含n个节点的目标图像集,损失如下式(15)所示:
[0111][0112]
其中,是第i个节点的所确定的概率值,是第i个节点的伪标签(即在步骤s610中生成的伪标签)。
[0113]
结合如式子(13)所示的元训练阶段的损失函数和如式子(15)所示的元测试阶段的损失函数,用于对图卷积网络进行训练的总损失函数可以由下式(16)表示:
[0114]
l
meta
=γl
train
(θ)+(1-γ)l
test
(θ
′
)
ꢀꢀꢀ
(16)
[0115]
其中,γ用于平衡元训练和元测试的作用,γ可以是具有预设值的常数。损失l
meta
被用来训练图卷积网络,以使得该损失l
meta
的值最小。
[0116]
在反向传播过程中,利用随机梯度下降法(sgd)来更新网络参数θ。
[0117]
具体而言,在一次训练迭代中,对于批大小(batch size)为b的一批图,根据下式(17)来更新初始网络参数θ:
[0118][0119]
这里,对于元测试而言,批大小为b的一批图可以包含b个目标图像集的图,每个目标图像集与单个人对应。将式子(16)带入到式子(17)中并进行展开,可以得到下式(18):
[0120][0121]
应理解,通过多次的训练迭代,能够得到训练好的图卷积网络。训练好的图卷积网络然后能够在如前所述的步骤s250中被用于确定针对目标图像集而构建的图中的节点的概率值。
[0122]
在第一实施例中,通过将元学习技术用于对人脸图像进行分类,实现了在源图像集的域和目标图像集的域之间的知识迁移。因此,能够很好地分类目标数据集。
[0123]
第二实施例
[0124]
以下参照图9至图14描述本公开的第二实施例。
[0125]
当如第一实施例所描述的那样将元学习技术用于对人脸图像进行分类时,如之前提到的依照经验预设的阈值可能在源图像集和目标图像集之间漂移,并且可能不能完全地描述目标图像集的分类边界。为了更好地分类目标图像集,在第二实施例中,将自适应阈值技术用于对人脸图像进行分类。
[0126]
自适应阈值技术
[0127]
图9示出根据本公开第二实施例的使用自适应阈值进行节点分类的前向传播架构的示意图。如图9所示,c表示图卷积网络,如之前参照图2描述的,图卷积网络接收针对目标图像集提取的特征以及针对目标图像集构建的图,并且图卷积网络输出针对目标图像集构建的图中的节点的概率值(也称作节点分数)。这里,图卷积网络是通过使用目标图像集和源图像集两者而被训练的。此外,如图9所示,t表示阈值适配器网络,该阈值适配器网络接收从图卷积网络输出的最后一个隐藏层中的各节点的值,并且输出依目标图像集而定的自适应阈值。例如,在图9中示出了示例性的自适应阈值0.7。可替代地,阈值适配器网络可以接收任意一个隐藏层中的各节点的值。
[0128]
图10是根据本公开第二实施例的示例性人脸图像分类装置1000的框图。装置1000与装置100的区别仅在于:相比于装置100,装置1000还包括自适应阈值确定部件1080。自适应阈值确定部件1080被配置成确定依目标图像集而定的自适应阈值。更具体而言,自适应阈值确定部件1080被配置成通过阈值适配器网络的以下操作来确定自适应阈值:计算在针对目标图像集而构建的图被输入到图卷积网络的情况下图卷积网络的最后一个隐藏层中的各节点的值的平均值,将计算出的平均值输入全连接层,以及将全连接层的输出输入到
激活函数从而得到自适应阈值。这里,激活函数可以是sigmoid函数。
[0129]
可以用下式(19)来表示阈值适配器网络t:
[0130][0131]
其中,f(x,g
x
;θ)表示在针对目标图像集而构建的图被输入到图卷积网络的情况下图卷积网络的最后一个隐藏层的输出,表示阈值适配器网络的网络参数,t表示自适应阈值。例如,可以表示前述全连接层的可学习的参数。自适应阈值可以是大于0且小于1的实数。
[0132]
图11是图示根据本公开第二实施例的示例性人脸图像分类方法1100的流程图。方法1100与方法200的区别仅在于:替代方法200的步骤s260,方法1100采用步骤s1160,在步骤s1160处,节点分类部件160通过将节点概率值与由阈值适配器网络确定的自适应阈值进行比较,将节点分类为信号节点和噪音节点。
[0133]
具体而言,可以用下式(20)来表示节点概率值:
[0134][0135]
那么,可以根据下式(21)将节点分类为信号节点和噪音节点:
[0136][0137]
其中,“1”表示信号节点,而“0”表示噪音节点。
[0138]
接下来参照图12来描述如何训练阈值适配器网络。应理解,该训练处理可以发生在如前所述的方法1100开始之前,或者可以至少发生在如前所述的分类步骤s1160开始之前。也就是说,首先使用目标图像集对阈值适配器网络进行训练,然后使用训练好的阈值适配器网络来对目标图像集进行分类。在一次训练迭代中,可以先训练图卷积网络,然后训练阈值适配器网络。在多次训练迭代中,可以交替地训练图卷积网络和阈值适配器网络。
[0139]
以下描述一次训练迭代的情形。在一次训练迭代中,首先使用如前所述的元学习技术对图卷积网络进行训练。然后,使用如下所述的自适应阈值技术对阈值适配器网络进行训练。
[0140]
首先,自适应阈值确定部件1080为针对目标图像集而构建的图中的每个节点生成伪标签,该伪标签将相应节点标记为信号节点或者噪音节点。生成伪标签的处理与之前参照步骤s610描述的处理相同,在此不再赘述。
[0141]
其次,自适应阈值确定部件1080确定阈值适配器网络的网络参数,以使得在使用所确定的自适应阈值t对节点进行分类的情况下,在针对目标图像集的图像分类结果与伪标签之间的与阈值相关的差异最小。此时使用在当前的训练迭代中的已经经过训练的图卷积网络来生成针对目标图像集的图像分类结果。此时,与阈值相关的图卷积网络的损失如下式(22)所示:
[0142][0143]
其中[.]
+
表示max(.,0),m
fn
和m
fp
是用于调节信号节点(也称作正样本)和噪声节点(也称作负样本)的分类的参数。m
fn
和m
fp
可以是具有依照经验预设的值的常数。这里,通过增大m
fp
,可以使自适应阈值升高,从而在目标图像集中存在外貌与第一人相似的人的人脸图像情况下,能够减少误判的正样本;类似地,通过增大m
fn
,可以使自适应阈值降低,从而在目标图像集中第一人的人脸图像与其他人的人脸图像之间的差异性大的情况下,能够减少误判的负样本。损失l
thr
被用来训练阈值适配器网络,以使得该损失l
thr
的值最小。
[0144]
应理解,通过多次的训练迭代,能够得到训练好的图卷积网络和训练好的阈值适配器网络。训练好的图卷积网络然后能够在如前所述的步骤s250中被用于确定针对目标图像集而构建的图中的节点的概率值。训练好的阈值适配器网络然后能够在如前所述的步骤s1160中被用于分类目标图像集。
[0145]
图13是图示根据本公开第二实施例的人脸图像分类效果的示意图。
[0146]
图13的部分(a)示出在不将元学习技术用于对人脸图像进行分类的情况下,通过使用用源图像集训练得到的图卷积网络,可能无法对目标图像集进行分类。图13的部分(b)示出在将元学习技术用于对人脸图像进行分类的情况下,通过使用用源图像集和目标图像集两者训练得到的图卷积网络,能够对目标图像集进行分类。
[0147]
进一步地,图13的部分(c)示出在针对目标图像集自适应地确定分类阈值的情况下,能够更好地对目标图像集进行分类。也就是说,通过将自适应阈值技术用于对人脸图像进行分类,解决了如前所述的阈值漂移的问题。在图13的部分(c)中,较小的灰度值代表较高的节点概率值,而较大的灰度值代表较低的节点概率值。
[0148]
图14是图示根据本公开第二实施例的人脸图像分类架构概览的示意图。图14的部分(a)示出如前所述的“伪标签生成”处理;图14的部分(b)示出如前所述的“元训练”和“元测试”处理,“元训练”和“元测试”处理可以统称为“元优化”处理;图14的部分(c)示出如前所述的“自适应阈值”技术。在图14的部分(b)中,c可以表示具有初始网络参数θ的图卷积网络,而c
′
可以表示具有中间网络参数θ
′
的图卷积网络。
[0149]
在第二实施例中,通过将元学习技术和自适应阈值技术两者用于对人脸图像进行分类,能够实现对人脸图像集的更准确的分类。
[0150]
第三实施例
[0151]
以下参照图15至图16描述本公开的第三实施例。
[0152]
在第三实施例中,通过将自适应阈值技术用于对人脸图像进行分类,能够实现对人脸图像集的更准确的分类。
[0153]
图15是根据本公开第三实施例的示例性人脸图像分类装置1500的框图。
[0154]
如图15所示,装置1500可以包括:图像集接收部件1510,被配置成接收图像集,该图像集与目标人对应但不具有对图像进行标记的标签;特征提取部件1520,被配置成提取
图像集中的每个图像的特征;相似度计算部件1530,被配置成基于所提取的特征,计算图像集中的每个图像对之间的相似度;图构建部件1540,被配置成基于所计算的相似度,构建图,在该图中,图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系;概率值确定部件1550,被配置成基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示目标人的人脸图像的概率;节点分类部件1560,被配置成通过将所确定的概率值与自适应阈值进行比较,将节点分类为表示目标人的人脸图像的信号节点和不表示目标人的人脸图像的噪音节点,其中自适应阈值是针对该图像集确定的。这里,图卷积网络可以是基于与当前图像集(对应于如前所述的目标图像集)不同的图像集(对应于如前所述的源图像集)而被训练的,或者,图卷积网络可以是基于当前图像集以及与当前图像集不同的图像集两者而被训练的。图卷积网络基于两个图像集被训练的情况对应于如前所述的第二实施例。以下介绍图卷积网络是基于与当前图像集不同的图像集而被训练的情况。
[0155]
图16是图示根据本公开第三实施例的示例性人脸图像分类方法1600的流程图。本实施例的方法1600的步骤s1610-s1660与第二实施例的方法1100的步骤s210-s250和s1160类似,区别仅在于:用本实施例中的图像集替换第二实施例中的目标图像集;并且,在步骤s1650中,图卷积网络是基于具有标签的另一个图像集(对应于如前所述的源图像集)而被训练的。步骤s1660中的确定自适应阈值的方法与第二实施例中参照步骤s1160中介绍的方法相同,在此不再赘述。
[0156]
也就是说,在第三实施例中,使用用源图像集训练的图卷积网络来对目标图像集进行分类,并且,通过将节点概率值与依目标图像集而定的自适应阈值进行比较来分类目标图像集。在第三实施例中,在目标图像集中目标人的人脸图像与其他图像之间的相似度高的情况下,可以得到较高的自适应阈值,从而提高分类的准确性;相反,在目标图像集中目标人的人脸图像与其他图像之间的差异性大的情况下,可以得到较低的自适应阈值,从而同样能够提高分类的准确性。
[0157]
以上参照附图介绍了本公开的实施例。应理解,根据本公开的分类方法和装置不仅可以用于对人脸图像进行分类,而且也可以用于对诸如动物、植物等之类的其他图像进行分类。
[0158]
硬件实现
[0159]
图17示出根据本公开的示例性实施例的其中可应用本公开的一般硬件环境1700。
[0160]
参照图17,现在将描述作为可应用于本公开的各方面的硬件设备的示例的计算设备1700。计算设备1700可以是被配置成执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、智能电话、便携式相机或其任意组合。上述装置100、1000、1500以及上述部件172中的每一个可以整体或至少部分地由计算设备1700或类似的设备或系统来实现。
[0161]
计算设备1700可以包括能够经由一个或多个接口与总线1702连接或者与总线1702通信的元件。例如,计算设备1700可以包括总线1702、一个或多个处理器1704、一个或多个输入设备1706以及一个或多个输出设备1708。一个或多个处理器1704可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(诸如专用处理芯片)。输入设备1706可以是能够向计算设备输入信息的任何类型的设备,并且
可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备1708可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端和/或打印机。计算设备1700还可以包括非瞬态存储设备1710或与非瞬态存储设备1710连接,非瞬态存储设备1710可以是非瞬态的并且可以实现数据存储库的任何存储设备,并且可以包括但不限于盘驱动器、光学存储设备、固态存储装置、软盘、柔性盘、硬盘、磁带或任何其它磁性介质、紧凑型盘或任何其它光学介质、rom(只读存储器)、ram(随机存取存储器)、高速缓存存储器和/或任何其它存储器芯片或盒带、和/或计算机可以从其读取数据、指令和/或代码的任何其它介质。非瞬态存储设备1710可以是可从接口拆卸的。非瞬态存储设备1710可以具有用于实现上述方法和步骤的数据/指令/代码。计算设备1700还可以包括通信设备1712。通信设备1712可以是能够与外部装置和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外通信设备、无线通信装备和/或诸如蓝牙
tm
设备、802.11设备、wifi设备、wimax设备、蜂窝通信设施等的芯片组。
[0162]
总线1702可以包括但不限于工业标准体系架构(isa)总线、微通道体系架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)本地总线和外围组件互连(pci)总线。
[0163]
计算设备1700还可以包括工作存储器1714,工作存储器1714可以是可以存储对处理器1704的工作有用的指令和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
[0164]
软件要素可以位于工作存储器1714中,包括但不限于操作系统1716、一个或多个应用程序1718、驱动程序和/或其它数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序1718中,并且上述装置100、1000、1500以及上述部件172中的每一个的部件可以通过处理器1704读取并执行一个或多个应用程序1718的指令来实现。更具体地,图像集接收部件110、特征提取部件120、相似度计算部件130、图构建部件140、概率值确定部件150、节点分类部件160可以例如由处理器1704在执行具有分别执行步骤s210、s220、s230、s240、s250、s260的指令的应用程序1718时实现。图卷积网络训练部件170可以例如由处理器1704在执行具有执行步骤s610-s630的指令的应用程序1718时实现。此外,同样地,上述装置1000、1500中的每一个的部件可以通过处理器1704读取并执行具有相应程序指令的应用程序1718来实现。软件要素的指令的可执行代码或源代码可以存储在非瞬态计算机可读存储介质(诸如上述(一个或多个)存储设备1710)中,并且可以在可能编译和/或安装的情况下被读入到工作存储器1714中。软件要素的指令的可执行代码或源代码也可以从远程位置下载。
[0165]
从上述实施例中,本领域技术人员可以清楚地知晓,可以通过软件及必要的硬件来实现本公开,或者可以通过硬件、固件等来实现本公开。基于这种理解,可以部分地以软件形式来实现本公开的实施例。计算机软件可以存储在计算机的可读存储介质中,比如软盘、硬盘、光盘或闪存中。计算机软件包括使得计算机(例如个人计算机、服务站或网络终端)运行根据本公开的各个实施例的方法或其一部分的一系列指令。
[0166]
已经这样描述了本公开,清楚的是,本公开可以以许多种方式变化。这些变化不被视为背离了本公开的精神和范围,而是对于本领域技术人员而言显而易见的所有这种修改意欲被包括在以下权利要求的范围中。
技术特征:
1.一种人脸图像分类方法,其特征在于,包括以下步骤:接收第一图像集,第一图像集与第一人对应但不具有对图像进行标记的标签,提取第一图像集中的每个图像的特征,基于所提取的特征,计算第一图像集中的每个图像对之间的相似度,基于所计算的相似度,构建图,在该图中,第一图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系,基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示第一人的人脸图像的概率,其中,图卷积网络是通过使用第一图像集和第二图像集两者而被训练的,第二图像集与第一图像集不同并且第二图像集具有将图像标记为是否表示第二人的人脸图像的标签,以及基于所确定的概率值,将节点分类为表示第一人的人脸图像的信号节点和不表示第一人的人脸图像的噪音节点。2.根据权利要求1所述的方法,其中,图卷积网络具有初始网络参数,并且图卷积网络通过以下操作而被训练:为针对第一图像集而构建的图中的每个节点生成伪标签,该伪标签将相应节点标记为信号节点或者噪音节点,使用第二图像集、第二图像集的标签以及具有初始网络参数的图卷积网络,确定图卷积网络的中间网络参数,使得针对第二图像集的图卷积网络的损失最小,针对第二图像集的图卷积网络的损失表示针对第二图像集的图像分类结果与标签之间的差异,以及使用针对第一图像集而提取的特征、针对第一图像集而构建的图、伪标签以及具有中间网络参数的图卷积网络,更新图卷积网络的初始网络参数,使得包含针对第一图像集的图卷积网络的损失和针对第二图像集的图卷积网络的损失的总损失最小,针对第一图像集的图卷积网络的损失表示针对第一图像集的图像分类结果与伪标签之间的差异。3.根据权利要求2所述的方法,其中,为针对第一图像集而构建的图中的每个节点生成伪标签包括:基于针对第一图像集而计算的相似度,将针对第一图像集而构建的图划分成彼此不连接的多个子图,以及将节点数目最大的子图中的全部节点标记为信号节点,并且将其他节点标记为噪音节点。4.根据权利要求1所述的方法,其中,对节点进行分类的步骤包括:通过将所确定的概率值与自适应阈值进行比较,将节点分类为信号节点和噪音节点,其中自适应阈值是针对第一图像集确定的。5.根据权利要求4所述的方法,其中,图卷积网络包括输入层、至少一个隐藏层和输出层,其中,自适应阈值是通过阈值适配器网络的以下操作而被确定的:计算在针对第一图像集而构建的图被输入到图卷积网络的情况下图卷积网络的最后一个隐藏层中的各节点的值的平均值,将计算出的平均值输入全连接层,以及将全连接层的输出输入到激活函数从而得到自适应阈值。6.根据权利要求5所述的方法,其中,阈值适配器网络通过以下操作而被训练:
为针对第一图像集而构建的图中的每个节点生成伪标签,该伪标签将相应节点标记为信号节点或者噪音节点,以及阈值适配器网络的网络参数被确定以使得在使用所确定的自适应阈值对节点进行分类的情况下,在针对第一图像集的图像分类结果与伪标签之间的与阈值相关的差异最小。7.根据权利要求1所述的方法,其中,构建图的步骤包括:将第一图像集中的每个图像表示为一个节点,对于每个节点,对该节点与每个其他节点之间的相似度进行排序,以及选出相似度排序前k位的其他节点,并且在该节点和这些其他节点中的每个节点之间设立一条边,k是大于等于1的整数。8.根据权利要求1所述的方法,其中,确定每个节点的概率值的步骤包括:将所提取的特征以及所构建的图输入到图卷积网络中,其中,所构建的图中的每个节点的值被设置为对应图像的所提取的特征,以及输出得自于图卷积网络的每个节点的概率值。9.一种人脸图像分类方法,其特征在于,包括以下步骤:接收图像集,该图像集与目标人对应但不具有对图像进行标记的标签,提取图像集中的每个图像的特征,基于所提取的特征,计算图像集中的每个图像对之间的相似度,基于所计算的相似度,构建图,在该图中,图像集中的每个图像由一个节点表示,连接节点的边表示节点之间的相似度关系,基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示目标人的人脸图像的概率,以及通过将所确定的概率值与自适应阈值进行比较,将节点分类为表示目标人的人脸图像的信号节点和不表示目标人的人脸图像的噪音节点,其中自适应阈值是针对所述图像集确定的。10.根据权利要求9所述的方法,其中,图卷积网络包括输入层、至少一个隐藏层和输出层,其中,自适应阈值是通过阈值适配器网络的以下操作而被确定的:计算图卷积网络的最后一个隐藏层中的各节点的值的平均值,将计算出的平均值输入全连接层,以及将全连接层的输出输入到激活函数从而得到自适应阈值。11.根据权利要求10所述的方法,其中,阈值适配器网络通过以下操作而被训练:为所构建的图中的每个节点生成伪标签,该伪标签将相应节点标记为信号节点或者噪音节点,以及阈值适配器网络的网络参数被确定以使得在使用所确定的自适应阈值对节点进行分类的情况下,在针对所述图像集的图像分类结果与伪标签之间的与阈值相关的差异最小。12.根据权利要求11所述的方法,其中,为所构建的图中的每个节点生成伪标签包括:基于所计算的相似度,将所构建的图划分成彼此不连接的多个子图,以及将节点数目最大的子图中的全部节点标记为信号节点,并且将其他节点标记为噪音节点。13.一种人脸图像分类装置,其特征在于,包括用于执行根据权利要求1-12中任一项所
述的方法的部件。14.一种人脸图像分类装置,其特征在于,包括:至少一个处理器;以及至少一个存储设备,所述至少一个存储设备存储有指令,当所述指令由所述至少一个处理器执行时使得所述至少一个处理器执行如权利要求1-12中的任一项所述的方法。15.一种非瞬态计算机可读存储介质,其特征在于存储有指令,当所述指令由处理器执行时使得执行如权利要求1-12中的任一项所述的方法。
技术总结
公开了人脸图像分类方法、人脸图像分类装置和存储介质。人脸图像分类方法包括以下步骤:接收第一图像集,第一图像集与第一人对应但不具有对图像进行标记的标签;提取第一图像集中的每个图像的特征;基于所提取的特征,计算第一图像集中的每个图像对之间的相似度;基于所计算的相似度,构建图;基于所提取的特征以及所构建的图,通过使用图卷积网络来确定每个节点的概率值,该概率值指示出节点表示第一人的人脸图像的概率,其中,图卷积网络是通过使用第一图像集和第二图像集两者而被训练的,第二图像集具有将图像标记为是否表示第二人的人脸图像的标签;以及基于所确定的概率值,将节点分类为信号节点和噪音节点。将节点分类为信号节点和噪音节点。将节点分类为信号节点和噪音节点。
技术研发人员:李献 温东超 赵东悦 邓伟洪 胡佳妮
受保护的技术使用者:北京邮电大学
技术研发日:2020.11.05
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-25139.html