人脸转换模型训练方法、装置、设备及介质与流程

文档序号:22737803发布日期:2020-10-31 09:17阅读:123来源:国知局
人脸转换模型训练方法、装置、设备及介质与流程

本发明涉及数字图像处理技术领域,尤其涉及一种人脸转换模型训练方法、装置、设备及介质。



背景技术:

人脸转换是计算机视觉领域中一个比较热门的应用,人脸转换一般可以用于视频合成、提供隐私服务、肖像更换或者其他有创新性的应用。

目前,人工智能(artificialintelligence,ai)技术在人脸转换上的应用得到了广泛的关注。其中,基于深度换脸(deepfake)原理,通过训练神经网络模型实现点对点式人脸转换,即,仅能训练神经模型从a转换为b,其中,a和b是不会发生改变的。若a或b发生了改变,神经网络模型就需要重新进行训练学习。

因此,点对点式人脸转换在处理多个不同人脸的时候,处理速度慢,效率低。



技术实现要素:

本发明实施例提供了一种人脸转换模型训练方法、装置、设备及介质,能够基于多个不同人物的人脸图像对人脸转换神经网络进行训练,进而能够得到人脸转换模型,该人脸转换模型能够提高人脸转换的处理速度。

第一方面,本发明实施例提供了一种人脸转换模型训练方法,方法包括:

获取人脸图像集;所述人脸图像集包括多个不同人物的人脸图像;

执行下述迭代操作:

s101,在所述人脸图像集中随机选取一个人脸图像输入至预设的人脸转换神经网络中,提取特征向量,执行s102;

s102,基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,执行s103;

s103,计算与所述换脸图像和所述目标人脸图像的损失值,执行s104;

s104,判断所述损失值是否达到预设条件;若是,则执行s107;若否,则执行s105;

s105,基于损失值调整所述人脸转换神经网络的参数,执行s106;

s106,在剩余的人脸图像中随机选取一个人脸图像,输入至调整过参数的人脸转换神经网络中,提取特征向量,执行s102;

s107,生成人脸转换模型;其中所述预设的人脸转换神经网络由通用编码器和多个解码器构成。

根据本发明实施例的提供的人脸转换模型训练方法,所述人脸转换神经网络中保存有多个解码器;

所述基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,包括:

将所述特征向量分别输入至解码器中;

基于每一个所述解码器中保存的目标人脸图像和所述特征向量,生成多个换脸图像;其中,每一个解码器中保存的目标人脸图像为不同目标人物的人脸图像。

根据本发明实施例的提供的人脸转换模型训练方法,所述人脸转换神经网络中保存有多个解码器;所述换脸图像与所述解码器一一对应;

所述计算与所述换脸图像和所述目标人脸图像的损失值,包括:

针对每一个解码器,计算该解码器对应的换脸图像与该解码器中保存的目标人脸图像的损失值。

根据本发明实施例的提供的人脸转换模型训练方法,所述人脸转换神经网络包括通用编码器;

所述基于损失值调整所述人脸转换神经网络的参数,包括:

计算得到每一个所述解码器得到的损失值后,使用所述损失值调整该损失值对应的解码器参数,并基于每一个所述解码器得到的损失值调整所述通用编码器参数。

根据本发明实施例的提供的人脸转换模型训练方法,所述人脸转换神经网络设计有多个损失函数;

所述损失函数至少包括生成对抗式网络损失函数(generativeadversarialnetsloss,ganloss)、一点绝对损失函数l1loss、视觉几何组损失函数(visualgeometrygrouploss,vggloss)。

根据本发明实施例的提供的人脸转换模型训练方法,所述计算与所述换脸图像和所述目标人脸图像的损失值,包括:

使用所述ganloss判断所述换脸图像与所述目标人脸图像是否一致;

使用所述l1loss对所述换脸图像与所述目标人脸图像进行逐像素做差后,对所得到的差值进行求和;

使用所述vggloss对所述换脸图像和所述目标人脸图像进行对比。

根据本发明实施例的提供的人脸转换模型训练方法,所述基于损失值调整所述人脸转换神经网络的参数,包括:

依次根据所述多个损失函数得到的损失值,调整所述人脸转换神经网络的参数。

第二方面,本发明实施例提供了一种人脸转换模型训练装置,装置包括:

获取模块,用于获取人脸图像集;所述人脸图像集包括多个不同人物的人脸图像;

迭代模块,用于执行下述迭代操作:

s101,在所述人脸图像集中随机选取一个人脸图像输入至预设的人脸转换神经网络中,提取特征向量,执行s102;

s102,基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,执行s103;

s103,计算与所述换脸图像和所述目标人脸图像的损失值,执行s104;

s104,判断所述损失值是否达到预设条件;若是,则执行s107;若否,则执行s105;

s105,基于损失值调整所述人脸转换神经网络的参数,执行s106;

s106,在剩余的人脸图像中随机选取一个人脸图像,输入至调整过参数的人脸转换神经网络中,提取特征向量,执行s102;

s107,生成人脸转换模型;其中所述预设的人脸转换神经网络由通用编码器和多个解码器构成。

第三方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7任一项所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如第一方面的方法。

本发明实施例提供的人脸转换模型训练方法、装置、设备及介质,通过将人脸图像依次输入至人脸转换神经网络中,能够得到换脸图像,基于换脸图像和人脸转换神经网络中保存的目标人脸图像之间的损失值,调整人脸转换神经网络的参数,并将调整后的人脸转换神经网络用于下一张人脸图像的转换中,如此迭代,直至损失值是否达到预设条件,生成人脸转换模型,本发明实施例基于多个不同人物的人脸图像对人脸转换神经网络进行训练,进而能够得到人脸转换模型,该人脸转换模型能够提高人脸转换的处理速度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一些实施例提供的一种人脸转换模型训练方法流程图;

图2示出了根据本发明一些实施例提供的一种人脸转换模型训练装置的结构图;

图3示出了根据本发明一些实施例提供的一种人脸转换模型训练设备的结构图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

参见图1所述,本发明实施例提供了一种人脸转换模型训练方法,包括:

s100:获取人脸图像集;所述人脸图像集包括多个不同人物的人脸图像。

在具体实施的时候,人脸图像集中每一张人脸图像作为替换图像,而人脸转换神经网络中保存的目标人脸图像是指被替换图像。在这里,获取的人脸图像集中包括的是多个不同人物的人脸图像。

将人脸图像集中不同人物的人脸图像依次输入至预设的人脸转换神经网络中,其中,人脸转换神经网络包括通用编码器和解码器,通用编码器用来提取人脸图像的特征,进而得到人脸图像的特征向量。通用编码器中保存有目标人脸图像,能够基于特征向量以及目标人脸图像进行特征融合,进而得到换脸图像。在这里,采用多个不同人物的人脸图像,使得通用编码器在训练结束后,能够应用于转换不同人物的人脸图像中,而不是仅仅局限于只适用于一个人的人脸转换。

执行下述迭代操作:

s101,在所述人脸图像集中随机选取一个人脸图像输入至预设的人脸转换神经网络中,提取特征向量,执行s102。

在具体实施的时候,人脸图像集中的人脸图像可以是人物的拍摄图像,例如,证件照、生活照等。可以在人脸图像集中随机选取一张人脸图像作为人脸转换神经网络的输入,并提取人脸图像中人脸的特征,如,人脸的表情、脸型和姿态,其中,人脸的姿态可以是人脸在图像中所处的角度,例如,人物的左右转头姿态、上下抬头姿态和人物在平面内的歪头姿态。

此外,也可以将人脸图像集作为一个序列输入至人脸神经网络中。

在这里,预设的人脸转换神经网络是由通用编码器和多个解码器构成的,其中,通用编码器是指在模型训练结束后,该通用编码器能够适用于多个不同人物的人脸图像的特征提取,进而实现训练完成后的人脸转换模型能够将多个不同人物的人脸图像换到其他人的人脸上,而不是分别训练不同人物的人脸图像所需要的编码器。

s102,基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,执行s103。

在具体实施的时候,将特征向量与目标人脸图像进行糅合,则能够得到换脸图像,例如,提取到a某的特征向量,目标人物图像为b某,则能够得到a某的人脸换至b某人脸的换脸图像。此外,人脸转换神经网络中可以包括有多个解码器,每一个解码器对应保存有一个目标人脸图像。

具体地,人脸转换神经网络中保存有多个解码器;

所述基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,包括:

将所述特征向量分别输入至解码器中;

基于每一个所述解码器中保存的目标人脸图像和所述特征向量,生成多个换脸图像;其中,每一个解码器中保存的目标人脸图像为不同目标人物的人脸图像。

在具体实施的时候,为了能够实现不同的人脸图像通过本发明实施例中训练得到的人脸转换模型转换成不同的目标人物的换脸图像,在本发明实施例的模型训练过程中,可以设置多个解码器,每一个解码器中都保存有不同的目标人物的目标人脸图像。当提取到一个人的特征向量后,将这个人的人脸图像分别输入至每一个解码器中,得到多个换脸图像,例如,目标人脸图像为甲某、乙某、丙某的人脸图像,而输入的人脸图像为a某的人脸图像,则将a某的特征向量分别输入至甲某、乙某、丙某对应的解码器中,分别得到a某换至甲某的换脸图像、a某换至乙某的换脸图像、a某换至丙某的换脸图像。

s103,计算与所述换脸图像和所述目标人脸图像的损失值,执行s104。

在具体实施的时候,得到换脸图像后,使用损失函数计算换脸图像与目标人脸图像的损失值。

具体地,人脸转换神经网络中保存有多个解码器;所述换脸图像与所述解码器一一对应;

所述计算与所述换脸图像和所述目标人脸图像的损失值,包括:

针对每一个解码器,计算该解码器对应的换脸图像与该解码器中保存的目标人脸图像的损失值。

在具体实施的时候,当得到人脸图像的特征向量后,每一个解码器都会对应输出一个换脸图像,即,换脸图像是与解码器一一对应的,因此,在计算损失值的时候,换脸图像要与对应的解码器中的目标人脸图像来计算损失函数。

为了能够更好地将神经网络的参数调整,每一个解码器都可以对应设置有多个损失函数。

具体地,人脸转换神经网络设计有多个损失函数;

所述损失函数至少包括生成对抗式网络损失函数ganloss、一点绝对损失函数l1loss、视觉几何组损失函数vggloss。

在具体实施的时候,一个解码器设置有多个损失函数,例如,ganloss、l1loss、vggloss。对于一个解码器来说,使用所述ganloss判断所述换脸图像与所述目标人脸图像是否一致,根据由ganloss得到的损失值来调整解码器的参数以及通用编码器的参数;使用所述l1loss对所述换脸图像与所述目标人脸图像进行逐像素做差后,对所得到的差值进行求和,由l1loss得到的损失值来调整解码器的参数以及通用编码器的参数;使用所述vggloss对所述换脸图像和所述目标人脸图像进行对比,由vggloss得到的损失值来调整解码器的参数以及通用编码器的参数。此外,除了调整通用编码器和解码器的参数以外,还会根据各个损失值来调整每一个损失函数的权重。

s104,判断所述损失值是否达到预设条件;若是,则执行s107;若否,则执行s105。

在具体实施的时候,预设条件可以是观察计算得到的损失值是否逐渐趋近于零,在每一轮训练的时候,计算得到的损失值越来越趋近于0,则人脸转换神经网络的训练越成功。也可以将预设条件设置为损失值为0,当计算得到的损失值为0,则可以将该人脸转换神经网络作为人脸转换模型。

s105,基于损失值调整所述人脸转换神经网络的参数,执行s106。

在具体实施的时候,基于损失值调整人脸转换神经网络的参数,其中参数可以包括:人脸转换神经网络的层数以及感受野。

s106,在剩余的人脸图像中随机选取一个人脸图像,输入至调整过参数的人脸转换神经网络中,提取特征向量,执行s102。

在具体实施的时候,人脸图像集中的每一个人脸图像都会进行上述s102-s105实施方式进行实施。

s107,生成人脸转换模型。

示例:

人脸图像集为{a、b、c、d···},人脸转换神经网络中包括有多个解码器,分别对应的目标人脸图像为甲、乙、丙,每一个解码器都对应设置有多个损失函数,包括ganloss、l1loss、vggloss。使用人脸转换神经网络提取a的特征向量,将a的特征向量输入至甲、乙、丙分别对应的解码器中,甲对应的解码器输出ganloss对应损失值、l1loss对应的损失值、vggloss对应的损失值,使用这三个损失值调整解码器的参数以及通用编码器的参数,也即调整人脸转换神经网络的参数。使用调整过参数的人脸转换神经网络提取b的特征向量,将b的特征向量输入至甲、乙、丙分别对应的解码器中,甲对应的解码器输出ganloss对应损失值、l1loss对应的损失值、vggloss对应的损失值,使用这三个损失值调整解码器的参数以及通用编码器的参数,也即再次调整了人脸转换神经网络的参数。使用再次调整过参数的人脸转换神经网络的参数提取c的特征向量,将c的特征向量输入至甲、乙、丙分别对应的解码器中,甲对应的解码器输出ganloss对应损失值、l1loss对应的损失值、vggloss对应的损失值,使用这三个损失值调整解码器的参数以及通用编码器的参数,依次类推,直至观察到各个损失函数的损失值无限接近于0。

在应用上述人脸转换神经网络的时候,将多个不同人物的人脸图像输入至本发明实施例中训练好的人脸转换模型中,就能够得到对多个不同人物的换脸图像,无需针对每一个人单独训练一个模型才能与他人进行换脸。

本发明实施例提供的人脸转换模型训练方法,通过将人脸图像依次输入至人脸转换神经网络中,能够得到换脸图像,基于换脸图像和人脸转换神经网络中保存的目标人脸图像之间的损失值,调整人脸转换神经网络的参数,并将调整后的人脸转换神经网络用于下一张人脸图像的转换中,如此迭代,直至损失值是否达到预设条件,生成人脸转换模型,本发明实施例基于多个不同人物的人脸图像对人脸转换神经网络进行训练,进而能够得到人脸转换模型,该人脸转换模型能够提高人脸转换的处理速度。

参见图2所示,本发明实施例提供了一种人脸转换模型训练装置,装置包括:

获取模块,用于获取人脸图像集;所述人脸图像集包括多个不同人物的人脸图像;

迭代模块,用于执行下述迭代操作:

s101,在所述人脸图像集中随机选取一个人脸图像输入至预设的人脸转换神经网络中,提取特征向量,执行s102;

s102,基于所述特征向量和所述人脸转换神经网络中保存的目标人脸图像,生成换脸图像,执行s103;

s103,计算与所述换脸图像和所述目标人脸图像的损失值,执行s104;

s104,判断所述损失值是否达到预设条件;若是,则执行s107;若否,则执行s105;

s105,基于损失值调整所述人脸转换神经网络的参数,执行s106;

s106,在剩余的人脸图像中随机选取一个人脸图像,输入至调整过参数的人脸转换神经网络中,提取特征向量,执行s102;

s107,生成人脸转换模型。

另外,结合图1描述的本发明实施例的人脸转换模型训练方法可以由人脸转换模型训练设备来实现。图3示出了本发明实施例提供的人脸转换模型训练设备的硬件结构示意图。

人脸转换模型训练设备可以包括处理器301以及存储有计算机程序指令的存储器302。

具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在数据处理装置的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种人脸转换模型训练方法。

在一个示例中,人脸转换模型训练设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。

通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线310包括硬件、软件或两者,将人脸转换模型训练设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的人脸转换模型训练方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种人脸转换模型训练方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1