网纹人脸识别方法及装置与流程

文档序号:25785269发布日期:2021-07-09 10:35阅读:308来源:国知局
网纹人脸识别方法及装置与流程

1.本发明涉及人工智能技术领域,尤其涉及网纹人脸识别方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.随着大数据时代的到来和深度学习的发展,人脸识别技术得到重大突破。人脸识别已经被广泛地应用于公共安防、银行金融、公安侦察、社交媒体等领域。由于人脸图像包含个人的身份证信息且容易获取,不发分子极易利用人脸图像冒充或者盗取用户的身份信息。因此现有使用一种简单而且廉价的方式保护人脸信息,它是在清晰的人脸图像上加随机的网纹条纹,这些网纹条纹的位置、波形、深浅都是随机的。这些随机的网纹会破坏人脸图像信息、从而达到保护人脸身份的目的。
4.虽然网纹人脸图像对人脸身份的保护具有重要作用,但是它也极大地影响了人脸识别的性能,因此,提升网纹人脸图像的识别性能具有巨大的实际价值。
5.网纹人脸图像可以被看成一种遮挡物,但是相比于一般的遮挡物,网纹人脸图像的遮挡位置是位置的且随机,算法需要检测并修复被遮挡的区域。现在很多的研究人员提出的算法大多需要收集大量的清晰人脸和对应的网纹人脸进行训练,但是在实际场景种收集清晰人脸和对应的网纹人脸是费时费力的。


技术实现要素:

6.本发明实施例提供一种网纹人脸识别方法,用以解决现在的技术中需要收集大量的清晰人脸和对应的网纹人脸,恢复的网纹人脸图像效率低下且恢复的信息不全的问题,该方法包括:
7.收集网纹人脸图像和干净的人脸图像;
8.将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2;
9.把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。
10.本发明实施例还提供一种网纹人脸识别装置,用以解决现在的技术中需要收集大量的清晰人脸和对应的网纹人脸,恢复的网纹人脸图像效率低下且恢复的信息不全的问题,该装置包括:
11.图像收集模块,用于收集网纹人脸图像和干净的人脸图像;
12.训练模块,用于将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2;
13.识别模块,用于把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。
14.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述网纹人脸识别方法。
15.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述网纹人脸识别方法的步骤。
16.本发明实施例中,与现有技术中需要收集大量的清晰人脸和对应的网纹人脸,恢复的网纹人脸图像效率低下且恢复的信息不全的技术方案相比,通过收集网纹人脸图像和干净的人脸图像,将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2,把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。使用新型cyclegan网络,解决现有的技术中需要收集大量的清晰人脸和对应的网纹人脸的缺陷。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
18.图1为本发明实施例中网纹人脸识别方法流程图(一);
19.图2为本发明实施例中网纹人脸识别方法流程图(二);
20.图3为本发明实施例中网纹人脸识别方法流程图(三);
21.图4为本发明实施例中网纹人脸识别方法流程图(四);
22.图5为本发明实施例中网纹人脸识别装置结构框图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
24.本文发明的目的是在于提供一种网纹人脸识别方法,可以解决现在的技术中需要收集大量的清晰人脸和对应的网纹人脸,恢复的网纹人脸图像效率低下且恢复的信息不全的问题。
25.图1为本发明实施例中网纹人脸识别方法流程图(一),如图1所示,该方法包括:
26.步骤102:收集网纹人脸图像和干净的人脸图像;
27.步骤104:将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2;
28.步骤106:把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。
29.具体的,干净的人脸图像不需要与网纹人脸图像是相同的人脸。
30.网纹人脸图像和干净的人脸图像的数据量不需要特别大,数据方面对于有网纹的
图片和干净的人脸图片要正常的证件照一样,不能有多余的其它杂质,比如水印等。
31.l2范数损失函数,也被称为最小平方误差(lse)。总的来说,它是把目标值y
i
与估计值f(x
i
)的差值的平方和s最小化:
[0032][0033]
在本发明实施例中,如图2所示,步骤104将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型,包括:
[0034]
在cyclegan网络的中正向生成器和反向生成器的网络结构中使用senet网络结构进行训练,得到正向生成器和反向生成器;其中,正向生成器把网纹人脸图像恢复为干净的人脸图像;反向生成器把干净的人脸图像变成网纹人脸图像。
[0035]
在本发明实施例中,如图3所示,步骤104在cyclegan网络的中正向生成器和反向生成器的网络结构中使用senet网络结构进行训练,包括:
[0036]
在正向生成器和反向生成器的u

net网络结构中,在降采样的feature map上采用setnet网络。
[0037]
对正向生成器g1和反向生成器g2进行说明,生成器的网络结构是以u

net网络,首先u

net网络有4个block用做降采样,每次降采样feature map的长和宽都会下降一半,但是个数会增加一倍,接下来会有4个对应的反卷积,用来上采样,每次结果长和宽增大一倍,个数减少一半,上采样和下采样对应长宽相同的feature map都会合并,这次的合并不是直接叠加而增加feature map的个数,而是在降采样的feature map上采用setnet网络的原理,先对降采样的feature map进行squeeze

and

excitation(se)操作,然后把结果与上采样的feature map进行scale操作,得到结果feature map的尺寸不变,但是feature map中所包含的信息增加了,这个网络可以称为se

unet网络。
[0038]
在每个卷积层,数据都是以三维形式存在的。可以把它看成许多个二维图片叠在一起,其中每一个称为一个feature map。在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。层与层之间会有若干个卷积核(kernel),上一层和每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map。
[0039]
g1生成器与g2生成器的结构相同,由4个卷积层和4个反卷积层组成,相同特征矩阵大小的网络层之间使用senet的网络形式进行特征的复用。
[0040]
在本发明实施例中,步骤104将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型,还包括:
[0041]
将干净的人脸图像传入反向生成器得到网纹人脸图像,利用cyclegan网络中的反向判别器对得到的网纹人脸图像进行判断,将得到的网纹人脸图像传入正向生成器得到干净的人脸图像;
[0042]
将网纹人脸图像传入正向生成器得到干净的人脸图像,利用cyclegan网络中的正向判别器对得到的干净的人脸图像进行判断,将得到的干净的人脸图像传入反向生成器得到网纹人脸图像;
[0043]
循环训练正向生成器、反向生成器、正向判别器和反向判别器,得到修复模型。
[0044]
具体的,除了两个生成器,还有两个判别器:d1,d2。d1判别是否为干净的人脸,d2
判别是否为有网纹的人脸,训练的过程如下:记干净的人脸为a,有网纹的人脸为b,g1的作用是由b变成a,g2的作用是由a变成b,d1判断b类型是否为真,d2判断a类型是否为真,开始训练,先把a图片传入g2得到b1,b1图片一边放入d1做判断,一边放入g1得到a1,接着先把b图片传入g1得到a1,a1图片一边放入d2做判断,一边放入g2得到b1,反复循环训练两个生成器和两个判别器的参数,当训练批次达到一定值以后停止训练。
[0045]
d1的作用是判断是否为b类型的人脸图片,因为b类型的图片有可能是收集得到的数据源,也可能是由g2生成的b类型图片,d1的作用就是判别出这两个b类型图片的真假,如果是收集的b类型图片就是为真,如果是g2生成的b类型图片就是为假。
[0046]
在本发明实施例中,网纹人脸识别方法还包括:
[0047]
在正向生成器和反向生成器中使用adam优化器,在正向判别器和反向判别器中使用sgd优化器。
[0048]
具体的,优化器的作用:神经网络的训练过程中的本质就是在最小化损失函数,而定义了损失函数以后,优化器就派上用场了,它的作用是用来更新和计算影响模型训练和模型输出的网络参数,使得损失函数达到最小值,本发明使用了梯度下降算法adam(adaptive moment estimation)和sgd(随机梯度下降法,stochastic gradient descen)。使用adam可以加快生产网络的收敛,减少训练时间。
[0049]
优化器原理解释:
[0050]
开始进行迭代优化,在每个epoch t:
‑‑‑‑
t表示训练的次数;
[0051]
1、计算目标函数关于当前参数的梯度:
[0052]
其中,表示对m
t
的函数求偏导(即梯度)得到g
t

[0053]
2、根据历史梯度计算一阶动量和二阶动量:
[0054]
一阶动量m
t
=φ(g1,g2,
……
,g
t
);二阶动量v
t
=φ(g1,g2,
……
,g
t
),其中,φ(g1,g2,
……
,g
t
)表示包含g1,g2,...,g
t
参数的函数,g
t
表示第t次更新模型参数时候所计算得到的梯度;
[0055]
3、计算当前时刻的下降梯度:
[0056]
其中,h
t
表示当前时刻的下降梯度;α的意思是学习率;
[0057]
4、根据下降梯度进行更新:w
t+1
=w
t

h
t
,其中,w
t+1
表示通过梯度下降后的模型的参数,w
t
是通过梯度下降前的模型的参数。
[0058]
adam原理:
[0059]
m
t
=β1·
m
t
‑1+(1

β1)
·
g
t
,当t=1时,m0等于0。
[0060]
当t=1时,v0等于0。
[0061]
其中的超参数β1,β2的值分别为0.9和0.999。
[0062]
sgd原理:
[0063]
m
t
=g
t

[0064][0065]
则:h
t
=α
·
g
t

[0066]
在本发明实施例中,如图4所示,步骤106把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像,包括:
[0067]
把网纹人脸图像作为输入,输入到正向生成器中,得到干净的人脸图像。
[0068]
本发明实施例中还提供了一种网纹人脸识别装置,如下面的实施例所述。由于该装置解决问题的原理与网纹人脸识别方法相似,因此该装置的实施可以参见网纹人脸识别方法的实施,重复之处不再赘述。
[0069]
图5为本发明实施例中网纹人脸识别装置结构框图,如图5所示,该网纹人脸识别装置包括:
[0070]
图像收集模块02,用于收集网纹人脸图像和干净的人脸图像;
[0071]
训练模块04,用于将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2;
[0072]
识别模块06,用于把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。
[0073]
在本发明实施例中,训练模块04具体用于:
[0074]
在cyclegan网络的中正向生成器和反向生成器的网络结构中使用senet网络结构进行训练,得到正向生成器和反向生成器;其中,正向生成器把网纹人脸图像恢复为干净的人脸图像;反向生成器把干净的人脸图像变成网纹人脸图像。
[0075]
在本发明实施例中,训练模块04具体用于:
[0076]
在正向生成器和反向生成器的u

net网络结构中,在降采样的feature map上采用setnet网络。
[0077]
在本发明实施例中,训练模块04具体用于:
[0078]
将干净的人脸图像传入反向生成器得到网纹人脸图像,利用cyclegan网络中的反向判别器对得到的网纹人脸图像进行判断,将得到的网纹人脸图像传入正向生成器得到干净的人脸图像;
[0079]
将网纹人脸图像传入正向生成器得到干净的人脸图像,利用cyclegan网络中的正向判别器对得到的干净的人脸图像进行判断,将得到的干净的人脸图像传入反向生成器得到网纹人脸图像;
[0080]
循环训练正向生成器、反向生成器、正向判别器和反向判别器,得到修复模型。
[0081]
在本发明实施例中,训练模块04具体用于:
[0082]
在正向生成器和反向生成器中使用adam优化器,在正向判别器和反向判别器中使用sgd优化器。
[0083]
在本发明实施例中,识别模块06具体用于:
[0084]
把网纹人脸图像作为输入,输入到正向生成器中,得到干净的人脸图像。
[0085]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述网纹人脸识别方法。
[0086]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述网纹人脸识别方法的步骤。
[0087]
本发明实施例中,与现有技术中需要收集大量的清晰人脸和对应的网纹人脸,恢复的网纹人脸图像效率低下且恢复的信息不全的技术方案相比,通过收集网纹人脸图像和干净的人脸图像,将网纹人脸图像和干净的人脸图像作为cyclegan网络训练集,训练得到
修复模型;其中,在cyclegan网络中增加senet网络结构且cyclegan网络的损失函数中加入了一个辅助损失函数l2,把网纹人脸图像输入到修复模型中,输出得到干净的人脸图像。1、使用新型cyclegan网络,解决现有的技术中需要收集大量的清晰人脸和对应的网纹人脸的缺陷。2、在cyclegan网络引入了senet网络结构,提高网纹人脸的恢复效率;3、在cyclegan网络的训练中引入了辅助损失函数l2,使得人脸的恢复信息更加完整。
[0088]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0089]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0091]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0092]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1