0引言人脸分析一直是计算机视觉领域的一个热点研究方向。人脸是人类最重要的生物特征之一,其包含了大量的属性,如表情、脸红、有魅力等情感属性。人脸属性识别(facial attribute recognition)的任务是通过设计算法识别出给定人脸图像中的各种面部属性。它在许多人脸分析任务中起到重要的辅助作用,如人脸身份验证(Sun等,2015;Kumar等,2011)、人脸识别(Yu等,2017;Li和Suen,2016)、人脸检索(Chen等,2015)和情感感知(Marasamy和Sumathi,2012;Kim等,2016)等。基于深度学习(LeCun等,1998)的人脸属性识别方法取得了巨大的进步,这些方法往往需要包含完整属性标签信息的大规模数据集进行训练。例如,目前广泛应用于人脸属性识别任务的数据集包括CelebA(CelebFaces attributes dataset)和LFWA(labeled faces in the wild attributes dataset)(Liu等,2015)。这两个数据集均包含较多的人脸图像(如CelebA包含了202 599幅人脸图像),并且每幅图像均提供完整的属性标签。一些方法(Mao等,2020;Zhuang等,2018;He等,2018;Han等,2017)在这两个数据集上属性识别的平均准确率已经分别接近92%和86%。然而,在一些实际应用中,由于采集条件的限制,往往提供的都是小样本数据集。目前基于深度学习的有监督学习算法在小样本数据集上的识别准确率依然很低。这主要是由于小样本数据集训练图像数目较少,导致深度学习无法进行有效训练。更为严重的是,由于人脸属性的标注耗时耗力,特别是一些主观的属性(如吸引力等情感属性)标注起来往往很难有统一的标准,标注过程十分困难。因此,许多训练数据的标签并不完整。如,Hand等人(2018)采集的数据集UMD-AED(University of Maryland attribute evaluation dataset)。该数据集中包含了2 808幅人脸图像。每幅人脸图像只提供少数的属性标签(标签缺失),并且不同人脸图像提供的属性标签可能并不一致。因此,小样本数据集上的属性标签缺失问题是一个值得研究的问题。目前有很多方法针对小样本数据集进行了一些尝试。如,Pfister等人(2014)从无标签的数据集中寻找符合所需标签的样本,然后把它们加入训练集对应的类别中扩充数据。尽管无标签的数据集很容易获得,但是通常质量不高,从而影响最终模型的训练。Tsai和Salakhutdinov(2017)使用相似的数据扩充原始的数据集,但是如何决定两个数据集是否相似以及如何寻找相似的数据集依然是棘手的问题(Wang等,2019)。然而,考虑到人脸属性识别问题的复杂性,目前基于小样本数据集的人脸属性识别的研究才刚刚起步,还有许多需要深入探索的问题。针对小样本数据集的属性标签缺失问题,本文提出了结合自监督学习和生成对抗网络的人脸属性识别方法。本文的创新点如下:1)为了解决人脸属性标签缺失的问题,首先使用自监督学习技术进行预训练来提取数据的高层语义信息,并且与最终的属性识别网络共享同一网络框架;2)为了进一步解决小样本数据集问题,从扩充数据着手,使用基于生成对抗网络(generative adversarial networks,GAN)(Goodfellow等,2014)和注意力机制(Vaswani等,2017)的人脸属性合成算法来修改部分属性以生成新的人脸图像扩充现有的属性标签,从而有效增强网络的泛化能力;3)使用自监督学习网络预训练得到的参数来初始化识别网络,并使用合成的人脸数据和标签以及少量的真实人脸数据和标签对识别网络进行训练得到最终的属性识别网络。通过结合预训练(基于自监督学习)和训练(基于GAN扩充数据和少量真实人脸数据的有监督学习)的方式提高小样本人脸属性识别的性能。1相关工作分别介绍人脸属性识别方法、自监督学习方法、生成对抗网络和标签缺失等4个方面的相关工作。1.1人脸属性识别方法早期的人脸属性识别算法大多采用人工设计的特征。比如,Kumar等人(2008)使用方向梯度直方图(histogram of oriented gradients,HOG)特征进行人脸验证和人脸属性识别。Bourdev等人(2011)使用基于Poselet的方法提取更加鲁棒的人脸特征。Eidinger等人(2014)使用局部二进制模式(local binary patterns,LBP)特征来表示每个属性,并对每个属性训练一个支持向量机(support vector machines,SVM)分类器。随着深度学习的发展,越来越多的方法开始采用深度学习进行人脸属性识别。Liu等人(2015)使用两个独立的卷积神经网络分别对人脸区域进行定位以及对人脸属性进行识别。Zhong等人(2016)使用深度卷积神经网络提取人脸属性的语义特征,并使用SVM分类器进行分类。这一阶段的人脸属性识别方法大多依赖于人脸特征点检测,所以需要大量带有精确特征点信息的人脸数据。多标签学习方法的出现使得人脸属性识别模型实现了端到端的学习。例如,Ehrlich等人(2016)使用受限玻尔兹曼机模型对多属性进行分类。Huang等人(2018)提出一种贪婪的自动搜索树状网络结构的方法进行多标签学习。Cao等人(2018)将属性分成上部、中间、下部和整体,然后设计了一个共享网络和4个相关任务网络对属性进行分类。目前,大多数基于深度学习的人脸属性识别方法均是基于大数据集的有监督学习算法。而针对人脸属性识别小样本数据集下的属性标签缺失问题还有待更多研究。1.2自监督学习方法为了节约收集和注释大规模数据集的成本,提出了自监督学习方法。自监督学习方法属于无监督学习方法的一种。自监督学习方法可以从未标记的数据中学习到有效的特征表示而无需任何人工标注的标签信息(Wang等,2019)。例如,Finn等人(2018)首先将图像进行聚类,保证同一类图像之间的距离小于不同类图像之间的距离,然后使用卷积神经网络(convolutional neural networks,CNN)来识别这些类。Grant等人(2018)首先从每幅图像中随机提取不同的图像块组,然后训练一个卷积网络判断一组内两幅图像块的相对位置。Brock等人(2017)首先对彩色图像进行线性变换得到灰度图像,然后训练一个生成对抗网络对灰度图像着色,用于训练分类器进行分类任务。本文采用了基于旋转的自监督学习算法(Gidaris等,2018),并在此基础上提出将不同旋转角度的图像进行拼接,从而避免产生输入图像的旋转角度是先天存在还是后天修改的歧义性问题。1.3生成对抗网络生成对抗网络(GAN)在2014年首次由Goodfellow等人(2014)提出。它主要针对的问题是在给定训练样本的情况下,如何产生新的具有相同分布的样本。GAN是一种特殊的生成式模型。生成器通过对抗学习从训练样本中学习真实数据的分布。而鉴别器被训练用来区分真实数据和由生成器生成的数据。GAN可以看成生成器和鉴别器相互博弈的过程,鉴别器需要不断提高自身鉴别真实数据和生成数据的能力,而生成器则需要通过不断优化自身来产生更加接近真实分布的数据从而迷惑鉴别器。在对抗学习的过程中,两个网络各自更新参数,直到达到纳什均衡。GAN的目标函数可以写成 1 $\begin{array}{*{20}{c}}{\mathop {\min }\limits_\mathit{\boldsymbol{G}} \mathop {\max }\limits_\mathit{\boldsymbol{D}} \mathit{\boldsymbol{V}}(\mathit{\boldsymbol{D}}, \mathit{\boldsymbol{G}}) = }\\{{E_{x \sim {p_{{\rm{data}}}}}}[\log \mathit{\boldsymbol{D}}(\mathit{\boldsymbol{x}})] + {E_{z \sim {p_z}}}[\log (1 - \mathit{\boldsymbol{D}}(\mathit{\boldsymbol{G}}(z)))]}\end{array}$ 式中,$E$表示数学期望,$\mathit{\boldsymbol{G}}$和$\mathit{\boldsymbol{D}}$分别表示GAN的生成器和鉴别器,$\mathit{\boldsymbol{x}}$表示真实样本,$\mathit{\boldsymbol{z}}$表示随机噪声。理论上来说,当对抗学习的过程达到纳什均衡点的时候,GAN就达到了全局最优点。原始的GAN存在训练过程不稳定,容易出现梯度消失和生成单一样本等问题。为此,研究者针对这些问题提出了GAN的许多改进。例如,Radford等人(2015)提出了深度卷积生成对抗网络(deep convolutional generative adversarial networks,DCGAN),使用卷积神经网络和批归一化(Ioffe和Szegedy,2015)的策略来稳定GAN的训练。Arjovsky等人(2017)为了解决GAN难以训练的问题,提出了基于Wasserstein距离的GAN(Wasserstein GAN,WGAN)和融合梯度惩罚的WGAN(WGAN with gradient penalty,WGAN-GP), 使用Wasserstein距离来优化GAN的鉴别器,并提出了梯度惩罚来解决GAN训练中出现的梯度消失问题。目前,GAN已广泛应用于各类计算机视觉任务。例如Odena等人(2017)提出了融合辅助分类器的GAN(auxiliary classifier GANs,ACGAN),将分类的标签作为网络的输入,并且修改了鉴别器使其除了判断真假之外还可以判断图像的类别,从而使得该网络可以用来生成多分类数据。Karras等人(2019)提出了样式GAN(StyleGAN),他们对不同层次的卷积层进行操作,使得模型能够控制生成图像的高级属性,而且可以生成更加逼真的人脸图像。1.4标签缺失在多标签学习任务中,由于标注成本的原因,经常只能得到部分带有标签的数据集。比如,一幅人脸图像包含高鼻梁、金发和女性这3个属性。而对于标签缺失的场景来说,能得到的属性标签可能只有金发这一个属性,高鼻梁和女性都是未知的。标签缺失不同于标签噪声(Vahdat,2017),标签噪声主要针对的场景是标签不准确。针对标签缺失问题,目前有很多方法进行了尝试。Sun等人(2017)直接将缺失的标签当作负样本类处理。然而,由于对于缺失标签的无差别处理,可能使得没有标注的正样本类被错误地当成了负样本类,从而导致方法性能的下降。Xu等人(2013)采用一种矩阵填补的方法来补齐缺失的标签,他们基于对标签之间关系的考量从标记好的数据标签推测缺失的标签。同样地,Deng等人(2014)的研究也是通过学习不同标签之间的关系来预测缺失的标签值。但是这些方法往往需要分析所有的数据来学习它们之间的关系,不适用于小批量学习的策略,因此无法扩展到训练深度卷积神经网络的任务中(Durand等,2019)。本文则采用GAN进行图像属性编辑来补充缺失的属性标签,从而得到较为完整的属性标签。2方法首先介绍本文提出的结合自监督学习和生成对抗网络的小样本人脸属性识别方法的整体架构,然后具体阐述本文方法中的重要组成模块,最后给出算法的流程。2.1整体架构本文提出的小样本人脸属性识别方法主要包括3个基本模块:自监督学习网络、人脸属性合成网络和人脸属性识别网络。其中,自监督学习网络把真实人脸图像和与之对应的旋转之后的图像作为输入,输出为旋转角度;人脸属性合成网络把真实的人脸图像和属性标签作为输入,输出为生成的带有该属性标签的人脸图像;最后人脸属性识别网络以自监督学习网络预训练得到的网络作为初始模型,利用人脸属性合成网络得到的人脸图像和少量真实的人脸图像作为输入进行训练,输出预测到的人脸属性。网络架构如图 1所示。 图1 本文方法的框架 The framework of the proposed methodFig 12.2自监督学习网络受Gidaris等人(2018)工作的启发,本文采用基于旋转的自监督学习网络从原始数据中学习高层的语义信息而并不需要人脸属性标签。Gidaris等人(2018)将旋转之后的不同角度图像作为输入训练自监督学习网络,如图 2所示。 图2 Gidaris等人(2018)方法的输入方式 The input mode of the method by Gidaris et al.(2018)Fig 2然而,该方法无法有效判断输入图像真正的旋转角度(后天修改的还是先天存在的)。例如,针对图 2中给出的4幅图像,网络同样可以将原标签为90°的图像视为原图(即标签为0°),将剩下的3幅图像依次视做分别旋转了90°、180°和270°的图像。在这种情况下,即使网络学会了如何区分不同旋转角度, 但是给出的标签依然可能是错误的。因此,该输入方式会带来判断上的歧义性。为了解决上述问题,本文采用通道拼接的方法。如图 1所示,将旋转之后的图像(3通道RGB图像)与原始图像(3通道RGB图像)沿着通道维度进行拼接,再将这个6通道的图像作为自监督学习网络的输入。采用通道拼接的输入方式,一方面可以通过让网络学习旋转后的图像与原图之间的旋转角度来解决歧义性问题,另一方面可以给自监督学习网络提供更多的信息,从而有效提高模型的学习效果。本文采用未经预训练的ResNet50(He等,2016)作为网络的基础模型,将最后一层全连接层输出的结点数改为4。4个结点用来预测输入图像的旋转角度(包括0°、90°、180°和270°)的置信概率。该网络包含4个下采样块和12个残差块,最后使用Softmax层进行分类。网络的具体结构如图 3所示,图中的×2、×3和×5分别表示将残差块堆叠排列2次、3次和5次。输出单元输出4个预测值。 图3 自监督学习网络的结构 The architecture of self-supervised learning networkFig 3使用交叉熵损失对自监督学习网络进行优化,损失函数记为$L_{\rm s}$ 2 ${L_{\rm{s}}} = \frac{1}{{{n_{\rm{s}}}}}\sum\limits_{i = 1}^{{n_{\rm{s}}}} {\left({ - \sum\limits_{c = 1}^{{n_{\rm{r}}}} {{y_{ic}}} \log \left({{{\hat y}_{ic}}} \right)} \right)} $ 式中,$n_{\rm s}$表示样本总数,$n_{\rm r}$表示旋转类别总数,$y_{ic}$表示第$i$个样本对应第$c$类的真实标签,$\hat y_{ic}$表示自监督学习网络预测的标签。2.3人脸属性合成网络本文采用的人脸属性合成网络是在He等人(2019)提出的适用于人脸属性编辑的生成对抗网络(attribute GAN,AttGAN)的基础上引入了注意力机制得到的。具体的网络结构如图 4所示,图中的×2表示将对应的模块堆叠排列2次。 图4 人脸属性合成网络的结构 The architecture of face attribute synthesis networkFig 4合成网络的生成器$\mathit{\boldsymbol{G}}$采用编码器—解码器的架构。首先输入图像通过编码器得到相应的编码表示,然后将需要编辑的(即期望的)属性与此编码表示拼接送入解码器进行解码,得到编辑之后的图像;同时解码部分也会根据原始标签对原始图像的编码表示进行重建,得到重建后的图像。合成网络的鉴别器$\mathit{\boldsymbol{D}}$判断生成图像的真假。同时为了保证编辑之后的图像包含了期望的属性,引入了对图像进行属性识别的部分$\mathit{\boldsymbol{C}}$。Zhang等人(2018a)的工作表明,在GAN的网络结构中引入注意力机制可以使得网络在训练过程中学习到全局信息,更加关注图像不同区域之间的依赖关系。一旦捕捉到该依赖关系,网络能够更加注重期望目标属性的学习,从而生成更加逼真的人脸图像。基于上述工作,本文在AttGAN的生成器和鉴别器中分别加入注意力层将网络得到的特征图通过1$×$1的卷积层之后与其自身的转置相乘, 再通过Softmax层得到此特征图的注意力图,然后将注意力图与通过卷积层之后的特征图相乘得到最终的注意力特征。注意力层的示意图如图 5所示,图中3个卷积层采用不同的权值和偏置参数。 图5 注意力层 Attention layersFig 5令$\mathit{\boldsymbol{A}}$表示注意力层,$\mathit{\boldsymbol{x}}_{f}$表示送入注意力层的特征图,$\mathit{\boldsymbol{x}}_{\rm att}$表示最终得到的注意力特征。与Zhang等人(2018b)的设置类似,$\mathit{\boldsymbol{x}}_{\rm att}$可以表示为 3 ${\mathit{\boldsymbol{x}}_{{\rm{att }}}} = \eta \mathit{\boldsymbol{A}}\left({{\mathit{\boldsymbol{x}}_f}} \right) + {\mathit{\boldsymbol{x}}_f}$ 式中,$η$为注意力特征的权重参数。$η$初始值设置为0,在训练的过程中不断增大。该做法可以使得网络在开始阶段依靠局部特征进行学习,而随着训练的不断进行,网络更依赖于复杂的全局信息,从而提升网络的性能。在GAN的训练过程中,使用了以下损失函数。为了稳定GAN的训练,使对抗学习的过程更容易收敛,本文采用WGAN(Arjovsky等,2017)的损失$L^D_{\rm adv}$和$L^G_{\rm adv}$, 即 4 $L_{{\rm{adv}}}^D = - {E_{{\mathit{\boldsymbol{x}}_a} \sim {p_{{\rm{data}}}}}}\mathit{\boldsymbol{D}}\left({{\mathit{\boldsymbol{x}}_a}} \right) + {E_{{\mathit{\boldsymbol{x}}_a} \sim {p_{{\rm{data}}}}, b \sim {p_{{\rm{attr}}}}}}\mathit{\boldsymbol{D}}\left({{\mathit{\boldsymbol{x}}_b}} \right)$ 5 $L_{{\rm{adv}}}^G = - {E_{{\mathit{\boldsymbol{x}}_a} \sim {p_{{\rm{data}}}}, b \sim {p_{{\rm{attr}}}}}}\mathit{\boldsymbol{D}}\left({{\mathit{\boldsymbol{x}}_b}} \right)$ 式中,$\mathit{\boldsymbol{x}}_{a}$表示原始图像,其属性为$a$;$\mathit{\boldsymbol{x}}_{b}$表示编辑之后的图像,其属性为$b$。为了使模型在编辑图像时只关注需要改变的部分而不改变其他区域,采用重构损失 6 ${L_{{\rm{rec}}}} = {\left\| {{\mathit{\boldsymbol{x}}_a} - {\mathit{\boldsymbol{x}}_{\hat a}}} \right\|_1}$ 式中,$\mathit{\boldsymbol{x}}_{\hat a}$表示使用原始属性$a$编辑之后的图像。在人脸属性分类部分,采用交叉熵损失 7 $L_{\mathrm{cls}}=-\sum\limits_{i}^{n_{a}}\left(a_{i} \log \left(\check{a}_{i}\right)+\left(1-a_{i}\right) \log \left(1-\check{a}_{i}\right)\right)$ 式中,$n_{a}$表示属性的个数,$a_{i}$表示真实的属性标签,$\check{a}_{i}$表示分类网络预测的属性标签。综上,生成器$\mathit{\boldsymbol{G}}$的损失为 8 $\mathop {\min }\limits_\mathit{\boldsymbol{G}} {L_G} = {\lambda _1}L_{{\rm{adv}}}^G + {\lambda _2}L_{{\rm{rec}}}^D + {L_{{\rm{cls}}}}$ 鉴别器$\mathit{\boldsymbol{D}}$的损失为 9 $\mathop {\min }\limits_\mathit{\boldsymbol{D}} {L_D} = L_{{\rm{adv}}}^D + {L_{{\rm{cls}}}}$ 式中,$λ_{1}$和$λ_{2}$为不同损失的权重参数,在本文实验中,分别设置为100和10。2.4人脸属性识别网络人脸属性识别网络是在自监督学习网络的基础上将其最后的全连接层的结点数由4改为$n_{a}$($n_{a}$为需要识别的人脸属性的个数),用来预测全部$n_{a}$个人脸属性。该自监督学习网络用来初始化属性识别网络的参数,然后使用经过人脸属性合成网络得到的生成数据和少量的真实数据训练属性识别网络,并采用均方误差损失函数进行优化,计算为 10 $L_{fa}^j = \frac{1}{N}\sum\limits_i^N {{{\left({y_i^j - \hat y_i^j} \right)}^2}} $ 式中,$N$表示样本总数,$y^j_{i}$表示第$i$幅训练图像在第$j$个属性上的真实标签,$\hat y_i^j$表示网络预测的标签。需要说明的是,由于小样本数据集的图像并不是每个属性都有标签(即标签缺失),所以在对数据集进行处理的时候将没有标签的属性对应的损失权重调整为0,这样就不会对反向传播计算过程产生影响。2.5算法流程结合自监督学习和生成对抗网络的小样本人脸属性识别方法的具体流程如下。输入:训练数据,最大迭代次数$T_{1}$、$T_{2}$、$T_{3}$,鉴别器每次训练次数$k$。输出:自监督学习网络参数,人脸属性生成网络参数,人脸属性识别网络参数。初始化自监督学习网络;for $t$=1, 2, …, $ T_{1}$ do  将输入图像与其旋转之后的图像进行拼接送入网络;  得到网络的输出$\hat y_{ic}$;  根据式(2)计算损失,更新网络参数;end for初始化人脸生成网络;for $t$=1, 2, …, $ T_{2}$ do  for $t$=1, 2, …, $ k$ do  将真实人脸图像和属性送入生成器得到生成图像;  将重建图像和真实人脸送入鉴别器;根据式(9)计算损失,更新鉴别器参数;end for将真实人脸和属性送入生成器得到生成图像;将人脸表示和原始标签送入生成器解码器得到重建图像;根据式(8)计算损失,更新生成器参数;end for使用自监督学习网络参数来初始化属性识别网络;for $t$=1, 2, …, $ T_{3}$ do使用合成网络得到的人脸和真实人脸训练识别网络;得到网络的输出$\hat y_i^j$;根据式(10)计算损失,更新网络参数;end for整个算法分3个部分。首先,使用真实数据预训练一个自监督学习网络,对输入图像进行旋转并与该图像进行拼接,再送入自监督学习网络。在此步骤中,自监督学习网络仅对图像的旋转角度进行预测,因此不需要属性标签。当训练完成之后,自监督学习网络已经具备了提取图像高层语义信息的能力。接下来,训练人脸属性合成网络。训练结束后,使用此网络的生成器对真实图像进行人脸属性编辑,从而扩充其属性标签。最后,将这些图像和少量真实的人脸图像送入以自监督学习网络参数进行初始化的人脸属性识别网络,对网络进行训练。网络收敛后可以有效判断人脸图像的$n_{a}$个属性。3实验本节进行大量实验验证所提方法的有效性。首先在不同的训练集上使用不同比例的训练数据训练网络,验证了所提的自监督学习在小样本数据集上的有效性;然后挑选了13个人脸属性进行修改,验证了人脸属性合成网络的效果;最后给出了所提小样本属性识别算法与对比方法在不同数据集上的精度比较。3.1数据集和实验设置在实验中,使用了CelebA、LFWA和UMD-AED共3个数据集。CelebA是香港中文大学提供的开放数据集,广泛用于人脸分析相关的任务。数据集包含了10 177个名人的202 599幅图像,并给出了每个人脸的ID信息、人脸框标注、5个面部特征点标注和40个人脸属性的标注。LFWA同样也是用于人脸分析相关任务的数据集,包含了13 143幅图像,每幅图像给出了73个属性标注。为了与CelebA进行比较,只选取其中相同的40个属性进行测试。UMD-AED由Maryland大学提供,数据集中包含了2 808幅人脸图像。每幅图像大小不一,本文统一裁剪成227×227像素大小。整个数据集的标签也是与CelebA相同的40个,但是每幅图像只包含其中的几种标签(标签具有稀疏性),并且每幅图像标注的属性标签不一定一致。每个属性的样本数约在100左右,正负样本比例为1 :1。为了使得每个属性的正负样本都能参与训练,采用等距采样的方式读取数据集。在自监督学习和人脸属性识别实验中,采用ResNet50作为自监督学习网络和属性识别网络的基础模型,使用随机梯度下降算法(stochastic gradient descent,SGD)。将动量设为0.9,权重衰减设为0.000 5,批大小设为64,使用0.001的学习率。在人脸属性合成的实验中,将GAN的生成器的编码和解码部分均设为5层,鉴别器也设为5层,同时将批大小设置为64,采用0.000 2的学习率。3.2自监督学习实验为了验证自监督学习在小样本数据集上的有效性,本文在CelebA、LFWA和UMD-AED上进行了不同训练集比例的实验。在实验过程中,从原始的训练集中随机选取了不同比例的训练数据,同时保持测试集不变。然后在这些数据集上分别使用自监督学习和不使用自监督学习进行实验。在表 1中,wSELF指的是先使用2.2节提到的自监督学习技术得到初始模型,然后使用属性标签训练得到最终分类模型;woSELF指的是直接使用属性标签训练得到的分类模型。选取包含原始训练集样本比例分别为1、1/2、1/3、1/5、1/10这5种不同大小的子训练集,具体的实验结果如表 1所示。 表1 不同训练集比例下不同方法识别精度比较 比例 CelebA LFWA UMD-AED woSELF wSELF woSELF wSELF woSELF wSELF 1 90.86 90.72 84.67 84.80 76.11 74.42 1/2 86.78 87.76 81.57 84.15 70.48 71.36 1/3 83.26 85.22 81.48 83.66 66.89 68.76 1/5 82.55 84.15 80.48 82.73 66.54 67.66 1/10 81.97 83.57 79.50 81.49 63.21 65.86 Recognition accuracy comparison between different methods under different sizes of training set  /%Table 1 加粗字体表示woSELF与wSELF两种方法中的最优值。可以看出,当训练数据减少的时候,不使用自监督学习的模型性能明显下降,而使用了自监督学习的模型性能下降较少。在CelebA上,不使用自监督学习的模型性能由90.86%下降到81.97%,下降了8.89%;而使用了自监督学习的模型性能则由90.72%下降到83.57%,下降了7.15%。在LFWA上,不使用自监督学习的模型性能下降了5.17%,使用自监督学习的模型性能下降了3.31%。在UMD-AED上,不使用自监督学习模型性能下降了12.9%,使用自监督学习模型性能下降了8.56%。这说明,使用自监督学习网络得到的特征再经过少量有标签数据的微调,模型就可以在标签不足的情况下尽可能保证性能,从而减少对标签的依赖。实验结果也表明,在训练数据为原始训练集的时候,不使用自监督学习模型的性能优于使用自监督学习模型的性能,本文推测这是因为在训练数据充足的情况下,不使用自监督学习的模型有足够的信息进行优化,而使用自监督学习的模型在训练时达到了局部最优,限制了识别网络的性能。为了验证本文提出的将旋转图像与原始图像进行拼接的策略的有效性,在CelebA、LFWA和UMD-AED数据集上使用两种不同的自监督学习技术进行了数据集划分实验。实验中数据集划分方法与表 1中的划分方法一致,表 2中woCON表示将原始图像旋转之后直接送入网络(即采用Gidaris等人(2018)的输入方式),wCON表示将旋转之后的图像与原始图像拼接之后再送入网络。具体的实验结果如表 2所示。 表2 不同训练集比例下不同自监督学习的识别精度比较 比例 CelebA LFWA UMD-AED woCON wCON woCON wCON woCON wCON 1 90.24 90.72 79.86 84.80 72.75 74.42 1/2 89.32 87.76 76.85 84.15 66.58 71.36 1/3 88.41 85.22 75.55 83.66 63.01 68.76 1/5 87.09 84.15 74.96 82.73 60.08 67.66 1/10 86.19 83.57 73.77 81.49 55.87 65.86 Recognition accuracy comparison between different self-supervised learning methods under different sizes of training set  /%Table 2 加粗字体表示woCON与wCON两种方法中的最优值。从表 2中可以看出,与基于原始图像的自监督学习技术(Gidaris等,2018)相比,在LFWA和UMD-AED数据集上,本文提出的将旋转之后的图像与原始图像拼接之后的自监督学习技术得到的模型在进行属性识别的时候效果显著提升。这验证了本文提出的拼接操作能够有效提高自监督学习模型提取图像高层信息的能力。但是,在CelebA数据集上,对输入图像进行拼接操作的自监督学习技术得到的模型在属性分类上的效果差于没有拼接的自监督学习技术得到的模型。这是由于CelebA数据集在参与训练的时候已经进行了人像对齐操作,因而在CelebA上进行通道拼接与不进行通道拼接对于消除图像固有角度歧义性的问题区别并不大,而所提的自监督学习技术在训练过程中由于使用了6个通道提取语义信息,可能会引入部分噪声,从而限制了自监督学习模型的性能。上述实验进一步验证了本文提出的自监督学习技术在小数据集上的有效性。3.3人脸属性合成实验为了验证网络合成人脸属性的有效性,受He等人(2019)的启发,从40个属性中选取了“秃顶”、“刘海”、“黑发”、“金发”、“棕发”、“浓眉”、“戴眼镜”、“男性”、“嘴巴微张”、“八字胡须”、“无胡须”、“白皮肤”和“年轻”这13个属性进行修改。由于CelebA的40个属性中很多属性之间相互关联、区域相互影响,因此从中挑选了这13个比较直观的属性进行修改。结果如图 6所示。 图6 人脸属性合成结果 The results of face attribute synthesisFig 6图 6中,第1列为原始图像,第2列为重建之后的图像,后面的13列分别表示修改了上述13个属性之后的图像。可以发现,人脸属性合成网络可以很好地编辑需要合成的属性同时保持其他属性不变。如第10行第3列中,网络修改了“秃顶”属性,将原始人像从不秃顶状态编辑为秃顶状态,但是保持其余属性没有明显变化,包括与“秃顶”属性相关的“黑发”属性依然保持不变;第6行第14列中,网络修改了“白皮肤”属性,将原始人像从非“白皮肤”编辑为“白皮肤”,但是“黑发”属性依然保持不变。这也充分验证了加入注意力机制之后,属性合成网络能够有效关注到需要编辑的人脸区域。3.4人脸属性识别实验为了验证本文提出的小样本人脸属性识别算法的有效性,本文在CelebA、LFWA和UMD-AED上使用1/10的数据作为训练数据进行实验。由于缺乏小样本的人脸属性识别的方法,基于所提方法设置了3个对比实验。在表 3中,ATT表示只采用人脸属性识别网络,SA表示在自监督学习的基础上对网络进行训练(即自监督学习网络结合人脸属性识别网络),GANA表示先进行人脸属性合成,然后进行属性识别(即人脸属性合成网络结合人脸属性识别网络),GANSA即本文方法,包含自监督学习网络、属性合成网络和属性识别网络3个模块。实验结果如表 3所示,表中给出了部分属性(包含了有魅力、脸红、微笑等一些情感属性)的识别准确度以及40个属性的识别准确度的平均值。 表3 不同的人脸属性识别方法在不同数据集上的属性识别精度 部分属性 40个属性平均值 有魅力 睡眼 浓妆 张嘴 眯眼 脸红 微笑 耳环 帽子 领带 年轻 CelebA ATT 66.84 94.94 74.11 55.45 85.13 92.83 61.17 79.34 95.80 93.14 76.84 82.71 SA 68.00 94.94 78.61 61.78 85.13 92.83 67.25 79.38 95.80 92.99 76.66 83.77 GANA 68.12 94.94 75.73 56.26 85.13 92.83 62.54 79.25 95.82 93.28 76.66 83.04 GANSA(本文) 70.49 94.94 82.05 73.02 85.13 92.83 75.82 79.53 95.81 93.05 78.74 85.13 LFWA ATT 73.54 84.51 93.96 75.85 68.53 80.69 82.56 92.22 86.12 77.74 85.63 79.38 SA 75.19 85.04 94.11 77.43 71.37 81.05 85.89 92.71 88.34 79.39 85.92 81.18 GANA 74.95 84.68 94.23 78.41 69.50 81.02 86.00 93.00 86.73 78.83 85.97 80.80 GANSA(本文) 75.97 85.48 94.20 79.03 73.32 81.28 87.11 92.86 89.27 79.39 86.23 82.55 UMD-AED ATT 52.08 58.00 45.10 44.90 41.18 55.10 63.27 58.82 72.34 71.74 95.92 63.24 SA 58.33 66.00 62.75 48.98 56.86 42.86 57.14 62.75 68.09 71.74 89.80 66.07 GANA 54.17 66.00 47.06 44.90 47.06 67.35 57.14 60.78 82.98 69.57 93.88 66.60 GANSA(本文) 62.50 70.00 70.59 44.90 58.82 38.78 53.06 62.75 85.11 71.74 91.84 69.01 Attribute recognition accuracy obtained by different facial attribute recognition methods on different datasets  /%Table 3 加粗字体为4种方法中的最优值。从表 3中可以看到,在3个不同的数据集上,所提方法的准确率平均高于其他对比算法。其中,在大数据集CelebA和LFWA上,所提方法的准确率比直接进行人脸属性识别的方法分别提升了2.42%和3.17%;在小样本数据集UMD-AED上,准确率提升了5.77%。由此可以看出,使用自监督的预训练模型和使用人脸属性合成网络增强数据确实可以提高在小样本数据集上的人脸属性识别准确率。同时可以发现,在大样本数据集上结果提升的程度不如小样本数据集。推测这是因为对于标签准确且充足的大样本数据集来说,即使只选取了1/10的数据进行训练(例如对于CelebA来说,1/10的训练数据有16 277幅图像),依然保有较为充分的监督信息;而对于小样本数据来说,标签缺失和样本不足对性能的影响更大(例如对于UMD-AED来说,1/10的训练数据只有140幅图像)。因此,上述实验验证了本文算法可以在小样本数据集的属性标签缺失的情况下有效提升识别的准确率。4结论本文提出一个结合自监督学习和生成对抗网络的人脸属性识别方法,有效缓解了小样本数据集的属性标签缺失问题。首先通过自监督学习技术在无需属性标签的条件下进行预训练来提取小样本数据集的高层语义信息;然后利用融合了注意力机制的GAN网络生成人脸数据来进行数据增强,以提高网络的泛化能力;最后使用生成数据和少量带标签数据训练以自监督学习网络为初始模型的分类网络。实验结果表明,本文方法能有效提高小样本人脸属性识别的精度,在只使用了10%训练数据的CelebA、LFWA和UMD-AED数据集上的精度分别达到了85.13%、82.55%和69.01%,相比于普通的属性识别网络性能有了较大提升。本文方法还存在以下不足值得进一步研究:1)人脸属性的高度相关性限制了人脸属性合成网络的性能,导致在使用合成网络生成的图像进行数据增强的时候会引入噪声,从而影响属性识别的精度;2)在使用原始CelebA数据集时,由于预训练网络达到了局部最优,从而限制了属性识别训练时精度的进一步提高;3)在进行通道拼接的时候,可能会带来部分噪声,影响自监督预训练网络的性能。后续工作将从处理人脸属性关系以及调整预训练和训练二者平衡的方向着手,进一步提高小样本数据集上人脸属性识别的精度。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读