脸部变换方法、装置、设备、存储介质以及产品

文档序号:1847509 发布日期:2021-11-16 浏览:14次 >En<

阅读说明:本技术 脸部变换方法、装置、设备、存储介质以及产品 (Face transformation method, device, equipment, storage medium and product ) 是由 颜剑锋 于 2021-08-17 设计创作,主要内容包括:本公开提供了脸部变换方法、装置、设备、存储介质以及产品,涉及人工智能技术领域,具体为计算机视觉和深度学习技术领域,可应用于人脸识别等场景。具体实现方案为:确定源脸部图像以及目标脸部图像;将所述源脸部图像的面部器官替换为所述目标脸部图像中的面部器官,获得面部器官图像;提取所述源脸部图像的脸部区域与所述目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;根据所述脸型距离信息,对所述面部器官图像中的脸型按照所述源脸部图像的脸型进行调整处理,获得目标换脸图像。本公开的技术方案提高了人脸变换精度。(The disclosure provides a face transformation method, a face transformation device, face transformation equipment, a storage medium and a face transformation product, relates to the technical field of artificial intelligence, in particular to the technical field of computer vision and deep learning, and can be applied to scenes such as face recognition. The specific implementation scheme is as follows: determining a source face image and a target face image; replacing the facial organs of the source facial image with the facial organs in the target facial image to obtain a facial organ image; extracting distance data between the face region of the source face image and the face region of the target face image to obtain face distance information; and according to the face shape distance information, adjusting the face shape in the facial organ image according to the face shape of the source face image to obtain a target face changing image. The technical scheme of the face transformation method and the face transformation device improves face transformation precision.)

脸部变换方法、装置、设备、存储介质以及产品

技术领域

本公开涉及人工智能技术领域,具体为计算机视觉和深度学习技术领域,可应用于人脸识别等场景,尤其涉及一种脸部变换方法、装置、设备、存储介质以及产品。

背景技术

在广告、影视、娱乐等场景中,人脸图像的替换应用越来越广泛。例如,在娱乐场景中时长为10分钟的卡通视频,为了提高趣味性,可以将卡通视频中卡通人物的脸替换为源图像的人脸。由于视频由多张图像构成,在替换视频中的人脸时,需要将视频中每一张目标图像进行人脸替换。现有的换脸实现效果不够准确。

发明内容

本公开提供了一种脸部变换方法、装置、设备、存储介质以及产品。

根据本公开的第一方面,提供了一种脸部变换方法,包括:

确定源脸部图像以及目标脸部图像;

将所述源脸部图像的面部器官替换为所述目标脸部图像中的面部器官,获得面部器官图像;

提取所述源脸部图像的脸部区域与所述目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;

根据所述脸型距离信息,对所述面部器官图像中的脸型按照所述源脸部图像的脸型进行调整处理,获得目标换脸图像。

根据本公开的第二方面,提供了一种脸部变换装置,包括:

图像确定单元,用于确定源脸部图像以及目标脸部图像;

器官替换单元,用于将所述源脸部图像的面部器官替换为所述目标脸部图像中的面部器官,获得面部器官图像;

距离提取单元,用于提取所述源脸部图像的脸部区域与所述目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;

脸型调整单元,用于根据所述脸型距离信息,对所述面部器官图像中的脸型按照所述源脸部图像的脸型进行调整处理,获得目标换脸图像。

根据本公开的第三方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。

根据本公开的第四方面,提供了存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。

根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。

根据本公开的技术解决了仅将源图像的面部器官替换为目标图像的面部器官,导致脸部替换不够准确的问题,通过计算源脸部图像与目标脸部图像的脸型差距,获得脸型距离信息,进而利用脸型距离信息对面部器官替换后的图像进行脸型调整,获得目标换脸图像。获得的目标换脸图像与源脸部图像的脸型更匹配,提高了换脸的准确度及精度。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开提供的脸部变换方法的网络架构图;

图2是根据本公开第一实施例提供的脸部变换方法的流程示意图;

图3是根据本公开第二实施例提供的脸部变换方法的流程示意图;

图4是根据本公开提供的脸型距离信息的图形示意图;

图5是根据本公开提供的关键点的图形示意图;

图6是根据本公开第三实施例提供的脸部变换方法的流程示意图;

图7是根据本公开提供的掩码图像的示意图;

图8是根据本公开第四实施例提供的脸部变换方法的流程示意图;

图9是根据本公开提供的脸部变换方法的应用示意图;

图10是根据本公开第五实施例提供的脸部变换装置的结构示意图;

图11是用来实现本公开实施例的脸部变换方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本公开的技术方案可以适用于任何需要脸型变换的场景中,特别是人工智能技术领域,具体为计算机视觉和深度学习技术领域,可应用于人脸识别等场景,通过脸部距离信息对脸部变换进行有效约束,可以实现视频中的脸部自动变换,提高脸部变换效率以及精度。

现有技术中,脸部变换领域多为采用面部器官变换,例如常见的基于GAN(Generative Adversarial Nets,生成对抗网络)算法的脸部变换方法即是一种面部器官直接替换。人脸融合方案,将源图像中的人脸替换为目标图像中的人脸。通常,GAN算法可以使用一个标识编码器提取源图像的图像标识信息,也即ID信息,可以包括眼睛的形状、嘴巴和眼睛之间的距离、嘴巴的弯曲程序等信息。同时,利用属性提取器提取目标图像的图像属性信息,例如人脸的姿势、轮廓、面部表情、发型、肤色、场景照明等信息。之后,将源图像的图像标识信息以及目标图像的图像属性信息输入到换脸模型,例如AAD(AdaptiveAttention Denormalization Generator,自适应非规范化生成器)生成器,将源图像中的面部器官替换为目标图像的面部器官,以获得目标图像对应的换脸图像。针对视频中的任一目标图像均可以实现面部器官的替换。但是,现有的GAN算法的换脸方案,仅能将目标图像中的面部器官,例如人脸五官进行替换,换脸的效果不佳,准确度不高。

为了解决上述技术问题,发明人经研究发现,现有的换脸方案中,换脸效果不高是因为忽略了脸型的影响,实际获得的换脸图像的脸部脸型仍然为目标图像中的原始脸型,与源图像中的脸部脸型相比差距较大,这就导致了换脸不够准确,效果不佳。

据此,发明人提出了本公开的技术方案。本公开实施例中,确定源脸部图像以及目标脸部图像之后,可以将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像,完成面部器官的初步变换。然后提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;从而根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。利用脸型距离信息对面部器官替换后的图像进行脸型调整,获得目标换脸图像。获得的目标换脸图像与源脸部的脸型更匹配,提高了换脸的准确度。

本公开提供一种脸部变换方法、装置、设备、存储介质以及产品,应用于人工智能技术中的计算机视觉和深度学习技术领域,可以应用于脸部识别等场景下,以达到准确实现脸部变换的技术效果。

下面将结合附图对本公开的技术方案进行详细介绍。

图1是根据本公开提供的用于图像或者视频的脸部变换方法的一个应用的网络架构图。如图1所示,该网络架构中可以包括一个电子设备,例如服务器1以及一个与服务器1通过局域网或者广域网进行网络连接的用户设备2,假设该用户设备为个人计算机2。该电子设备例如可以为普通服务器,云服务器等类型的服务器、或者计算机、笔记本、超级计算机等设备,本公开中对电子设备的具体类型并不作出过多限定。用户设备2例如可以为计算机、笔记本、平板电脑、可穿戴设备、智能家电、车载设备等终端设备,本公开实施例中对用户设备的具体类型并不作出过多限定。用户设备2可以提供图像至服务器1。服务器1可以利用以下实施例所示的脸部变换方法对图像进行脸部变换,获得目标换脸图像。然后将目标换脸图像反馈给用户设备2。

如图2所示,为本公开第一实施例提供的一种脸部变换方法的流程图,如图2所示,本申请提供的脸部变换方法的执行主体为脸部变换装置,该脸部变换装置位于电子设备中,则实施例提供的脸部变换方法可以包括以下几个步骤:

201:确定源脸部图像以及目标脸部图像。

源脸部图像可以为初始源图像中脸部区域对应的图像。目标脸部图像可以为初始目标图像中脸部区域对应的图像。

初始源图像可以为提供替换面部器官的图像,初始目标图像可以为被替换面部器官的图像。初始目标图像中的脸被替换为初始目标图像的脸型,初始目标图像中除脸部之外的背景区域并不发生替换。

202:将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像。

其中,面部器官可以为眉毛、眼睛、耳朵、口、鼻中的至少一个。

将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像可以包括:将源脸部图像显示的所有面部器官替换为目标脸部图像的面部器官。在一些特殊场景中,源脸部图像中可能并未显示耳朵,则面部器官替换时,可以将源脸部图像中的眉毛、眼睛、口以及鼻子替换为目标脸部图像的面部器官。

203:提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息。

脸型距离信息可以为源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据。脸部区域可以为脸部轮廓所包含的图像区域。

脸型距离信息可以为源脸部图像的脸部区域中多个像素点位置与目标脸部图像的脸部区域中多个像素点位置之间的距离,脸型距离信息包括像素点之间的位置距离。

204:根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。

根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像具体可以包括:将面部器官图像中的脸型按照脸型距离信息进行脸型调整,以使得面部器官图像的脸型与源脸部图像的脸型更匹配,获得目标换脸图像。

本实施例中,确定源脸部图像以及目标脸部图像之后,可以将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像,完成面部器官的初步变换。然后提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;从而根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。利用脸型距离信息对面部器官替换后的图像进行脸型调整,获得目标换脸图像。获得的目标换脸图像与源脸部的脸型更匹配,提高了换脸的准确度。

为了提取到准确的脸型距离信息,参考图3,在上述实施例中,步骤203:提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息,可以包括:

301:将源脸部图像以及目标脸部图像划分为至少一个图像组。

其中,任一个图像组包含源脸部图像的第一区域图像以及目标脸部图像的第二区域图像。第一区域图像与第二区域图像的脸部区域位置相同。

至少一个图像组中分别对应的第一区域图像按照各自的区域位置组进行组合可以构成源脸部图像的脸部区域。

至少一个图像组中分别对应的第二区域图像按照各自的区域位置进行组合可以构成目标脸部图像的脸部区域。

其中,脸部区域可以为脸部轮廓所包含的图像区域。

302:对任一个图像组,计算图像组中第一区域图像与第二区域图像的像素点距离,获得该图像组对应的像素点距离,以获得至少一个图像组分别对应的像素点距离。

任一个图像组对应的像素点距离可以为该图像组的第一区域图像中所有像素点与第二区域图像中所有像素点之间的位置距离,具体可以由多个位置距离构成。

303:将至少一个图像组各自的像素点距离按照各自的脸部区域位置进行距离融合,获得脸型距离信息。

脸型距离信息可以为至少一个图像组各自的像素点距离按照各自的脸部区域位置进行距离融合获得,具体可以将至少一个图像组各自的多个位置距离按照各自的脸部区域位置进行拼接,以组合形成脸部区域的多个位置距离。

可选地,脸型距离信息可以为多个位置距离对应的数据流(flow),为了便于理解,以图形形式展示脸型距离信息时,具体可以参考图4所示的脸型距离信息401的示意图。

根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像具体可以是,对面部器官图像中所有像素点,利用脸型距离信息对应的多个位置距离进行像素点差值处理,获得目标换脸图像。

本实施例中,计算源脸部图像与目标脸部图像之间的距离时,可以将图像进行分区,以分别计算不同区域的之间的距离,并将各区域的像素点距离进行融合,获得最终的脸型距离信息。以像素点为单位进行距离计算,可以对图像之间的距离进行准确计算,提高了距离的计算精度。

为了提高图像组的划分效率,在上述实施例中,步骤301:将源脸部图像以及目标脸部图像划分为至少一个图像组可以包括:

提取源脸部图像中脸部区域对应第一关键点以及目标脸部图像中脸部区域对应第二关键点。

基于第一关键点以及第二关键点分别进行三角网络生成,获得第一关键点对应第一三角网络以及第二关键点对应第二三角网络。

将源脸部图像按照第一三角网络划分为至少一个第一区域图像。

将目标脸部图像按照第二三角网络划分为至少一个第二区域图像。

根据第一三角网络以及第二三角网络的网格对应关系,将至少一个第一区域图像以及至少一个第二区域图像划分为至少一个图像组。

可选地,可以采用关键点模型分别提取源脸部图像的第一关键点,以及目标脸部图像的第二关键点。源脸部图像与目标脸部图像的关键点提取方式相同。

第一关键点可以包括多个,第二关键点可以包括多个。在实际应用中,可以对提取到的每个关键点进行编号,使得第一关键点以及第二关键点的关键点位置对应关系更明确。假设提取的第一关键点为150个,第二关键点也为150个,可以采用相同的编码方式,为每个第一关键点以及第二关键点设置编号。例如,鼻尖所在关键点的编号在第一关键点以及第二关键点中的编号均可以为57。

为了便于理解,图5示出了本公开提供的一种图像的关键点的示意图,参考图5,使用的人脸图像为模拟的人脸图像,在实际应用中,可以为真实的人脸图像,图5仅是为了说明人脸图像的关键点的位置所在,并不应构成对本公开的人脸图像的具体限制。在实际应用中,可以为每个关键点设置相应的标识,如图5中对部分关键点设置的编号:1-6,图5并未对所有关键点均设置编号,可以理解的是,在实际应用中,所有关键点均可以设置相应的编号,在此不再一一设置。

在生成第一关键点的第一三角网络以及第二关键点对应第二三角网络时,均可以采用预定的三角网络生成规则生成。例如,三角网络生成规则中可以规定存在连接关系两个关键点,参考图5,预定的三角网络生成规则可以规定编号为关键点1与关键点2以及关键点6存在连接关系,关键点2与关键点1、关键点6存在连接关系,此外,关键点6还与关键点5、关键点3存在连接关系,关键点3与关键点4连接,关键点4与关键点5连接。三个关键点中两两关键点之间均存在连接关系的,可以认为这三个关键点可以构成一个三角区域。例如,关键点1、关键点6以及关键点2即可以构成一个三角区域201。任一个三角网络可以由至少一个三角区域构成。当然,图5中所示连接关系仅是示意性的,图中并未示出所有关键点的连接关系,在实际应用中,任一脸部图像的所有关键点均可以处于三角网络中,以形成可以覆盖整个脸部区域的三角网络。

其中,每个三角形网络可以包括至少一个三角区域。

将源脸部图像按照第一三角网络划分为至少一个第一区域图像具体可以包括:将源脸部图像按照第一三角网络对应至少一个第一三角区域,分别进行区域图像的提取,获得至少一个第一三角区域分别对应的第一区域图像,以获得至少一个第一区域图像。

将目标脸部图像按照第一三角网络划分为至少一个第二区域图像具体可以包括:将目标脸部图像按照第二三角网络对应至少一个第二三角区域,分别进行区域图像的提取,获得至少一个第二三角区域分别对应的第二区域图像,以获得至少一个第二区域图像。

可选地,由于每个三角区域的关键点连接方式以及相对人脸的位置是预置的,因此,可以为每个三角区域设置相应的网格编号。在利用三角网络进行区域图像的划分之后,可以将每个三角区域的网格编号设置为对应的区域图像的网格编号。此时,根据第一三角网络以及第二三角网络的网格对应关系,将至少一个第一区域图像以及至少一个第二区域图像划分为至少一个图像组可以包括:根据第一三角网络中至少一个第一三角区域各自的网格编号,确定至少一个第一区域图像各自的网格编号;根据第二三角网络中至少一个第二三角区域各自的网格编号,确定至少一个第二区域图像各自的网格编号;将网格编号相同的第一区域图像以及第二区域图像划分到同一个图像组中,以获得至少一个图像组。其中,至少一个图像组的数量与三角网络中三角区域的数量相等。任一个区域图像的网格编号为该区域图像对应三角区域的网格编号。

在实际应用中,除采用上述编号设置方式进行图像组划分之外,还可以采用最近邻距离划分等机器学习算法进行图像组的划分,其划分方式与现有技术相同,为了描述简洁性考虑,在此不再赘述。

本实施例中,按照提取关键点,并利用关键点构建三角形网络的方式,将人脸图像进行了区域划分,实现脸部图像的准确划分,以利用各个三角区域的位置,将源脸部图像的区域图像以及目标脸部图像的区域图像划分至同一个图像组中,以便于对同样位置的网格对应区域图像进行距离计算,实现区域图像的准确距离计算,获得的像素点距离更准确。

在一种可能的设计中,为了对像素点距离进行准确计算,在上述实施例中利用三角形网络进行图像区域划分,以进行区域图像的分组之后,在计算像素点距离时,其中,针对任一个图像组,计算第一区域图像与第二区域图像之间的像素点距离,获得图像组对应的像素点距离,可以通过以下步骤实现:

针对任一个图像组,确定图像组中第一区域图像对应三角区域的第一子关键点以及图像组中第二区域图像对应三角区域的第二子关键点。

计算第一子关键点与第二子关键点的位置距离矩阵。

利用位置距离矩阵,将第一区域图像中多个第一像素点各自的像素位置映射为多个映射位置。

计算多个映射位置与第二区域图像多个第二像素点各自的像素位置之间的位置差值,获得图像组对应的像素点距离。

第一子关键点可以为第一关键点中构成第一区域图像对应三角区域的关键点。同样,第二子关键点可以为第二关键点中构成第二区域图像对应三角区域的关键点。例如,图5中的三角区域501对应第一子关键点为关键点1、关键点2以及关键点6,也即该三角区域501的三个顶点。

位置距离矩阵可以通过第一子关键点与第二子关键点的转换矩阵。假设位置距离矩阵使用W表示,第一子关键点使用D1以及第二子关键点使用D2表示,则可以通过矩阵转换公式:W*D1=D2,计算转换矩阵W,也即位置距离矩阵。

利用位置距离矩阵,将第一区域图像中的多个第一像素点各自的像素位置,映射为多个映射位置可以包括:确定第一区域图像种多个第一像素点各自的像素位置对应的矩阵为G1,计算第一区域图像对应矩阵G1与位置距离矩阵W的矩阵乘积,获得映射矩阵Y构成的多个映射位置。转换公式可以为W*G1=Y。

假设第二区域图像的多个第二像素点各自的像素位置构成的矩阵为G2,则像素点距离可以通过计算G1与G2之间的距离获得。G1与G2之间的像素点距离可以通过距离计算公式计算获得。例如,赫夫曼距离公式、1范数距离公式、2范数距离公式等距离公式等,在此不再一一赘述。

通常,目标脸部图像的脸型对脸型变换也有一定的影响,可以采用目标脸部图像的掩码图像,对脸型变换的过程进行约束,以实现脸部的准确变换。如图6所示,为根据本公开第三实施例提供的一种脸部变换方法的又一个流程图,该方法可以包括以下几个步骤:

601:确定源脸部图像以及目标脸部图像。

本实施例中部分步骤与前述实施例中部分步骤相同,为了描述的简洁性,关于各相同步骤的具体实施方式以及技术效果在此不再一一赘述。

602:确定目标脸部图像中脸部区域信息以及面部器官区域信息。

603:根据脸部区域信息以及面部器官区域信息,生成目标脸部图像的目标掩码图像。

目标掩码图像可以根据脸部区域信息以及面部器官区域信息生成。

作为一种可能的实现方式,可以将目标脸部图像中的脸部区域中出五官区域的其他区域对应的像素点设置脸部标识。将目标脸部图像中的器官区域对应的像素点按照各自的器官名称设置器官标识。例如,眼睛区域的像素点可以设置标1,鼻子区域的像素点可以设置为标识2,眉毛区域的像素点设置为3,嘴巴区域的像素点可以设置为4,耳朵区域的像素点可以设置为5,脸部区域中除器官区域之外的其他区域对应的像素点设置为6。脸部区域信息即可以为标识为6的像素点位置信息,面部器官区域信息即可以为各个器官的像素点标识对应的位置信息。

目标掩码图像可以为小于脸部区域信息以及大于面部器官区域信息的任一图像区域对应的二值图像。如图7所示,即为一张掩码图像的示意图,该掩码图像中脸部区域为701。

604:将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像。

605:提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息。

606:基于脸型距离信息以及目标掩码图像,对面部器官图像的脸型按照源脸部图像的脸型进行处理,获得目标换脸图像。

目标换脸图像可以根据脸型距离信息以及目标掩码图像对面部器官图像进行图像处理获得。

本实施例中,在对脸型进行变换时,使用了目标脸部图像的目标掩码图像,以对目标脸部图像的脸型按照脸型距离信息进行准确调整,实现脸型的精确调整。

在实际利用目标掩码图像以及脸型距离信息进行调整时,可以采用仿射变换方式进行调整。上述实施例中,步骤606:基于脸型距离信息以及目标掩码图像,对面部器官图像的脸型按照源脸部图像的脸型进行处理,获得目标换脸图像,具体可以包括:

基于目标掩码图像对面部器官图像进行脸型校准计算,获得中间图像。

利用脸型距离信息对中间图像进行仿射变换计算,获得目标换脸图像。

其中,基于目标掩码图像对面部器官图像进行脸型校准计算,获得中间图像可以包括:将目标掩码图像、面部器官图像以及目标脸部图像输入脸型校准公式,获得中间图像。脸型校准公式可以表示为:

Gimg*mask+Xt*(1-mask)

其中,Gimg为面部器官图像、mask为目标掩码图像、Xt为目标脸部图像。该公式计算获得的结果即可以为中间图像。

利用脸型距离信息对中间图像进行仿射变换计算,获得目标换脸图像可以包括:将脸型距离信息以及中间图像输入仿射变换公式,计算获得目标换脸图像。仿射变换公式可以表示为:

result=warp(Gimg*mask+Xt*(1-mask),flow)

其中,flow为脸型距离信息,result为目标换脸图像。

本实施例中,采用仿射变换方式对脸型进行调整计算,实现脸型的准确变换,提高变换效率以及变换准确度。

上述实施例中的面部器官替换步骤,将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像,可以包括:

基于预设多个特征提取器,提取源脸部图像的多个图像特征信息。

其中,多个特征提取器的提取方式不同。

特征提取器可以为对源脸部图像的标识特征进行提取的数学模型。标识特征可以为能够标识源脸部图像的脸部特殊特征,以使得可以用于区分不同源脸部图像的特征,也可以称为图像ID(Identity document,标识)特征。多个特征提取器例如可以包括:arcface(Additive angular margin loss for deep face recognition,基于改进损失函数的深度人脸识别),cosface(Large Margin Cosine Loss for Deep Face Recognition,基于大幅度余弦损失函数的深度人脸识别),baiduface(百度人脸识别),SphereFace(DeepHypersphere Embedding for Face Recognition,基于深度球面嵌入的人脸识别)等特征提取器中的多个。例如,可以取其中的3个特征提取器,以提取3个图像特征信息。

基于预设属性提取器,提取目标脸部图像的图像属性信息。

将多个图像特征信息和图像属性信息同时输入换脸模型,以将目标脸部图像中的面部器官替换为源脸部图像的面部器官,获得面部器官图像。

本实施例中,采用提取方式不同的多个特征提取器提取源脸部图像的多个图像特征信息,实现多种特征信息的提取,以使得源脸部图像的特征信息更全面,获得准确度更高的器官变换效果。

上述实施例中的源脸部图像以及目标脸部图像可以是脸部姿态校正后的图像。参考图8,本根据本公开的脸部变换方法中,确定源脸部图像以及目标脸部图像的具体实现步骤可以包括:

801:获取待替换的初始源图像以及初始目标图像。

在一种可能的设计中,初始源图像以及初始目标图像可以由发起脸部变换的目标用户提供。具体可以响应于目标用户触发的脸部变换请求,获得目标用户提供的初始源图像以及初始目标图像。

在又一种可能的设计中,初始目标图像可以为视频中的图像,具体可以确定视频中的某一存在目标人脸的图像为目标图像,以确定该视频中的所有目标图像,进而将视频中所有目标图像分别作为初始目标图像,将源初始图像的人脸替换所有初始目标图像中的人脸,完成视频的人脸替换。

802:提取初始源图像的脸部区域对应第一脸部图像以及初始目标图像的脸部区域对应第二脸部图像。

可选地,提取初始源图像的脸部区域对应第一脸部图像以及初始目标图像的脸部区域对应第二脸部图像可以包括:

根据脸部识别算法,提取初始源图像的脸部矩形区域对应的第一脸部图像,以及初始目标图像的脸部矩形区域对应的第二脸部图像。

脸部识别算法可以为现有的人脸识别算法等。

803:对第一脸部图像进行脸部姿态校正,获得初始源图像对应的源脸部图像。

804:对第二脸部图像进行脸部姿态校正,获得初始目标图像对应的目标脸部图像。

本实施例中,通过对初始源图像以及初始目标图像进行脸部区域提取以及脸部姿态校正之后,获得姿态校正后的源脸部图像以及源目标图像,对后续图像变换提供变换基础,进行校正后的源脸部图像以及源目标图像的变换效果更高。

在实际应用中,若用户提供的初始源图像即为脸部区域的图像,初始目标图像也为脸部区域的图像,则不需要再对初始源图像以及初始目标图像进行脸部区域的提取,可以直接确定初始源图像为第一脸部图像以及初始源图像为第二脸部图像。

在实际应用中,若用户提供的初始源图像除脸部区域之外,还包括其他的区域的图像,例如,身体部位的图像和/或环境区域的图像,可以将除脸部区域的其他区域的图像称为背景图像。也即,初始源图像可以划分为第一脸部图像以及第一背景图像,初始目标图像可以划分为第一脸部图像以及第二背景图像。

在前述实施例的基础上,获取到目标换脸图像之后,还可以将目标换脸图像还原为第二脸部图像的脸部姿态,获得目标姿态图像,然后将目标姿态图像与第二背景图像拼接形成最终的目标图像。

其中,将目标换脸图像还原为第二脸部图像的脸部姿态,获得目标姿态图像可以包括:根据第二变换矩阵的逆矩阵,对目标换脸图像进行矩阵转换,获得目标姿态图像。

作为一个实施例,上述步骤802:对第一脸部图像进行脸部姿态校正,获得初始源图像对应的源脸部图像,可以包括:

基于预置标准脸部图像,对第一脸部图像进行脸部姿态校正,获得初始源图像对应源脸部图像。

其中,标准脸部图像中的脸部所在二维平面与水平面夹角为直角。

上述步骤803:对第二脸部图像进行脸部姿态校正,获得目标初始图像对应的目标脸部图像,可以包括:

基于标准脸部图像,对第二脸部图像进行脸部姿态校正,获得初始目标图像对应目标脸部图像。

标准脸部图像可以预先设置获得。标准脸部图像的人脸姿态正常,具体可以是脸部所在二维平面与水平面夹角为直角。标准脸部图像中两只眼睛的中心点连接以形成第一线段,该第一线段的中点与鼻尖点连接形成第二线段。第一线段与第二线段垂直。

本实施例中,通过标准脸部图像对第一脸部图像以及第二脸部图像进行脸部姿态校正,实现脸部姿态的准确校正,使得脸部校正与标准脸部图像的姿态相匹配,姿态校正更有效,准确度更高。

在一种可能的设计中,基于预置标准脸部图像,对第一脸部图像进行脸部姿态校正,获得初始源图像对应源脸部图像可以包括:

提取第一脸部图像的第三关键点,以及确定标准脸部图像的标准关键点。

根据第三关键点以及标准关键点,计算第一变换矩阵。

利用第一变换矩阵对第一脸部图像进行矩阵校准计算,获得源脸部图像。

可选地,可以采用关键点模型分别提取第一脸部图像的第三关键点,以及第二脸部图像的第四关键点。第一脸部图像与第二脸部图像的关键点提取方式相同。第三关键点可以包括多个,第四关键点可以包括多个。

其中,根据第三关键点以及标准关键点,计算第一变换矩阵可以包括:根据第三关键点通过第一变换矩阵进行矩阵计算,获得标准关键点的矩阵转换原理,确定第一变换矩阵。第一变换矩阵可以为标准关键点的位置矩阵与第三关键点的位置矩阵的逆矩阵的乘积。

本实施例中,通过第一变换矩阵对第一脸部图像进行姿态校正,实现图像的准确姿态校正,获得的源脸部图像更准确。

在又一种可能的设计中,基于标准脸部图像,对第二脸部图像进行脸部姿态校正,获得初始目标图像对应目标脸部图像,可以包括:

提取第二脸部图像的第四关键点,以及确定标准脸部图像的标准关键点。

根据第四关键点以及标准关键点,计算第二变换矩阵。

利用第二变换矩阵对第二脸部图像进行矩阵校准计算,获得目标脸部图像。

其中,根据第四关键点以及标准关键点,计算第二变换矩阵可以包括:根据第四关键点通过第二变换矩阵进行矩阵计算,获得标准关键点的矩阵转换原理,确定第二变换矩阵。第二变换矩阵可以为标准关键点的位置矩阵与第四关键点的位置矩阵的逆矩阵的乘积。

本实施例中,通过第二变换矩阵对第二脸部图像进行姿态校正,实现图像的准确姿态校正,获得的目标脸部图像更准确。

为了便于理解,如图9所示,为根据本公开提供的脸部变换方法实现的一种脸部变换的应用示意图。用户可以通过用户设备,例如平板电脑M1将源脸部图像901以及目标脸部图像902输入至配置有脸部变换装置的电子设备,例如云服务器M2中。该脸部变换装置可以实现本公开的脸部变换方法。

该电子设备M2可以通过执行本公开实施例的脸部变换方法,也即:将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像。提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息。以及根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。获得的目标换脸图像可以如903所示。目标换脸图像903与源脸部图像901的脸型匹配度有了很大提升,换脸精度更高。

本实施例中,通过第二变换矩阵对第二脸部图像进行姿态校正,实现图像的准确姿态校正,获得的目标脸部图像更准确。

如图10所示,为根据本公开第四实施例提供的一种脸部变换装置1000的一个实施例的结构示意图,该装置可以包括以下几个单元:

图像确定单元1001:用于确定源脸部图像以及目标脸部图像。

器官替换单元1002:用于将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像。

距离提取单元1003:用于提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息。

脸型调整单元1004:用于根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。

本实施例中,确定源脸部图像以及目标脸部图像之后,可以将源脸部图像的面部器官替换为目标脸部图像中的面部器官,获得面部器官图像,完成面部器官的初步变换。然后提取源脸部图像的脸部区域与目标脸部图像的脸部区域之间的距离数据,获得脸型距离信息;从而根据脸型距离信息,对面部器官图像中的脸型按照源脸部图像的脸型进行调整处理,获得目标换脸图像。利用脸型距离信息对面部器官替换后的图像进行脸型调整,获得目标换脸图像。获得的目标换脸图像与源脸部的脸型更匹配,提高了换脸的准确度。

作为一个实施例,其中,距离提取单元,包括:

第一划分模块,用于将源脸部图像以及目标脸部图像划分为至少一个图像组;其中,任一个图像组包含源脸部图像的第一区域图像以及目标脸部图像的第二区域图像;第一区域图像与第二区域图像的脸部区域位置相同;

距离计算模块,用于针对任一个图像组,计算图像组中第一区域图像与第二区域图像的像素点距离,获得图像组对应的像素点距离,以获得至少一个图像组分别对应的像素点距离;

距离融合模块,用于将至少一个图像组各自的像素点距离按照各自的脸部区域进行距离融合,获得脸型距离信息。

在一种可能的设计中,其中,第一划分模块,包括:

第一确定子模块,用于提取源脸部图像中脸部区域对应第一关键点以及目标脸部图像中脸部区域对应第二关键点;

网络生成子模块,用于基于第一关键点以及第二关键点分别进行三角网络生成,获得第一关键点对应的第一三角网络以及第二关键点对应的第二三角网络;

第一划分子模块,用于将源脸部图像按照第一三角网络划分为至少一个第一区域图像;

第二划分子模块,用于将目标脸部图像按照第二三角网络划分为至少一个第二区域图像;

区域匹配子模块,用于根据第一三角网络以及第二三角网络的网格对应关系,将至少一个第一区域图像以及至少一个第二区域图像划分为至少一个图像组。

在某些实施例中,距离计算模块,包括:

第二确定子模块,用于针对任一个图像组,确定图像组中第一区域图像对应三角区域的第一子关键点以及图像组中第二区域图像对应三角区域的第二子关键点;

距离计算子模块,用于计算第一子关键点与第二子关键点的位置距离矩阵;

位置映射子模块,用于利用位置距离矩阵,将多个第一像素点各自的像素位置映射为多个映射位置;

距离计算子模块,用于计算多个映射位置与多个第二像素点各自的像素位置之间的位置差值,获得图像组对应的像素点距离。

作为一种可能的实现方式,还包括:

区域确定单元,用于确定目标脸部图像中的脸部区域信息以及面部器官区域信息;

掩码确定单元,用于根据脸部区域信息以及面部器官区域信息,生成目标脸部图像的目标掩码图像;

脸型调整单元,包括:

第一调整模块,用于基于脸型距离信息以及目标掩码图像,对面部器官图像中的脸型按照源脸部图像的脸型进行处理,获得目标换脸图像。

在某些实施例中,其中,第一调整模块,包括:

校准计算子模块,用于基于目标掩码图像对面部器官图像进行脸型校准计算,获得中间图像;

变换计算子模块,用于利用脸型距离信息对中间图像进行仿射变换计算,获得目标换脸图像。

在一种可能的设计中,其中,面部器官替换单元,包括:

第二提取模块,用于基于预设多个特征提取器,提取源脸部图像的多个图像特征信息;其中,多个特征提取器的提取方式不同;

第三提取模块,用于基于预设属性提取器,提取目标脸部图像的图像属性信息;

标识输入模块,用于将多个图像特征信息以及图像属性信息同时输入换脸模型,以将目标脸部图像中的面部器官替换为源脸部图像的面部器官,获得面部器官图像。

作为一种可能的实现方式,其中,图像确定单元包括:

图像获取模块,用于获取待替换的初始源图像以及初始目标图像;

区域提取模块,用于提取初始源图像的脸部区域对应第一脸部图像以及初始目标图像的脸部区域对应第二脸部图像;

第一校正模块,用于对第一脸部图像进行脸部姿态校正,获得初始源图像对应的源脸部图像;

第二校正模块,用于对第二脸部图像进行脸部姿态校正,获得初始目标图像对应的目标脸部图像。

在某些实施例中,其中,第一校正模块,包括:

第一校正子模块,用于基于预置标准脸部图像,对第一脸部图像进行脸部姿态校正,获得初始源图像对应源脸部图像;其中,标准脸部图像中的脸部所在二维平面与水平面夹角为直角;

第二校正模块,包括:

第二校正子模块,用于基于标准脸部图像,对第二脸部图像进行脸部姿态校正,获得初始目标图像的目标脸部图像。

在一种可能的设计中,其中,第一校正子模块,包括:

第一提取单元,用于提取第一脸部图像的第三关键点,以及确定标准脸部图像的标准关键点;

第一计算单元,用于根据第三关键点以及标准关键点,计算第一变换矩阵;

第一获得单元,用于利用第一变换矩阵对初始源图像进行矩阵校准计算,获得源脸部图像。

在又一种可能的设计中,其中,第二校正子模块,包括:

第二提取单元,用于提取第二脸部图像的第四关键点,以及确定标准脸部图像的标准关键点;

第二计算单元,用于根据第四关键点以及标准关键点,计算第二变换矩阵;

第二获得单元,用于利用第二变换矩阵对第二脸部图像进行矩阵校准计算,获得目标脸部图像。

此外,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据本公开提供的任一实施例的方法。

以及一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的任一实施例的方法。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。

图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。

设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如脸部变换方法。例如,在一些实施例中,脸部变换方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的脸部变换方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行脸部变换方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于对抗生成网络的数据增广方法、装置、计算机及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!