人脸图像的还原方法、装置、计算机设备及存储介质与流程
未命名
07-13
阅读:76
评论:0

1.本发明涉及人工智能技术领域,特别涉及一种人脸图像的还原方法、装置、计算机设备及存储介质。
背景技术:
2.在ai人脸对比系统中,首先会基于人脸识别模型的编码器对人脸图像(如人脸证件照等)进行编码以提取人脸特征向量,基于人脸特征向量构建用于人脸对比的数据库。而在对比阶段,对于一张抓拍的人脸图像,在识别人脸后,会通过相同的人脸识别模型的编码器对抓拍的人脸图像进行编码以提取抓拍人脸图像的人脸特征向量,并基于该人脸特征向量在人脸数据库中与已存的人脸特征向量进行比对,以搜索定位到具体的人。
3.但是,目前尚未实现将人脸特征向量还原为人脸图像的技术方案。
技术实现要素:
4.有鉴于此,本发明实施例提供了一种人脸图像的还原方法,以解决现有技术中无法将人脸特征向量还原为人脸图像的技术问题。该方法包括:根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入所述图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。
5.本发明实施例还提供了一种人脸图像的还原装置,以解决现有技术中无法将人脸特征向量还原为人脸图像的技术问题。该装置包括:判断模块,用于根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;第一人脸还原模块,用于在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,第二人脸还原模块,用于在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入所述图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。
6.本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的人脸图像的还原方法,以解决现有技术中无法将人脸特征向量还原为人脸图像的技术问题。
7.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的人脸图像的还原方法的计算机程序,以解决现有技术中无法将人脸特征向量还原为人脸图像的技术问题。
8.与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:提出了先根据人脸编码模型的相关已知信息来判断人脸编码模型是黑盒还是白盒,进而在人脸编码模型为黑盒时,通过人脸图像和人脸图像通过该人脸编码模型得到的人脸编码向量构建训练数据集,来训练人脸逆编码模型,进而基于该人脸逆编码模型将第一待还原的人脸编码向量还原为人脸图像;在人脸编码模型为白盒时,根据第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化隐向量,得到优化后的隐向量,并通过图像生成模型基于优化后的隐向量生成第二待还原的人脸编码向量对应的还原人脸图像。实现了在人脸编码模型为白盒或黑盒的情况下,均可以将人脸编码向量还原为人脸图像;同时,在人脸编码模型为黑盒时,由于人脸逆编码模型是基于人脸图像和人脸图像通过人脸编码模型得到的人脸编码向量构建的训练数据集训练得到的,使得人脸逆编码模型学习了人脸编码模型将人脸图像编码为人脸编码向量的相关信息,使得基于人脸逆编码模型可以快速、准确的将人脸编码模型输出的人脸编码向量还原为人脸图像;在人脸编码模型为白盒时,根据第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化隐向量,可以使得优化后的隐向量与第二待还原的人脸编码向量更为相似或相同度更高,进而基于优化后的隐向量通过图像生成模型即可快速、便捷、准确地将人脸编码模型输出的人脸编码向量还原为人脸图像。
附图说明
9.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
10.图1是本发明实施例提供的一种人脸图像的还原方法的流程图;图2是本发明实施例提供的一种将人脸编码向量还原为人脸图像的原理示意图;图3是本发明实施例提供的一种训练人脸逆编码模型的原理示意图;图4是本发明实施例提供的一种基于人脸逆编码模型还原人脸图像的原理示意图;图5是本发明实施例提供的一种dcgan的模型架构的示意图;图6是本发明实施例提供的一种优化隐向量并基于优化后的隐向量还原人脸图像的原理示意图;图7是本发明实施例提供的一种图像生成模型基于隐向量生成人脸图像的示意图;图8是本发明实施例提供的一种计算机设备的结构框图;
图9是本发明实施例提供的一种人脸图像的还原装置的结构框图。
具体实施方式
11.下面结合附图对本技术实施例进行详细描述。
12.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
13.在本发明实施例中,提供了一种人脸图像的还原方法,如图1所示,该方法包括:步骤s101:根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;步骤s102:在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,步骤s103:在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。
14.由图1所示的流程可知,在本发明实施例中,实现了在人脸编码模型为白盒或黑盒的情况下,均可以将人脸编码向量还原为人脸图像;同时,在人脸编码模型为黑盒时,由于人脸逆编码模型是基于人脸图像和人脸图像通过人脸编码模型得到的人脸编码向量构建的训练数据集训练得到的,使得人脸逆编码模型学习了人脸编码模型将人脸图像编码为人脸编码向量的相关信息,使得基于人脸逆编码模型可以快速、准确的将人脸编码模型输出的人脸编码向量还原为人脸图像;在人脸编码模型为白盒时,根据第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化隐向量,可以使得优化后的隐向量与第二待还原的人脸编码向量更为相似或相同度更高,进而基于优化后的隐向量通过图像生成模型即可快速、便捷、准确地将人脸编码模型输出的人脸编码向量还原为人脸图像。
15.具体实施时,本技术发明人发现,目前现有技术中没有将人脸编码向量还原为人脸图像的技术方案,但是,实际生活中又存在需要将人脸编码向量还原为人脸图像的需求。为了满足该需求,本技术发明人发现,针对每个人脸识别模型的编码器(即上述人脸编码模型),对于任意该编码器生成的人脸图像的人脸编码向量,需要找到一个将该人脸编码向量映射回原人脸图像的函数f(x),如图2(在本技术的附图中以形象简图代替人脸图像,具体实施时,还原结果为具体的、真实的人脸图像)所示,通过该函数才能实现将人脸编码向量还原为人脸图像。本技术发明人经过大量研究发现,该函数具体可以是模型、向量等形式的
函数,因此,提出了上述人脸图像的还原方法,在人脸编码模型为黑盒时,通过训练人脸逆编码模型来实现将人脸编码向量还原为人脸图像;在人脸编码模型为白盒时,通过优化隐向量并基于图像生成模型来实现将人脸编码向量还原为人脸图像,以便实现可以便捷、快速、准确地还原人脸图。
16.具体实施时,在判断人脸编码模型是黑盒还是白盒的过程中,可以根据人脸编码模型的相关已知信息来判断是否可以确定人脸编码模型的架构、权重等模型相关参数,若是,则可以判断人脸编码模型为白盒;若否,则可以判断人脸编码模型为黑盒。
17.具体实施时,在人脸编码模型为黑盒时,为了实现可以便捷、准确地还原人脸图像,提出了针对每个不同的人脸编码模型训练不同的人脸逆编码模型,进而基于对应的人脸逆编码模型将人脸编码模型输出的人脸编码向量还原为人脸图像。
18.具体实施时,由于在人脸编码模型为黑盒时,无法获取人脸编码模型的模型相关信息等细节,为了提高人脸逆编码模型还原人脸图像的准确性,如图3所示,提出了利用编码器sdk(即上述人脸编码模型)构建大规模的“人脸图像-人脸编码向量”图像编码对的训练数据集,进而基于该训练数据集训练机器学习组件,以得到人脸逆编码模型。
19.具体实施时,基于人脸逆编码模型还原人脸图像的过程如图4所示,对于任意输入人脸逆编码模型的人脸编码向量(该人脸编码向量需要是构建该人脸逆编码模型的训练数据集时所用的人脸编码模型生成的),人脸逆编码模型生成该人脸编码向量还原的人脸图像。
20.具体实施时,为了进一步提高人脸逆编码模型还原人脸图像的准确性,在构建训练数据集的过程中,提出了通过平均脸图像构建训练数据集,例如,通过所述人脸编码模型得到每一张所述人脸图像的人脸编码向量;对同一人的多张所述人脸图像计算平均脸图像;根据每人的所述平均脸图像和每人的多张所述人脸图像的人脸编码向量,构建所述训练数据集,即在训练数据集中的图像编码对是同一人的一张平均脸图像对应该同一人的多张人脸图像的人脸编码向量。
21.具体实施时,在对同一人的多张所述人脸图像计算平均脸图像的过程中,可以是对多张所述人脸图像的像素求平均值,以得到一张平均脸图像。
22.具体实施时,在构建训练数据集的过程中,可以使用现有数据集(例如,可以采用ms1mv2开源数据集,其包含85,742个人的5,822,653张人脸图像)中的人脸图像构建数据集,通过现有的人脸编码模型(例如,采用开源的arcface模型作为人脸编码模型,其可以将人脸图像映射为512维的float32向量)来生成每张人脸图像的人脸编码向量,以构成数据集中的图像编码对,进而按人将数据集切分为训练数据集和测试数据集。
23.具体实施时,在训练人脸逆编码模型的过程中,为了得到性能更高的人脸逆编码模型,在本实施例中,提出了通过训练深度神经网络来得到人脸逆编码模型,例如,将所述训练数据集中的人脸编码向量作为dcgan(深度卷积生成对抗网络)模型的输入数据,将所述训练数据集中的人脸图像作为人脸编码向量的标签,来训练所述dcgan模型以得到所述人脸逆编码模型。
24.具体实施时,如图5所示,dcgan的典型模型架构是一个由转置卷积块组成的卷积网络,其以一个多维向量为输入数据集,以彩色图像为输出数据,输入数据的向量维数可以根据具体需求确定,例如,以一个100维向量(如图5所示的100z)为输入,并可以输出
64x64x3彩色图像(如图5所示的g(z))。
25.具体实施时,为了进一步提高人脸逆编码模型的性能,在图5所示的dcgan的模型架构基础上进行调整,以适配编码器的输出,并实现人脸逆编码功能。
26.dcgan的模型架构具有以下结构的重复块:转置卷积块;批归一化(batch normalization)层;relu非线性层;其中,最后一层通过 sigmoid 函数将输出数据转换到[0,1]的范围,与 rgb 图像的浮点表示相同。
[0027]
具体地,例如,上述dcgan的模型网络以人脸编码模型输出的512维人脸编码向量为输入数据,首先通过全连接层和批归一化层将输入数据转化为8192维的向量,并reshape成512
×4×
4的张量,然后通过连续四个上述转置卷积模块依次转换为256
×8×
8、128
×
16
×
16、64
×
32
×
32、32
×
64
×
64的张量,最后通过转置卷积层和sigmoid函数转换为3
×
128
×
128的rgb图像的格式。
[0028]
具体实施时,在训练人脸逆编码模型的过程中,为了进一步提高人脸逆编码模型还原人脸图像的准确性,最小化还原图像和真实图像的像素之间的差异,在本实施例中,将人脸逆编码模型的训练视为回归问题,使用图像间像素级别的距离损失作为损失函数,来鼓励模型预测图像接近真实图像的像素值。具体地,使用adam优化器和损失函数组合来训练模型,同时,尝试在输入向量上加入高斯噪声来增强鲁棒性,并在转置卷积块之间增加残差连接以避免梯度消失。例如,在所述dcgan模型的输入数据中加入高斯噪声数据,和/或,在所述dcgan模型中每两个转置卷积块之间加入残差连接,训练所述dcgan模型,并采用l1损失函数评估所述dcgan模型的训练结果指标,以得到所述人脸逆编码模型。
[0029]
具体实施时,在所述dcgan模型的输入数据中可以加入不同的高斯噪声数据,为了进一步提高人脸逆编码模型的鲁棒性,提出了在所述dcgan模型的输入数据中加入各维均值为0且方差为0.001的高斯噪声数据。
[0030]
具体实施时,在所述dcgan模型中每两个转置卷积块之间可以加入不同层数的残差连接,为了进一步提高人脸逆编码模型的还原效果,提出了在所述dcgan模型中每两个转置卷积块之间加入一层残差连接。
[0031]
具体实施时,为了验证加入不同的高斯噪声数据、采用不同损失函数、加入不同层数的残差连接对人脸逆编码模型的还原效果的影响,进行了以下多组验证实验,每组验证实验的实验配置分别如下:实验组一:l1损失函数,无高斯噪声,无残差连接。
[0032]
实验组二:l1+l2损失函数,加入512维均值为0、方差为0.005的高斯噪声,每两个转置卷积块之间加入一层残差连接。
[0033]
实验组三:l1损失函数,加入512维均值为0、方差为0.001的高斯噪声,每两个转置卷积块之间加入一层残差连接。
[0034]
实验组四:l2损失函数,无高斯噪声,每两个转置卷积块之间加入两层残差连接。
[0035]
实验组五:l1损失函数,无高斯噪声,每两个转置卷积块之间加入一层残差连接。
[0036]
将训练后的人脸逆编码模型在测试集上的loss作为评价训练效果的指标,结果表
明实验组三训练得到的人脸逆编码模型在测试集上的loss最小,因此,采用实验组三的配置进行人脸逆编码模型的训练。训练完成后,人脸逆编码模型能够将人脸编码模型输出的人脸编码向量作为输入数据,并将其准确地转换回由人脸编码向量所代表的人物的照片(即还原为人脸图像)。
[0037]
具体实施时,经过对上述人脸逆编码模型的还原效果进行验证,从验证结果可以看出,上述人脸逆编码模型具有一定的泛化能力,能够还原原始人脸图像的人脸特征,还原的人脸图像可以被识别为与原始人脸图像是同一个人,说明上述人脸逆编码模型可以准确地还原人脸图像。
[0038]
具体实施时,在人脸编码模型为白盒时,由于可以已知人脸编码模型的结构、权重等模型相关信息,因此无需训练模型来还原人脸图像,只需对于一张人脸图像的人脸编码向量进行针对性的还原。在还原人脸图像过程中需要面临很多技术问题,例如:1. 人脸编码向量中人脸特征高度抽象,损失了细节信息;2. 解空间是一张人脸图像,维度高,难优化,3.还原结果为逆推的人脸图像,逆推的人脸图像细节信息更多,五官特征需要和目标人脸图像更像。为了提高还原人脸图像的效率、准确性,提出了借助一个图像生成模型和隐向量来完成人脸图像的还原,将表示人脸隐特征的隐向量作为优化对象,人脸隐特征维度低,易于优化,通过每个第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数分别优化一个隐向量,使得优化后的隐向量与该第二待还原的人脸编码向量的更相似或更像,进而基于优化后的隐向量通过图像生成模型即可生成该第二待还原的人脸编码向量对应的还原人脸图像。
[0039]
具体实施时,如图6所示,针对每个需要还原的人脸编码向量通过以下步骤实现基于图像生成模型和隐向量来实现人脸图像的还原:首先,随机初始化一个隐向量,并利用图像生成模型基于隐向量生成人脸图像(即图6的迭代中的人脸图像);然后通过已知的人脸识别模型的编码器(即上述人脸编码模型)对生成的人脸图像进行编码,得到人脸编码向量,并计算得到的人脸编码向量与原始人脸编码向量(即原始人脸图像经人脸编码模型生成的待还原的人脸编码向量)的loss(损失),将损失、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数反向传播到隐向量,并更新隐向量的参数,反复迭代这一个过程若干个epoch(如图6所示迭代50-100轮来优化隐向量,该迭代次数可以根据具体迭代效果或具体精度要求确定),将优化后的隐向量输入图像生成模型,生成原始人脸编码向量对应的还原人脸图像,即完成了人脸还原操作。
[0040]
具体实施时,迭代优化隐向量的过程,通过以下步骤实现:以所述隐向量为当前隐向量,循环执行以下步骤进行迭代优化过程,将进行预设次数的迭代优化过程后当前隐向量作为所述优化后的隐向量:通过所述图像生成模型生成当前隐向量的当前人脸图像;通过所述人脸编码模型生成所述当前人脸图像的当前人脸编码向量;计算所述当前人脸编码向量与所述第二待还原的人脸编码向量之间的损失;将所述损失、所述人脸编码模型的模型相关参数以及所述图像生成模型的模型相关参数,反向传播到当前隐向量并更新当前隐向量的参数,将更新参数后的当前隐向量作为新的当前隐向量。
[0041]
具体实施时,可以通过以下步骤实施迭代优化隐向量的过程:
已知某人脸识别模型对一张人脸图像输出人脸编码向量,该人脸编码向量为待还原的人脸编码向量;初始化一个隐向量,如图7所示,通过图像生成模型基于隐向量生成人脸图像;将生成的人脸图像通过人脸识别模型的编码器得到编码向量,编码向量的维度与人脸编码向量相同;计算编码向量与人脸编码向量的loss值(即上述损失,如均方误差),经过人脸识别模型和图像生成模型将loss值反向传播回隐向量,更新隐向量到;反复上述迭代过程若干epoch(例如,迭代50-100轮),得到最终优化后的隐向量,将最终得到的隐向量通过图像生成模型(即图7中的生成器)得到的人脸图像作为还原的人脸图像。
[0042]
具体实施时,经过对上述通过图像生成模型和隐向量还原人脸图像的方法进行效果验证,使用了与黑盒方案时采用相同的arcface模型作为人脸编码模型对原始人脸图像进行编码,得到人脸编码向量,并通过图像生成模型和隐向量还原人脸图像的方法将人脸编码向量还原为人脸图像,还原的人脸图像结果表明,白盒场景下由于可以获取人脸编码模型的模型相关参数等细节信息,使得优化后的隐向量与待还原的人脸编码向量更相似,因此,基于优化后的隐向量可以得到更佳的还原人脸图像的效果,即还原的人脸图像与原始人脸图像高度相似,差异较小。同时,将黑盒方案与白盒方案的验证结果对比可知,白盒场景下基于图像生成模型和隐向量还原的人脸图像相对于黑盒场景下基于人脸逆编码模型还原的人脸图像效果更佳。
[0043]
在本实施例中,提供了一种计算机设备,如图8所示,包括存储器801、处理器802及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的人脸图像的还原方法。
[0044]
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
[0045]
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的人脸图像的还原方法的计算机程序。
[0046]
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0047]
基于同一发明构思,本发明实施例中还提供了一种人脸图像的还原装置,如下面的实施例所述。由于人脸图像的还原装置解决问题的原理与人脸图像的还原方法相似,因此人脸图像的还原装置的实施可以参见人脸图像的还原方法的实施,重复之处不再赘述。
以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0048]
图9是本发明实施例的人脸图像的还原装置的一种结构框图,如图9所示,该装置包括:判断模块901,用于根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;第一人脸还原模块902,用于在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,第二人脸还原模块903,用于在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入所述图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。
[0049]
在一个实施例中,第一人脸还原模块,包括:图像处理模块,用于通过所述人脸编码模型得到每一张所述人脸图像的人脸编码向量;对同一人的多张所述人脸图像计算平均脸图像;根据每人的所述平均脸图像和每人的多张所述人脸图像的人脸编码向量,构建所述训练数据集。
[0050]
在一个实施例中,第一人脸还原模块,包括:模型训练模块,用于将所述训练数据集中的人脸编码向量作为dcgan模型的输入数据,将所述训练数据集中的人脸图像作为人脸编码向量的标签,来训练所述dcgan模型以得到所述人脸逆编码模型。
[0051]
在一个实施例中,模型训练模块,还用于在所述dcgan模型的输入数据中加入高斯噪声数据,和/或,在所述dcgan模型中每两个转置卷积块之间加入残差连接,训练所述dcgan模型,并采用l1损失函数评估所述dcgan模型的训练结果指标,以得到所述人脸逆编码模型。
[0052]
在一个实施例中,模型训练模块,还用于在所述dcgan模型的输入数据中加入各维均值为0且方差为0.001的高斯噪声数据。
[0053]
在一个实施例中,模型训练模块,还用于在所述dcgan模型中每两个转置卷积块之间加入一层残差连接。
[0054]
在一个实施例中,第二人脸还原模块,用于以所述隐向量为当前隐向量,循环执行以下步骤进行迭代优化过程,将进行预设次数的迭代优化过程后当前隐向量作为所述优化后的隐向量:通过所述图像生成模型生成当前隐向量的当前人脸图像;通过所述人脸编码模型生成所述当前人脸图像的当前人脸编码向量;计算所述当前人脸编码向量与所述第二待还原的人脸编码向量之间的损失;将所述损失、所述人脸编码模型的模型相关参数以及所述图像生成模型的模型相关参数,反向传播到当前隐向量并更新当前隐向量的参数,将更新参数后的当前隐向量作为新的当前隐向量。
[0055]
本发明实施例实现了如下技术效果:实现了在人脸编码模型为白盒或黑盒的情况
下,均可以将人脸编码向量还原为人脸图像;同时,在人脸编码模型为黑盒时,由于人脸逆编码模型是基于人脸图像和人脸图像通过人脸编码模型得到的人脸编码向量构建的训练数据集训练得到的,使得人脸逆编码模型学习了人脸编码模型将人脸图像编码为人脸编码向量的相关信息,使得基于人脸逆编码模型可以快速、准确的将人脸编码模型输出的人脸编码向量还原为人脸图像;在人脸编码模型为白盒时,根据第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化隐向量,可以使得优化后的隐向量与第二待还原的人脸编码向量更为相似或相同度更高,进而基于优化后的隐向量通过图像生成模型即可快速、便捷、准确地将人脸编码模型输出的人脸编码向量还原为人脸图像。
[0056]
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
[0057]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种人脸图像的还原方法,其特征在于,包括:根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入所述图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。2.如权利要求1所述的人脸图像的还原方法,其特征在于,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,包括:通过所述人脸编码模型得到每一张所述人脸图像的人脸编码向量;对同一人的多张所述人脸图像计算平均脸图像;根据每人的所述平均脸图像和每人的多张所述人脸图像的人脸编码向量,构建所述训练数据集。3.如权利要求1所述的人脸图像的还原方法,其特征在于,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,包括:将所述训练数据集中的人脸编码向量作为dcgan模型的输入数据,将所述训练数据集中的人脸图像作为人脸编码向量的标签,来训练所述dcgan模型以得到所述人脸逆编码模型。4.如权利要求3所述的人脸图像的还原方法,其特征在于,训练所述dcgan模型以得到所述人脸逆编码模型,包括:在所述dcgan模型的输入数据中加入高斯噪声数据,和/或,在所述dcgan模型中每两个转置卷积块之间加入残差连接,训练所述dcgan模型,并采用l1损失函数评估所述dcgan模型的训练结果指标,以得到所述人脸逆编码模型。5.如权利要求4所述的人脸图像的还原方法,其特征在于,在所述dcgan模型的输入数据中加入高斯噪声数据,包括:在所述dcgan模型的输入数据中加入各维均值为0且方差为0.001的高斯噪声数据。6.如权利要求4所述的人脸图像的还原方法,其特征在于,在所述dcgan模型中每两个转置卷积块之间加入残差连接,包括:在所述dcgan模型中每两个转置卷积块之间加入一层残差连接。7.如权利要求1至6中任一项所述的人脸图像的还原方法,其特征在于,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,包括:以所述隐向量为当前隐向量,循环执行以下步骤进行迭代优化过程,将进行预设次数的迭代优化过程后当前隐向量作为所述优化后的隐向量:通过所述图像生成模型生成当前隐向量的当前人脸图像;通过所述人脸编码模型生成所述当前人脸图像的当前人脸编码向量;
计算所述当前人脸编码向量与所述第二待还原的人脸编码向量之间的损失;将所述损失、所述人脸编码模型的模型相关参数以及所述图像生成模型的模型相关参数,反向传播到当前隐向量并更新当前隐向量的参数,将更新参数后的当前隐向量作为新的当前隐向量。8.一种人脸图像的还原装置,其特征在于,包括:判断模块,用于根据人脸编码模型的相关已知信息,判断所述人脸编码模型是黑盒还是白盒;第一人脸还原模块,用于在所述人脸编码模型为黑盒时,根据人脸图像和所述人脸图像通过所述人脸编码模型得到的人脸编码向量构建训练数据集,采用所述训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入所述人脸逆编码模型,得到所述第一待还原的人脸编码向量对应的还原人脸图像;和/或,第二人脸还原模块,用于在所述人脸编码模型为白盒时,设置隐向量,根据第二待还原的人脸编码向量、所述人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化所述隐向量,得到优化后的隐向量,将优化后的隐向量输入所述图像生成模型,得到所述第二待还原的人脸编码向量对应的还原人脸图像。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的人脸图像的还原方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7中任一项所述的人脸图像的还原方法的计算机程序。
技术总结
本发明实施例提供了一种人脸图像的还原方法、装置、计算机设备及存储介质,涉及人工智能技术领域,其中,该方法包括:在人脸编码模型为黑盒时,根据人脸图像和通过人脸编码模型得到的人脸编码向量构建训练数据集,采用训练数据集训练机器学习组件得到人脸逆编码模型,将第一待还原的人脸编码向量输入人脸逆编码模型,得到第一待还原的人脸编码向量对应的还原人脸图像;在人脸编码模型为白盒时,根据第二待还原的人脸编码向量、人脸编码模型的模型相关参数以及图像生成模型的模型相关参数优化隐向量,将优化后的隐向量输入图像生成模型,得到第二待还原的人脸编码向量对应的还原人脸图像。该方案可以便捷、准确地将人脸编码向量还原为人脸图像。量还原为人脸图像。量还原为人脸图像。
技术研发人员:请求不公布姓名
受保护的技术使用者:北京瑞莱智慧科技有限公司
技术研发日:2023.06.08
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/