首页 / 专利库 / 电脑图像 / 绘图软件 / 基于对抗网络的指纹模型生成方法以及相关装置

基于对抗网络的指纹模型生成方法以及相关装置

阅读:72发布:2020-05-12

专利汇可以提供基于对抗网络的指纹模型生成方法以及相关装置专利检索,专利查询,专利分析的服务。并且本 发明 揭示了一种基于对抗网络的指纹模型生成方法、装置、计算机设备和存储介质,属于 机器学习 技术领域,该基于对抗网络的指纹模型生成方法包括:获取指纹样本图像;将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,若所述第二机器学习子模型的识别率达到所述预定识别 阈值 时,将所述指纹模拟图像作为指纹模型输出。这样就可以在缺乏指纹 数据库 时合成与真实指纹的相似度较高的指纹模型。,下面是基于对抗网络的指纹模型生成方法以及相关装置专利的具体信息内容。

1.一种基于对抗网络的指纹模型生成方法,其特征在于,所述方法包括:
获取指纹样本图像;
将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型;
其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型包括:
将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,以便所述第一机器学习子模型根据所述判断结果调整参数,使所述第一机器学习子模型输出指纹模拟图像与所述指纹样本图像更相似;
计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
2.如权利要求1所述的方法,其特征在于,所述机器学习模型如下训练出:
将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
将所述一次指纹模拟图像作为正样本,将所述指纹样本图像作为负样本,构成第一指纹图像样本集;
将所述第一指纹图像样本集中的每一个指纹图像样本逐一输入第二机器学习子模型中进行学习,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,如果对于正样本输出不是指纹模拟图像的判断结果,或对于负样本输出是指纹模拟图像的判断结果,调整第一机器学习子模型,使第二机器学习子模型输出相反判断结果;
将所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果输入第一机器学习子模型,使第一机器学习子模型根据所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果,调整所述第一机器学习子模型,使所述第一机器学习子模型输出的指纹模拟图像与所述指纹样本图像的相似度提升;
计算所述第二机器学习子模型的识别率;
若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
3.如权利要求1所述的方法,其特征在于,所述指纹样本图像包括指纹真图以及指纹草图,所述获取指纹样本图像,包括:
从指纹录入器获取或从指纹库调取指纹真图;
从指纹录入器获取或通过绘图软件制作或自动生成指纹草图。
4.如权利要求1所述的方法,其特征在于,所述指纹样本图像包括指纹真图以及指纹草图,所述获取指纹样本图像,包括:
获取完整的指纹真图或残缺的指纹真图;
获取全为闭合曲线的指纹草图或含有闭合曲线及非闭合曲线的指纹草图。
5.如权利要求1所述的方法,其特征在于,对所述机器学习模型进行训练的方式为基于最大化损失函数的值进行训练,其中,所述最大化损失函数为:
LGAN=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]
其中:LGAN为最大化损失函数值,x为指纹真图,D为第二机器学习子模型Ex~Pdata(x)为对于第二机器学习子模型损失的期望,z为输入指纹第一机器学习子模型的指纹样本图像,G(z)为第一机器学习子模型的输出的指纹模拟图像,D(G(z))为将所述指纹模拟图像输入第二机器学习子模型的处理函数,Ez~Pz(z)为对于第一机器学习子模型损失的期望。
6.如权利要求1所述的方法,其特征在于,所述第一机器学习子模型输出指纹模拟图像的具体步骤包括:
获取指纹样本图像中相邻区域的像素变化值,判断所述像素变化值是否小于预设变化阈值;
若所述像素变化值小于预设变化阈值,对所述指纹样本图像中相邻区域的像素进行调整。
7.如权利要求6所述的方法,其特征在于,对所述指纹样本图像中相邻区域的像素进行调整,包括:
获取指纹样本图像中相邻区域的各个像素的变化值;
计算所述相邻区域的各个像素变化值的和,得出该所述相邻区域的各个像素总的变化值;
将所述相邻区域的各个像素总的变化值反馈到像素损失函数中,对所述相邻区域的各个像素进行调整;
其中,所述像素损失函数为:
LGAN-TV=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]+λTV(G(z))其中,LGAN-TV为损失函数值,x为指纹真图,D为第二机器学习子模型,Ex~Pdata(x)为对于第二机器学习子模型损失的期望,z为输入指纹第一机器学习子模型的指纹样本图像,G(z)为第一机器学习子模型的输出的指纹模拟图像,D(G(z))为将所述指纹模拟图像输入第二机器学习子模型的处理函数,Ez~Pz(z)为对于第一机器学习子模型损失的期望,TV(G(z))为所述相邻区域的各个像素总的变化值,λ为常数项系数。
8.一种基于对抗网络的指纹模型生成装置,其特征在于,所述装置包括:
样本图像获取单元,用于获取指纹样本图像;
机器学习输出单元,用于将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型;
其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述机器学习输出单元包括:
模拟图像输出单元,用于将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
判断结果输出单元,用于将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果;
识别率计算单元,用于计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
指纹模型输出单元,用于若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的方法。

说明书全文

基于对抗网络的指纹模型生成方法以及相关装置

技术领域

[0001] 本发明涉及机器学习技术领域,特别是涉及基于对抗网络的指纹模型生成方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着技术的发展,指纹这一生物特征越来越广泛地被应用于取证、机场和智能手机等场景中。故目前对于指纹研究的相关技术越来越热,但却缺少大量的专供研究的指纹样本,而大量采集专供研究的指纹样本的难度特别的高。若要通过合成的方式生成指纹,由于每个人的指纹都具有独特的特征和模式,因此生成一个合成的逼真指纹很困难。由于缺乏指纹数据库的支持,目前合成指纹与真实指纹的相似度不高,不适合被用作研究等用途。

发明内容

[0003] 基于此,为解决相关技术中合成指纹与真实指纹的相似度不高的技术问题,本发明提供了一种基于对抗网络的指纹模型生成方法、装置、计算机设备和存储介质。
[0004] 第一方面,提供了一种基于对抗网络的指纹模型生成方法,包括:
[0005] 获取指纹样本图像;
[0006] 将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型;
[0007] 其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型包括:
[0008] 将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0009] 将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,以便所述第一机器学习子模型根据所述判断结果调整参数,使所述第一机器学习子模型输出指纹模拟图像与所述指纹样本图像更相似;
[0010] 计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
[0011] 若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
[0012] 在其中一个实施例中,所述机器学习模型如下训练出:
[0013] 将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0014] 将所述一次指纹模拟图像作为正样本,将所述指纹样本图像作为负样本,构成第一指纹图像样本集;
[0015] 将所述第一指纹图像样本集中的每一个指纹图像样本逐一输入第二机器学习子模型中进行学习,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,如果对于正样本输出不是指纹模拟图像的判断结果,或对于负样本输出是指纹模拟图像的判断结果,调整第一机器学习子模型,使第二机器学习子模型输出相反判断结果;
[0016] 将所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果输入第一机器学习子模型,使第一机器学习子模型根据所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果,调整所述第一机器学习子模型,使所述第一机器学习子模型输出的指纹模拟图像与所述指纹样本图像的相似度提升;
[0017] 计算所述第二机器学习子模型的识别率;
[0018] 若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
[0019] 在其中一个实施例中,所述指纹样本图像包括指纹真图以及指纹草图,所述获取指纹样本图像,包括:
[0020] 从指纹录入器获取或从指纹库调取指纹真图;
[0021] 从指纹录入器获取或通过绘图软件制作或自动生成指纹草图。
[0022] 在其中一个实施例中,所述指纹样本图像包括指纹真图以及指纹草图,所述获取指纹样本图像,包括:
[0023] 获取完整的指纹真图或残缺的指纹真图;
[0024] 获取全为闭合曲线的指纹草图或含有闭合曲线及非闭合曲线的指纹草图。
[0025] 在其中一个实施例中,对所述机器学习模型进行训练的方式为基于最大化损失函数的值进行训练,其中,所述最大化损失函数为:
[0026] LGAN=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]
[0027] 其中:LGAN为最大化损失函数值,x为指纹真图,D为第二机器学习子模型,Ex~Pdata(x)为对于第二机器学习子模型损失的期望,z为输入指纹第一机器学习子模型的指纹样本图像,G(z)为第一机器学习子模型的输出的指纹模拟图像,D(G(z))为将所述指纹模拟图像输入第二机器学习子模型的处理函数,Ez~Pz(z)为对于第一机器学习子模型损失的期望。
[0028] 在其中一个实施例中,所述第一机器学习子模型输出指纹模拟图像的具体步骤包括:
[0029] 获取指纹样本图像中相邻区域的像素变化值,判断所述像素变化值是否小于预设变化阈值;
[0030] 若所述像素变化值小于预设变化阈值,对所述指纹样本图像中相邻区域的像素进行调整。
[0031] 在其中一个实施例中,对所述指纹样本图像中相邻区域的像素进行调整,包括:
[0032] 获取指纹样本图像中相邻区域的各个像素的变化值;
[0033] 计算所述相邻区域的各个像素变化值的和,得出该所述相邻区域的各个像素总的变化值;
[0034] 将所述相邻区域的各个像素总的变化值反馈到像素损失函数中,对所述相邻区域的各个像素进行调整。
[0035] 其中,所述像素损失函数为:
[0036] LGAN-TV=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]+λTV(G(z))[0037] 其中,LGAN-TV为损失函数值,x为指纹真图,D为第二机器学习子模型,Ex~Pdata(x)为对于第二机器学习子模型损失的期望,z为输入指纹第一机器学习子模型的指纹样本图像,G(z)为第一机器学习子模型的输出的指纹模拟图像,D(G(z))为将所述指纹模拟图像输入第二机器学习子模型的处理函数,Ez~Pz(z)为对于第一机器学习子模型损失的期望,TV(G(z))为所述相邻区域的各个像素总的变化值,λ为常数项系数。
[0038] 第二方面,提供了一种基于对抗网络的指纹模型生成装置,包括:
[0039] 样本图像获取单元,用于获取指纹样本图像;
[0040] 机器学习输出单元,用于将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型;
[0041] 其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述机器学习输出单元包括:
[0042] 模拟图像输出单元,用于将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0043] 判断结果输出单元,用于将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果;
[0044] 识别率计算单元,用于计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
[0045] 指纹模型输出单元,用于若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
[0046] 第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述基于对抗网络的指纹模型生成方法的步骤。
[0047] 第四方面,提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述基于对抗网络的指纹模型生成方法的步骤。
[0048] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0049] 上述基于对抗网络的指纹模型生成方法、装置、计算机设备和存储介质,通过将所述指纹样本图像输入机器学习模型,所述机器学习模型根据指纹样本图像模拟生成指纹模型并输出,其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述机器学习模型根据指纹样本图像模拟生成指纹模型并输出时,先将所述指纹样本图像输入所述第一机器学习子模型,使所述第一机器学习子模型输出指纹模拟图像,然后再将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,以便所述第一机器学习子模型根据所述判断结果调整参数,使所述第一机器学习子模型输出指纹模拟图像与所述指纹样本图像更相似,这样使得第一机器学习子模型和第二机器学习子模型的输出结果互相影响对方输出结果的准确性,形成对抗学习,使得所述机器学习模型输出的指纹模型越来越接近真实指纹图像。若所述第二机器学习子模型的识别率达到所述预定识别阈值时,证明所述机器学习模型已经训练的足够好,就将所述指纹模拟图像作为指纹模型输出。这样就可以在缺乏指纹数据库时合成与真实指纹的相似度较高的指纹模型。
[0050] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明
[0051] 图1是根据一示例性实施例示出的一种基于对抗网络的指纹模型生成方法的流程图
[0052] 图2是根据图1对应实施例示出的基于对抗网络的指纹模型生成方法中步骤S120的一种具体实现流程图。
[0053] 图3是根据图1对应实施例示出的基于对抗网络的指纹模型生成方法中机器学习模型训练实现的一种具体实现流程图。
[0054] 图4是根据一示例性实施例示出的一种基于对抗网络的指纹模型生成装置的框图
[0055] 图5示意性示出一种用于实现上述基于对抗网络的指纹模型生成方法的电子设备示例框图。
[0056] 图6示意性示出一种用于实现上述基于对抗网络的指纹模型生成方法的计算机可读存储介质。

具体实施方式

[0057] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0058] 如图1所示,在一个实施例中,提出了一种基于对抗网络的指纹模型生成方法,该基于对抗网络的指纹模型生成方法可以应用于指纹生成设备中,具体可以包括以下步骤:
[0059] 步骤S110,获取指纹样本图像;
[0060] 在其中一个实施例中,所述指纹样本图像包括指纹真图以及指纹草图,步骤S110可以包括:
[0061] 获取完整的指纹真图或残缺的指纹真图;
[0062] 获取全为闭合曲线的指纹草图或含有闭合曲线及非闭合曲线的指纹草图。
[0063] 其中所述指纹真图为真实的指纹样本,所述指纹草图为初步模拟的指纹图。将初步模拟的指纹图输入机器学习模型,使机器学习模型以初步模拟的指纹图为基础相比于直接从空白画面生成指纹模型,将会更好更快生成指纹模型。其中,在获取指纹样本图像时,可以先获取完整的指纹真图或残缺的指纹真图,再获取全为闭合曲线的指纹草图或含有闭合曲线及非闭合曲线的指纹草图;也可以先获取全为闭合曲线的指纹草图或含有闭合曲线及非闭合曲线的指纹草图,再获取完整的指纹真图或残缺的指纹真图;还可以是同时获取指纹真图和指纹草图,本发明在此不做限定。
[0064] 在其中一个实施例中,所述指纹样本图像包括指纹真图以及指纹草图,步骤S110可以包括:
[0065] 从指纹录入器获取或从指纹库调取指纹真图;
[0066] 从指纹录入器获取或通过绘图软件制作或自动生成指纹草图。
[0067] 在采集指纹的过程中,采集到部分指纹可能是不完整的。此时,就需要基于残缺不完整的指纹部分图,模拟还原出完整的指纹图。所以将残缺的指纹真图作为样本输入指纹生成器,可以促使指纹生成器学习到指纹还原的能
[0068] 步骤S120,将所述指纹样本图像输入机器学习模型,所述机器学习模型输出生成的指纹模型。
[0069] 图2是根据图1对应实施例示出的基于对抗网络的指纹模型生成方法中步骤S120的细节描述,该基于对抗网络的指纹模型生成方法中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,步骤S120可以包括以下步骤:
[0070] 步骤S121,将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0071] 其中,所述指纹模拟图像指基于指纹样本图像,根据指纹样本图像的特征分布,模拟生成的指纹图像。
[0072] 步骤S122,将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,以便所述第一机器学习子模型根据所述判断结果调整参数,使所述第一机器学习子模型输出指纹模拟图像与所述指纹样本图像更相似;
[0073] 步骤S123,计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
[0074] 步骤S124,若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
[0075] 在其中一个实施例中,所述机器学习模型的训练方法可以是:将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像,然后将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,并以此来训练第二机器学习子模型,当所述第二机器学习子模型对所述指纹模拟图像的识别率达到第一预设阈值时,停止训练所述第二机器学习子模型。在这个过程中提高了第二机器学习子模型对指纹模拟图像的判断能力。这样,当所述第二机器学习子模型对所述指纹模拟图像的识别率达到第一预设阈值时后,第二机器学习子模型对指纹模拟图像的判断准确性就达到了较高的程度。
[0076] 然后继续将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型将输出的判断结果反馈给第一机器学习子模型,第一机器学习子模型可以根据该反馈信息调整自身模型参数,提高输出的指纹模拟图像与指纹样本图像的相似度。第二机器学习子模型不断地将识别信息反馈给第一机器学习子模型,第一机器学习子模型不断的调整自身模型参数,这个时候第二机器学习子模型对指纹模拟图像的识别率随着指纹模拟图像与指纹样本图像的相似度的增高而降低。当所述第一机器学习子模型输出的指纹模拟图像被所述第二机器学习子模型识别的识别率降低到第二预设阈值时,停止训练所述第一机器学习子模型。此时,指纹模拟图像与指纹样本图像的相似度达到一个较高的平。
[0077] 此时,继续将所述指纹模拟图像输入所述第二机器学习子模型,依次循环所述对所诉指纹第二机器学习子模型进行训练和所述对所述第一机器学习子模型进行训练的过程,直至所述第二机器学习子模型对所述第一机器学习子模型输出的指纹模拟图像的识别率降低为预定识别阈值且无法进一步提高时,整个训练过程结束,得到指纹模型。
[0078] 这样通过第一机器学习子模型与第二机器学习子模型组成对抗网络后互相之间的对抗学习,使得第一机器学习子模型输出的指纹模拟图像与指纹样本图像的相似度以及第二机器学习子模型判断的正确率在对抗学习中不断由于对方的提高而逐渐提高,直至到达一个较高的水平。
[0079] 在其中一个实施例中,如图3所示,所述机器学习模型如下训练出:
[0080] 步骤S101,将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0081] 步骤S102,将所述一次指纹模拟图像作为正样本,将所述指纹样本图像作为负样本,构成第一指纹图像样本集;
[0082] 步骤S103,将所述第一指纹图像样本集中的每一个指纹图像样本逐一输入第二机器学习子模型中进行学习,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果,如果对于正样本输出不是指纹模拟图像的判断结果,或对于负样本输出是指纹模拟图像的判断结果,调整第一机器学习子模型,使第二机器学习子模型输出相反判断结果;
[0083] 步骤S104,将所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果输入第一机器学习子模型,使第一机器学习子模型根据所述第二机器学习子模型输出的是否为指纹模拟图像的判断结果,调整所述第一机器学习子模型,使所述第一机器学习子模型输出的指纹模拟图像与所述指纹样本图像的相似度提升;
[0084] 步骤S105,计算所述第二机器学习子模型的识别率;
[0085] 步骤S106,若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为生成的指纹模型输出。
[0086] 在其中一个实施例中,对所述机器学习模型进行训练的方式为基于最大化损失函数的值进行训练,其中,所述损失函数为:
[0087] LGAN=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]
[0088] 其中:LGAN为损失函数值,x为指纹真图,D为第二机器学习子模型,EX~Pdata(x)为对于第二机器学习子模型损失的期望,z为输入指纹第一机器学习子模型的指纹样本图像,G(z)为第一机器学习子模型的输出的指纹模拟图像,D(G(z)))为将所述指纹模拟图像输入第二机器学习子模型的处理函数,Ez~Pz(z)为对于第一机器学习子模型损失的期望。
[0089] 其中,损失函数是指:衡量由模型所得数据与实际数据的差异程度的函数,即是用来评价模型好坏的函数。在这里指,用来衡量指纹生成器生成的指纹拟图与真实的指纹真图之间的差异程度。如果用指纹生成器进行计算判断该差异程度,得出该差异程度(损失函数值)越小,说明指纹生成器生成的指纹拟图与真实的指纹真图之间的相似度越高,因此是基于最小化损失函数的值对所述指纹生成器进行训练。
[0090] 在其中一个实施例中,所述第一机器学习子模型输出指纹模拟图像的具体步骤可以包括:
[0091] 获取指纹样本图像中相邻区域的像素变化值,判断所述像素变化值是否小于预设变化阈值;
[0092] 若所述像素变化值小于预设变化阈值,对所述指纹样本图像中相邻区域的像素进行调整。
[0093] 若指纹样本图像中相邻区域的像素变化量较大,则说明该指纹样本图像中相邻区域的像素间是不流畅的。通过计算指纹样本图像中相邻区域像素间变化量的大小,对该区域的像素进行微调,从而使得图像保持流畅。具体地是将该变化值与预设变化阈值进行比较,如果该变化值大于预设变化阈值,则说明该区域像素是不连续的,因此需要调整。
[0094] 在其中一个实施例中,可以通过获取指纹样本图像中相邻区域的各个像素的变化值,计算各个像素变化值的和,得出该相邻区域各像素总的变化值,并将该各像素总的变化值反馈到损失函数中,从而对该相邻区域的各像素进行调整,指纹生成器生成更加流畅的指纹图像。
[0095] 其中,基于一维的度计算各像素变化值及各像素变化值的和时,所述相邻区域各所述像素变化值的和为:
[0096]
[0097] 所述将所述相邻区域各所述像素变化值的和添加至所述损失函数为:
[0098] LGAN-TV=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]+λTV(G(z))[0099] 其中,yn+1-yn表示相邻两个像素的变化值, 表示该相邻区域内所有的相邻两个像素变化值的总和,λ为常数项系数。
[0100] 其中,基于二维的角度计算各像素变化值及该相邻区域内所有像素变化值的和时,所述相邻区域各所述像素变化值的和为:
[0101]
[0102] 所述将所述相邻区域各所述像素变化值的和添加至所述损失函数为:
[0103] LGAN-TV=Ex~Pdata(x)[log D(x)+Ez~Pz(z)[log(1-D(G(z)))]+λTV(G(z))[0104] 其中,yi+1,j-yi,j表示二维平面中i方向上相邻两个像素的变化值,yi,j+1-yi,j表示二维平面中j方向上相邻两个像素的变化值,|yi+1,j-yi,j|+|yi,j+1-yi,j|表示二维平面上相邻两个像素的i、j两个方向上像素变化值的绝对值的和,∑i,j|yi+1,j-yi,j|+|yi,j+1-yi,j|表示相邻区域中所有的相邻的两个像素的i、j两个方向上像素变化值的绝对值的和的总和,λ为常数项系数。
[0105] 这样从横纵两个方向评估像素间的变化值,优化后的指纹模拟图像在各个角度上更加的流畅。
[0106] 在其中一个实施例中,所述机器学习模型输出指纹模型时的公式为:
[0107] G*=arg minGmaxDLGAN
[0108] 其中:式中:G*表示第一机器学习子模型,minG表示最小化第一机器学习子模型,maxD就是最大化第二机器学习子模型,LGAN表示损失函数。
[0109] 如图4所示,在一个实施例中,提供了一种基于对抗网络的指纹模型生成装置,该基于对抗网络的指纹模型生成装置可以集成于上述的指纹生成设备中,具体可以包括样本图像获取单元110以及机器学习输出单元120。
[0110] 样本图像获取单元110,用于获取指纹样本图像;
[0111] 机器学习输出单元120,用于将所述指纹样本图像输入机器学习模型,所述机器学习模型输出指纹模型;
[0112] 其中,所述机器学习模型包括第一机器学习子模型和第二机器学习子模型,所述机器学习输出单元120包括:
[0113] 模拟图像输出单元121,用于将所述指纹样本图像输入所述第一机器学习子模型,所述第一机器学习子模型输出指纹模拟图像;
[0114] 判断结果输出单元122,用于将所述指纹模拟图像输入所述第二机器学习子模型,所述第二机器学习子模型输出是否为指纹模拟图像的判断结果;
[0115] 识别率计算单元123,用于计算所述第二机器学习子模型的识别率,其中,所述识别率包括所述第二机器学习子模型对于正样本输出是指纹模拟图像的判断结果以及对于负样本输出不是指纹模拟图像的判断结果占所述第二机器学习子模型输出的所有判断结果的比例;
[0116] 指纹模型输出单元124,用于若所述第二机器学习子模型的识别率达到所述预定识别阈值时,将所述指纹模拟图像作为指纹模型输出。
[0117] 上述装置中各个模的功能和作用的实现过程具体详见上述基于对抗网络的指纹模型生成方法中对应步骤的实现过程,在此不再赘述。
[0118] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0119] 此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0120] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0121] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0122] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0123] 下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0124] 如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
[0125] 其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图1中所示的步骤S110,获取指纹样本图像。步骤S120,将所述指纹样本图像输入机器学习模型,所述机器学习模型输出指纹模型。
[0126] 存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
[0127] 存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0128] 总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0129] 电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0130] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0131] 在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0132] 参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0133] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0134] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0135] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0136] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0137] 此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0138] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0139] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈