一种基于生成对抗网络的人脸图像样本扩充方法

文档序号:29437077发布日期:2022-03-30 09:07阅读:205来源:国知局
一种基于生成对抗网络的人脸图像样本扩充方法
一种基于生成对抗网络的人脸图像样本扩充方法
【技术领域】
1.本发明属于人工智能识别及图像处理技术领域,具体涉及脸部检测数据的图像样本扩充方法。


背景技术:

2.近年来,基于深度学习的方法在很多领域取得了良好的表现,这很大程度上依赖于海量的数据推动。在需要人脸检测的任务中,实时实地人脸数据的收集也有相当的难度。并且对遮挡面部的人脸进行数据标注也是一项极为耗费人力与时间的工作。解决遮挡人脸数据集不足,实现人脸数据集扩充是当下需要解决的关键问题。
3.图像数据集扩充与图像增强工作一直是研究学者努力攻克的领域,无论是传统图像增强方式包括增加噪音、放射变换、裁剪、翻转等,还是使用信息删除方式针对检测工作的方法对深度学习模型鲁棒性的提升都有限。但是在人脸检测工作中,由于人脸的图像像素面积较小,可用的以供增强的有效图像过少,导致大部分图像增强方法并不适用,因此使用更多的人脸图像数据训练人脸检测模型才是更为有效的手段,本发明使用的生成对抗网络进行人脸图像样本扩充方法是较为有效的手段。


技术实现要素:

4.本发明目的是解决传统人脸增强扩充方法增加噪音、放射变换、裁剪、翻转等如因为人脸的图像像素面积较小,特别是部分面积被遮挡情况下无法有效增强扩充,人脸检测模型对这类遮挡人脸图像检测困难的问题,提出一种基于生成对抗网络的人脸图像样本扩充方法。该方法操作流程如图1所示,首先使用需要扩充的人脸数据集训练s-codergan网络,然后使用训练完善s-codergan网络的生成器生成更多遮挡人脸图像,最后使用生成的遮挡人脸图像训练人脸检测模型,提高检测精度。该方法基于深度卷积生成对抗网络(deep convolution gan,dcgan)对遮挡人脸图像生成任务优化的网络结构,目的是扩充现有人脸数据样本,进一步丰富人脸遮挡图像,提高人脸检测算法的性能。在该网络中加入 s-coder(source coder)原域编码模块实现遮挡元素可控生成并覆盖。并通过修改网络层结构,加入wgan(wasserstein gan)中使用的wasserstein距离优化网络训练。在此基础上使用周期一致的训练流程,目的是进一步增加网络训练稳定性,提高图像生成质量。将本发明方法生成的图像数据质量与其他gan网络生成的图像进行主观与定量对比。在此基础上将生成的遮挡人脸数据集送入多种人脸检测算法训练、测试。实验结果表明,通过本发明方法生成的图像质量更好,更加具有实用意义,采用扩充的人脸遮挡数据集可以有效提高人脸检测准确率。
5.本发明的技术方案
6.一种基于生成对抗网络的人脸图像样本扩充方法,包含以下步骤:
7.模块1:使用跳层连接(skip connection)的残差结构设计的生成器模块(generator);
8.模块2:在所述生成对抗网络中加入基于独热+编码(one-hot encoding)算法构成的 s-coder可控编码模块(s-coder module);
9.模块3:使用sigmoid层设计判别网络真假判别子模块,使用softmax层设计判别网络标签判别子模块,以此两个子模块构建判别器模块(discriminator);
10.步骤3:使用周期一致的训练流程,即s-coder gan生成对抗网络中两组生成器组合,将生成图像反向送入结构相同的另一生成器得到重构图像,提高训练稳定性;
11.步骤4:最后使用训练完成的s-coder gan生成对抗网络,生成多种人脸遮挡物的人脸图像样本,得到扩充后的数据集。
12.所述s-coder gan生成对抗网络结构组成中使用向量掩码对输入训练目标域图像进行编码,并将编码与原域图像信息输入网络进行contact操作为新的输入送入生成器。
13.所述s-coder gan生成对抗网络结构组成中将生成的人脸图像送入判别器,此时判别器前部共享参数,用残差网络提取特征,并将特征送入一个网络含有sigmoid层网络输出图像的真假信息,同时将特征送入另一个网络含有softmax层网络输出图像类别信息。
14.所述s-coder gan生成对抗网络结构组成中,训练时使用两组相同生成对抗网络组成类似周期一致生成对抗网络结构进行训练,使用周期一致性损失(cycle consistency loss)进行约束,并在训练时使用wasserstein loss对生成器与判别器进行优化。
15.本发明的优点和积极效果
16.本发明提出了一种基于生成对抗网络、编解码模块和周期一致训练的人脸图像样本扩充方法。通过对现有无遮挡人脸图像样本进行数据扩充,达到增强人脸检测算法处理精度的目的。该技术在现有dcgan网络的优缺点之上,结合编解码技术和更优秀的优化函数设计出新的网络结构来提升图像生成质量。并在周期一致训练过程的启发下,结合周期一致损失使gan网络训练更加稳定,一定程度上解决了模型训练困难问题。经过多种gan网络生成图像质量对比实验,本文的网络在生成图像质量和图像丰富度等方面均有较好的表现。在人脸数据集扩充以及人脸检测对比实验中,多种经典人脸检测模型对遮挡人脸的检测精度有不同程度的提升。对于海关安检、人流密集场所等特殊的遮挡人脸检测场景下,应用该技术能够提供较大的帮助。
【附图说明】
17.图1是本发明整体操作流程图;
18.图2是本发明整体网络的结构图;
19.图3是生成器网络中使用的微步幅卷积结构与生成器网络组成图;
20.图4是判别器网络中使用的卷积结构与判别器网络组成图;
21.图5是多种生成网络在cifar10数据集生成结果图;其中,(a)为dcgan网络生成图像,(b)dcgan-res残差结构生成图像,(c)为wgan生成图像,(d)为wgan-gp生成图像,(e)本发明网络生成图像;
22.图6是多种生成网络在cifar10数据集生成质量对比图;
23.图7是生成遮挡人脸效果图。左侧为原图中裁切人脸图像,中间为网络增强墨镜遮挡人脸图像,右侧为网络增强口罩遮挡人脸图像;
24.图8是多种人脸检测模型在数据集扩充后检测精度对比图。
【具体实施方式】
25.实施例
26.本实施例利用python语言和pytorch框架构建基于深度卷积生成对抗网络(dcgan),编解码模块,周期一致训练方法的图像样本生成。主要涉及的实施操作有基础网络和主干网络的构建,其中编解码模块是算法最大的创新点。
27.本发明提供的是一种基于生成对抗网络的人脸图像样本扩充方法,本发明整体生成对抗网络结构如图2所示,由编码模块(s-coder module)、两个生成器网络(generator1、 generator2)、判别器网络(discriminator)组成。目标图像(target image)经编码模块编码(target code)后与需增强图像(source image)一起传入第一生成器(generator1)中,生成假图像与目标图像送入判别器(discriminator)解码,输出图像类型(label)与图像真假信息(fake/real),并调整第一生成器(generator1)权重,进一步优化整体网络参数,从而达到提高生成器的图像样本生成能力。同时,将生成图像(image)与原图像编码(source code)送入第二生成器(generator2)重构原图像,使用周期一致loss进行约束原图像与重构图像,使之保持分布一致,优化第二生成器(generator2)网络参数。
28.本发明方法具体包括以下步骤:
29.步骤1、获取原始人脸训练样本集合;
30.步骤2、按照图3所示网路操作步骤将所述人脸训练样本集合中的人脸图像送入到生成对抗网络中,训练该生成对抗网络,生成新的含有面部遮挡元素的人脸图像样本;其中:使用dcgan作为网络基础结构,使用图3中所示残差模块构建反卷积结构作为s-coder gan 生成对抗网络的基础。
31.步骤3、使用向量掩码对输入训练图像进行编码,该编码器能够根据i个种类的数据集提供的已知标签生成i维的向量c,并将编码与输入图像分布信息进行contact操作为新的输入送入生成器网络。
32.步骤4、按照图4所示步骤将生成的图像送入判别器,此时判别器前部共享参数,残差网络提取特征,送入两个结构不同的子模块中。其中一个模块使用sigmoid层输出图像的真假信息,另一个模块使用softmax层输出图像类别信息。
33.通过给定的标签编码优化判别器模型和生成器模型的损失分别为:
[0034][0035][0036]
其中是对判别器进行优化的函数,x为真实图像,经过判别器d提取的特征向量,与真实标签c对比进行距离计算,不断优化判别器d。是对生成器进行优化的函数, g(x,c)是由生成器g输出的虚假样本,送入判别器d中,从而不断优化生成器d。
[0037]
步骤5、使用两组相同生成对抗网络组成类似周期一致生成对抗网络结构进行训练,使用周期一致性损失(cycle consistency loss)进行约束。
[0038][0039]
该公式表示生成器g
ab
即generator(a to b)将图像a转换为虚假图像b-fake,d-b 判别b-fake的真假,同时g
ba
即generator(b to a)将b-fake转换回重构图像a-rec;另一生
成器g
ba
将b转换为a-fake,d-a判别a-fake的真假,同时g
ab
将a-fake转换回b-rec。使用周期一致性损失(cycle consistencyloss),确保a-rec(b-rec)趋近于a(b)的分布,实现更好的训练稳定性。式中g
ab
(x)、g
ba
(y)分别代表数据域x,y送入网络中进行生成与重构,并与自身做l1范式计算距离,并不断优化
[0040]
并在训练时使用wasserstein loss即对生成器与判别器进行优化。同时,网络总体的loss如下式。其中判别器为将区别生成图片与真实图片试图将最大化,因此判别器网络的损失函数如下:
[0041][0042]
其中是wasserstein loss,为判别器图像分类损失,γ为该损失的组成权重,通常设为1。
[0043]
在生成器中,为使生成图像更加接近真实图像,最小化生成器网络损失函数如下式:
[0044][0045]
其中为生成器类别损失,为周期一致损失,γ、β分别为损失组成权重,通常设为5。
[0046]
以上为训练人脸遮挡图像生成对抗网络的操作实例。最终能够得到一个可以对现有人脸图像进行数据样本扩充的生成模型。
[0047]
为了验证本发明gan网络的图像数据生成能力,首先选择在三通道图像样本cifar-10 图像数据集上生成扩充样本图像,验证图像生成质量与扩充图像的实用性,从而验证算法能力。cifar-10数据集由32
×
32像素的60000张彩色图像样本组成,共分为airplane、truck、 horse等10各类别,每个类别各10000张图像。并且50000张组成5个批次作为训练集,另外的10000张图像作为测试集。cifar-100数据集有100个类别。每个类别每个类有600 张大小为32
×
32的彩色图像,其中500张作为训练集,100张作为测试集,共计60000 张图像。实验参数设置按照batch-size(批处理大小)为100,训练图像为32
×
32,生成器输入为随机噪声与编码信息组合成的向量,生成器与判别器learning rate(学习率)初始为 0.01,每100epoch下降为当前的10%。实验生成图像结果如图5。与dcgan、dcgan-res、 wgan、wgan-gp对比后,使用is与fid指标进行量化评估,结果如图6。
[0048]
通过判断五种网络在相同训练迭代次数,相同数据集训练出的结果由可以看出,在 cifar-10数据集本文提出的gan网络在图像生成质量与丰富度接近wgan-gp,且均优于其他gan网络。
[0049]
并且在实际的人脸图像样本扩充操作中选择使用wider face数据集作为训练集和扩充对象,原因是wider face数据集有更多的场景和更丰富的人脸尺度。将wider face 通过对姿态、尺度大小、面部遮挡等标签进行清洗筛选,获得三万多张清洗的符合扩充需求的图像,在其中包含原有的约13000多张遮挡人脸,以此作为训练图像。使用mafa 数据集作为测试集,对不同的人脸检测算法进行扩充前扩充后的有效评估。
[0050]
wider-face数据集是人脸检测工作的一个benchmark数据集,包含32203图像,以及393703个标注人脸,其中训练集包含有158989张人脸,验证集则包含39496人脸。数据集提供了多种类别标注,每一个子集都包含3个级别的检测难度:easy,medium, hard。mafa数据集是专门提出的遮挡人脸检测数据集,30811张图像,35806个遮挡人脸,且每张图像中最少有一个人脸被遮挡。专门评估各类算法对遮挡人脸检测性能。
[0051]
使用该生成对抗网络将原有的数据集进行面部遮挡元素扩充,增加口罩面部遮挡和墨镜面部遮挡,大大提高人脸丰富程度,在原有分widerface数据集上扩充成widerface-mask 数据集。扩充后widerface-mask数据集中遮挡人脸数量将比原有遮挡人脸数量增加50%、 100%、150%和200%,并且进一步提高脸部遮挡元素丰富度。生成人脸图像如图7所示,左至右依次为原始人脸图像,墨镜遮挡人脸图像,口罩遮挡人脸图像。在三种人脸检测算法single shot scale-invariant face detector(s3fd)、faceboxes、densebox进行测试后,人脸图像检测精度如图8。
[0052]
在该实验中,三种模型在base数据集训练下对mafa数据集测试效果较原测试集效果并不好,这一问题是mafa数据集场景和人脸遮挡元素更为丰富导致的。在使用wider face-mask(50%)训练后,对遮挡人脸检测精度有一定的提升可达3%~6%。当数据集扩充比例达到150%后,检测精度提升不再显著。但由gan网络生成的遮挡人脸图像对提升检测精度是有效的,多种经典人脸检测模型对遮挡人脸的检测精度有不同程度的提升。对于海关安检、人流密集场所等特殊的遮挡人脸检测场景下,应用该技术能够提供较大的帮助。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1