CN115546011A - 图像处理方法、装置、计算机设备和存储介质 - Google Patents

图像处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115546011A
CN115546011A CN202211228395.1A CN202211228395A CN115546011A CN 115546011 A CN115546011 A CN 115546011A CN 202211228395 A CN202211228395 A CN 202211228395A CN 115546011 A CN115546011 A CN 115546011A
Authority
CN
China
Prior art keywords
image
face image
face
original
hair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211228395.1A
Other languages
English (en)
Inventor
景逸飞
刘洛麒
刘挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Meitu Technology Co Ltd
Original Assignee
Xiamen Meitu Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Meitu Technology Co Ltd filed Critical Xiamen Meitu Technology Co Ltd
Priority to CN202211228395.1A priority Critical patent/CN115546011A/zh
Publication of CN115546011A publication Critical patent/CN115546011A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • G06T3/147Transformations for image registration, e.g. adjusting or mapping for alignment of images using affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种图像处理方法、装置、计算机设备和存储介质。方法包括:利用原始面部图像对第一面部图像以及对应的第一毛发图像进行对齐处理,得到第二面部图像以及对应的第二毛发图像;从多个第二面部图像中确定与原始面部图像匹配的第二面部图像,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像;将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;已训练的图像生成网络具有生成真实的面部图像的功能;基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,直到图像差异值小于差异阈值,将候选面部图像确定为目标面部图像。本申请可以提高毛发的生成效果。

Description

图像处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着短视频业务的蓬勃发展,越来越多用户喜欢在短视频分享生活,短视频平台也为用户提供了各种素材与人脸变换的特效,比如,更换头发颜色、更换发型、更换眉毛或为没有胡子的人添加胡子等特效。
传统技术中,通常利用计算机软件对面部图像的毛发进行美化与编辑,从而实现毛发的生成,例如,可以采用美术工具手动为没有胡子的人脸绘制胡子。
然而,采用计算机软件中的美术工具手动对面部图像的毛发进行美化与编辑,存在生成的毛发不真实的问题,导致毛发的生成效果不好。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高毛发的生成效果的图像处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种图像处理方法。所述方法包括:利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对所述第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;所述第一毛发图像是对所述第一面部图像进行毛发识别得到的;从多个所述第二面部图像中确定与所述原始面部图像匹配的第二面部图像,将所述匹配的第二面部图像对应的第二毛发图像与所述原始面部图像进行图像融合,得到融合面部图像;将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;所述已训练的图像生成网络具有生成真实的面部图像的功能;基于所述候选面部图像与所述融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到所述图像差异值小于差异阈值为止;将所述图像差异值小于差异阈值情况下的候选面部图像,确定为所述原始面部图像对应的包括毛发的目标面部图像。
第二方面,本申请还提供了一种图像处理装置。所述装置包括:图像对齐模块,用于利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对所述第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;所述第一毛发图像是对所述第一面部图像进行毛发识别得到的;图像融合模块,用于从多个所述第二面部图像中确定与所述原始面部图像匹配的第二面部图像,将所述匹配的第二面部图像对应的第二毛发图像与所述原始面部图像进行图像融合,得到融合面部图像;图像生成模块,用于将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;所述已训练的图像生成网络具有生成真实的面部图像的功能;特征更新模块,用于基于所述候选面部图像与所述融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到所述图像差异值小于差异阈值为止;图像确认模块,将所述图像差异值小于差异阈值情况下的候选面部图像,确定为所述原始面部图像对应的包括毛发的目标面部图像。
在一些实施例中,所述图像处理装置还包括特征生成模块,特征生成模块用于:获取多个第一向量;对所述多个第一向量进行仿射变换,生成多个第二向量;对所述多个第二向量进行均值计算,得到均值向量;利用多个所述均值向量生成当前图像特征。
在一些实施例中,所述图像处理装置还包括训练模块,训练模块用于:将第一样本面部图像输入到当前生成网络中,利用当前生成网络中的编码网络对所述第一样本面部图像进行编码,得到样本编码特征,并利用当前生成网络中的解码网络对所述样本编码特征进行解码,得到当前生成网络生成的预测面部图像;将预测面部图像输入到当前判别网络中进行判别,得到所述预测面部图像对应的预测概率;基于所述预测面部图像对应的预测概率调整当前生成网络的参数,以更新当前生成网络;将第二样本面部图像输入到当前判别网络中进行判别,得到所述第二样本面部图像对应的预测概率;基于所述第二样本面部图像对应的预测概率和所述预测面部图像对应的预测概率,调整当前判别网络的参数,以更新当前判别网络;更新第一样本面部图像和第二样本面部图像,返回将第一样本面部图像输入到当前生成网络中的步骤,直到网络收敛;将网络收敛情况下的解码网络确定为已训练的图像生成网络。
在一些实施例中,所述图像对齐模块还用于:利用所述原始面部图像对所述第一面部图像进行缩放处理,得到缩放后的第一面部图像;所述缩放后的第一面部图像的面部宽度与所述原始面部图像中的面部宽度一致;基于所述原始面部图像的目标类型的原始关键点的位置和所述缩放后的第一面部图像的所述目标类型的第一关键点的位置,确定所述缩放后的第一面部图像中的裁剪区域;将所述裁剪区域与空图像进行图像融合,得到第二面部图像;所述空图像的尺寸与所述原始面部图像的尺寸一致,所述目标类型的第一关键点在所述第二面部图像中的位置,与所述目标类型的原始关键点在所述原始面部图像的位置相同。
在一些实施例中,所述图像融合模块还包括图像匹配模块,图像匹配模块用于:确定所述原始面部图像的第一类型的面部元素的元素尺寸,得到第一元素尺寸,并确定所述第二面部图像的所述第一类型的面部元素的元素尺寸,得到第二元素尺寸;确定所述原始面部图像的第二类型的面部元素与所述第一类型的面部元素之间的元素距离,得到第一元素距离,并确定所述第二面部图像的所述第二类型的面部元素与所述第一类型的面部元素之间的元素距离,得到第二元素距离;基于所述第一元素尺寸与所述第二元素尺寸之间的差值,从各所述第二面部图像中选取得到候选面部图像;基于所述第一元素距离与所述第二元素距离之间的差值,从各所述候选面部图像中选取得到与所述原始面部图像匹配的第二面部图像。
在一些实施例中,所述图像融合模块还用于:从所述原始面部图像的各面部关键点中确定指定类型的面部关键点,得到第一面部关键点组合;从所述匹配的第二面部图像的各面部关键点中确定所述指定类型的面部关键点,得到第二面部关键点组合;确定所述第一面部关键点组合与所述第二面部关键点组合之间的仿射变换矩阵;利用所述仿射变换矩阵对所述匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像;将所述目标毛发图像与所述原始面部图像进行图像融合,得到融合面部图像。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像处理方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理方法的步骤。第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时上述图像处理方法的步骤。
上述图像处理方法、装置、计算机设备、存储介质和计算机程序产品,通过从与原始面部图像对齐的多个第二面部图像中,确定与原始面部图像匹配的第二面部图像,从而提高第二面部图像对应的第二毛发图像与原始面部图像的图像融合效果,然后将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像,基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,直到图像差异值小于差异阈值,将候选面部图像确定为原始面部图像对应的包括毛发的目标面部图像,由于融合面部图像中的毛发是经过图像融合生成的,存在毛发不真实的问题,而已训练的图像生成网络具有生成真实的面部图像的功能,从而使得目标面部图像中的毛发更加真实,从而提高了毛发的生成效果。
附图说明
图1为一个实施例中图像处理方法的应用环境图;
图2为一个实施例中图像处理方法的流程示意图;
图3为一个实施例中图像处理方法的流程示意图;
图4为一个实施例中第一面部图像以及对应的第一毛发图像的示意图;
图5为原始关键点以及第一关键点的示意图;
图6A为一个实施例中图像对齐处理的示意图;
图6B为一个实施例中图像对齐处理的示意图;
图7为第一面部图像、第二面部图像以及第二毛发图像的示意图;
图8为融合面部图像以及目标面部图像的示意图;
图9为一个实施例中图像处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
具体地,服务器104或终端102可以存储多个第一面部图像以及对应的第一毛发图像,终端102可以从本地或服务器104获取第一面部图像以及对应的第一毛发图像,然后可以利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像,从多个第二面部图像中确定与原始面部图像匹配的第二面部图像,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像,终端102将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像,已训练的图像生成网络具有生成真实的面部图像的功能,基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到图像差异值小于差异阈值为止,将图像差异值小于差异阈值情况下的候选面部图像,确定为原始面部图像对应的包括毛发的目标面部图像。在终端102确定了原始面部图像对应的包括毛发的目标面部图像之后,可以存储目标面部图像,还可以显示目标面部图像。终端102还可以将目标面部图像发送至服务器104,服务器104可以存储终端102发送的目标面部图像,服务器104可以保存目标面部图像或者将目标面部图像发送至其他设备。
其中,终端102可以但不限于是各种台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑和智能手表等中的至少一种。终端102可以为具有操作系统的终端设备,该操作系统可以为安卓操作系统,也可以为ios操作系统,还可以为其他可能的操作系统。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,如图2所示,提供了一种图像处理方法,该方法可以由终端或服务器执行,还可以由终端和服务器共同执行,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤202,利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;第一毛发图像是对第一面部图像进行毛发识别得到的。
其中,原始面部图像是待生成目标毛发的面部图像,目标毛发包括但不限于胡子、眉毛或头发中的至少一种,例如,原始面部图像是待生成胡子的面部图像,则目标毛发为胡子,胡子的胡型可以是山羊胡、络腮胡或一字胡等中的任意一种,胡型是指胡子的类型。第一面部图像是具有目标毛发的面部图像,例如,第一面部图像可以是具有胡子的面部图像,也可以称为胡子模板面部图像。第一面部图像为多个,多个是指至少两个。
第二面部图像是利用原始面部图像对第一面部图像进行对齐处理所得到的面部图像,对齐处理是利用原始面部图像对第一面部图像进行缩放以及裁剪的处理,得到的第二面部图像与原始面部图像对齐,并且第二面部图像的大小与原始面部图像的大小相同。第一毛发图像是对第一面部图像进行毛发识别得到的,例如,第一毛发图像可以是利用绘图工具从第一面部图像中提取的胡子区域图像,则也称为胡子抠图图像。第二毛发图像是利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理所得到的图像。
具体地,终端获取原始面部图像,并根据原始面部图像中待生成的目标毛发,获取第一面部图像以及第一面部图像对应的第一毛发图像,例如,在目标毛发为胡子的情况下,获取具有胡子的面部图像作为第一面部图像,并获取第一面部图像对应的胡子区域图像作为第一毛发图像,然后利用原始面部图像对第一面部图像进行对齐处理,得到与原始面部图像对齐的第二面部图像,并利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理,得到与原始面部图像对齐的第二毛发图像,第一面部图像以及对应的第一毛发图像可以参照图4中的面部图像以及对应的毛发图像。其中,服务器中可以预先存储第一面部图像以及第一面部图像对应的第一毛发图像。
在一些实施例中,在原始面部图像是待生成胡子的面部图像的情况下,终端可以根据指定胡子类型,将具有指定胡子类型的胡子的面部图像确定为第一面部图像,然后利用原始面部图像对第一面部图像进行对齐处理,并利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理。例如,指定胡子类型为络腮胡,终端可以将具有络腮胡的面部图像确定为第一面部图像,则第一面部图像可以选择图4中的(a1),对应的第一毛发图像为图4中的(b1)。
在一些实施例中,终端可以利用原始面部图像中的面部宽度对第一面部图像进行缩放处理,得到缩放后的第一面部图像,并对缩放后的第一面部图像进行裁剪,得到与原始面部图像对齐的第二面部图像,第二面部图像中的面部宽度与原始面部图像中的面部宽度一致,且第二面部图像的尺寸与原始面部图像的尺寸一致。
步骤204,从多个第二面部图像中确定与原始面部图像匹配的第二面部图像,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像。
其中,图像融合是指将两张不同的图像融合成一张图像,融合面部图像是将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合得到的面部图像,融合面部图像中具有目标类型的毛发。
具体地,终端可以将原始面部图像与各第二面部图像分别进行匹配,得到匹配结果,基于匹配结果从多个第二面部图像中确定与原始面部图像匹配的第二面部图像。然后终端可以将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像。其中,匹配结果用于表征原始面部图像与第二面部图像的匹配程度。
在一些实施例中,终端可以计算原始面部图像中的面部元素的元素尺寸以及第二面部图像中的面部元素的元素尺寸的差值,基于计算得到的差值,从多个第二面部图像中的确定与原始面部图像匹配的第二面部图像。其中,差值与匹配程度呈负相关关系,差值越小,则原始面部图像与第二面部图像的匹配程度越高。面部元素是指面部图像中的组成元素,面部元素的类型包括嘴巴、鼻子、眼睛或眉毛等中的至少一种,例如,面部元素可以是嘴巴,面部元素的元素尺寸可以是嘴巴的宽度。
在一些实施例中,终端可以利用第二毛发图像对应的掩膜,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像。其中,掩膜是由0和1组成的二进制图像,用于对图像的像素值进行过滤处理。终端可以获取第二毛发图像对应的掩膜,对于原始面部图像中的每个像素位置,在掩膜mask=1的情况下,则将原始面部图像中该像素位置处的像素值,替换为第二毛发图像中该像素位置处的像素值;在掩膜mask=0的情况下,原始面部图像中该像素位置处的像素值不变,直到终端遍历完原始面部图像中所有的像素位置,得到第二面部图像对应的第二毛发图像与原始面部图像的融合面部图像。例如,原始面部图像中第一行第一列的像素位置处的像素值为100,第二毛发图像中第一行第一列的像素位置处的像素值为0,在掩膜mask=1的情况下,原始面部图像中第一行第一列的像素位置处的像素值替换为0;在掩膜mask=0的情况下,原始面部图像中第一行第一列的像素位置处的像素值仍然为100。计算公式如下所示:
res_img=img×(1-mask)+align_tpl_alpha_k×mask;
其中,res_img表示融合面部图像中的像素值,img表示原始面部图像中的像素值,align_tpl_alpha_k表示第二毛发图像中的像素值,mask是第二毛发图像对应的掩膜的取值。
步骤206,将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;已训练的图像生成网络具有生成真实的面部图像的功能。
其中,当前图像特征是用于生成面部图像的图像特征,当前图像特征的初始特征值可以是随机生成的,当前图像特征可以是不断更新的。候选面部图像是将当前图像特征输入到已训练的图像生成网络所生成的真实的面部图像。已训练的图像生成网络具有生成真实的面部图像的功能。由于融合面部图像中的目标类型的毛发是经过图像融合生成的,存在毛发不真实的问题,例如,目标类型的毛发为胡子,则融合面部图像中的可能存在胡子覆盖在嘴巴上的问题,而已训练的图像生成网络所生成的面部图像为真实的面部图像,因此利用已训练的图像生成网络来生成候选面部图像,从而减少融合面部图像中毛发效果不真实的问题。具体地,终端获取当前图像特征,将当前图像特征输入到已训练的图像生成网络,生成当前图像特征对应的候选面部图像。例如,已训练的图像生成网络可以是基于已训练的stylegan2网络得到的。
在一些实施例中,已训练的图像生成网络可以是通过对生成网络和判别网络进行对抗训练得到的。生成网络可以称为生成器,判别网络可以称为判别器,生成网络包括编码器和解码器,编码器可以称为编码网络,解码器可以称为解码网络,终端可以对生成网络和判别网络进行对抗训练,使得生成网络中的解码器生成的面部图像越来越真实,从而得到具有生成真实的面部图像的功能的解码器,并将该解码器作为已训练的图像生成网络。
步骤208,基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到图像差异值小于差异阈值为止。
其中,图像差异值是候选面部图像与融合面部图像之间的差异值,差异阈值是预先设置的图像差异值的阈值。由于当前图像特征的初始特征值是随机生成的,故基于当前图像特征生成的候选面部图像中的人脸与融合面部图像中的人脸之间的差异较大,故需要基于当前图像特征生成的候选面部图像与融合面部图像之间的差异对当前图像特征进行调整,使得基于调整后的当前图像特征生成的候选面部图像与融合面部图像更相似。
具体地,终端计算候选面部图像与融合面部图像之间的图像差异值,在图像差异值大于差异阈值的情况下,基于图像差异值更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到图像差异值小于差异阈值为止。
步骤210,将图像差异值小于差异阈值情况下的候选面部图像,确定为原始面部图像对应的包括毛发的目标面部图像。
其中,目标面部图像为原始面部图像对应的包括目标类型的毛发的面部图像,例如,原始面部图像为待生成胡子的面部图像,则目标面部图像可以是包括胡子的面部图像,且目标面部图像与融合面部图像之间的图像差异值小于差异阈值。
具体地,在图像差异值小于差异阈值的情况下,终端将候选面部图像确定为原始面部图像对应的包括毛发的目标面部图像。图8为原始面部图像生成胡子后的融合面部图像以及目标面部图像的示意图,融合面部图像中存在胡子覆盖在鼻子上的问题,而最后确定的目标面部图像中的胡子则更加真实。
上述图像处理方法中,通过从与原始面部图像对齐的多个第二面部图像中,确定与原始面部图像匹配的第二面部图像,从而提高第二面部图像对应的第二毛发图像与原始面部图像的图像融合效果,然后将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像,基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,直到图像差异值小于差异阈值,将候选面部图像确定为原始面部图像对应的包括毛发的目标面部图像,由于融合面部图像中的毛发是经过图像融合生成的,存在毛发不真实的问题,而已训练的图像生成网络具有生成真实的面部图像的功能,从而使得目标面部图像中的毛发更加真实,从而提高了毛发的生成效果。此外,如图3所示,得到融合面部图像的步骤可以概括为对齐、匹配以及贴图,得到目标面部图像的步骤可以概括为对融合面部图像进行和谐化处理,因此,上述图像处理方法是传统算法与深度学习算法结合,从而为原始面部图像生成目标毛发的方法。
在一些实施例中,将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像之前,还包括:获取多个第一向量;对多个第一向量进行仿射变换,生成多个第二向量;对多个第二向量进行均值计算,得到均值向量;利用多个均值向量生成当前图像特征。
其中,第一向量为随机初始化的面部特征向量,为符合高斯分布或均匀分布的随机变量,第一向量为512维的向量,第一向量的每个维度都可以表示一种面部特征的风格,例如,头发颜色、瞳孔颜色或肤色等,第一向量也可以称为Z隐向量。第一向量为多个,多个是指至少两个。第二向量是对多个第一向量进行仿射变换所生成的,由于第一向量为符合高斯分布或均匀分布的随机向量,向量彼此之间有较大的耦合关系,这可能会导致基于第一向量生成的图片中,不同特征之间有一定的联系,而这些联系不一定是正确的,因此,需要对第一向量进行仿射变换,以减少特征之间的联系,仿射变换是对第一向量进行线性变换与平移,第二向量也可以称为W隐向量。均值向量是对多个第二向量的每个维度分别进行均值计算得到的向量,均值向量中的每个位置处的数据是该多个第二向量的该位置处的数据的均值,当前图像特征的初始特征值是利用多个均值向量生成的,也可以称为W+隐向量。
具体地,终端随机初始化第一数量的第一向量,然后对各第一向量进行仿射变换,得到第一数量的第二向量,对各第二向量的每个维度分别进行均值计算,得到均值向量,然后对均值向量进行复制操作,得到第二数量的均值向量,利用第二数量的均值向量生成当前图像特征。其中,第一数量是预设的第一向量的数量,第二数量是预设的均值向量的复制数量,例如,第一数量可以为10000,第二数量可以为18,则终端可以随机初始化10000个512维的第一向量,然后对各第一向量进行放射变换,得到10000个第二向量,将各第二向量的每个维度分别进行均值计算,得到均值向量,并对均值向量进行复制操作,得到18个均值向量,则18个均值向量组合在一起,得到了维度为(18,512)的当前图像特征。
在一些实施例中,终端可以将第一数量的第一向量输入到已训练的向量变换网络进行仿射变换,得到第一数量的第二向量,已训练的向量变换网络由8个全连接层组成,例如,可以是stylegan2模型中的mapping network模块。
本实施例中,通过对多个第一向量进行仿射变换,生成多个第二向量,并对多个第二向量进行均值计算,得到均值向量,利用多个均值向量生成当前图像特征,从而可以基于当前图像特征生成真实的面部图像,减少图像融合后的融合面部图像中不真实的显示效果。
在一些实施例中,得到已训练的图像生成网络的步骤包括:将第一样本面部图像输入到当前生成网络中,利用当前生成网络中的编码网络对第一样本面部图像进行编码,得到样本编码特征,并利用当前生成网络中的解码网络对样本编码特征进行解码,得到当前生成网络生成的预测面部图像;将预测面部图像输入到当前判别网络中进行判别,得到预测面部图像对应的预测概率;基于预测面部图像对应的预测概率调整当前生成网络的参数,以更新当前生成网络;将第二样本面部图像输入到当前判别网络中进行判别,得到第二样本面部图像对应的预测概率;基于第二样本面部图像对应的预测概率和预测面部图像对应的预测概率,调整当前判别网络的参数,以更新当前判别网络;更新第一样本面部图像和第二样本面部图像,返回将第一样本面部图像输入到当前生成网络中的步骤,直到网络收敛;将网络收敛情况下的解码网络确定为已训练的图像生成网络。
其中,第一样本面部图像是用于训练当前生成网络的面部图像,是真实的面部图像,当前生成网络是待训练的图像生成网络,当前生成网络中的编码网络用于对面部图像进行编码,输出得到面部图像对应的编码特征,样本编码特征为第一样本面部图像对应的编码特征。当前生成网络中的解码网络用于对编码特征进行解码,输出得到编码特征对应的生成图像,预测面部图像为当前生成网络中的解码网络生成的图像。
第二样本面部图像是用于训练当前判别网络的面部图像,第一样本面部图像以及第二样本面部图像均为真实的面部图像。当前判别网络是待训练的判别网络,判别网络用于判别输入的图像是否为真实图像,预测概率是图像为真实图像的概率,是当前判别网络对输入的图像的真实性进行判别得到的概率。网络收敛包括当前生成网络的收敛以及当前生成网络的收敛,当前生成网络的收敛包括但不限于是当前生成网络的参数的变化量小于预设变化量、生成的图像为真实面部图像的概率大于预设概率阈值中的至少一个,当前生成网络的收敛包括但不限于是当前生成网络的参数的变化量小于预设变化量。预设概率阈值可以根据需要预先设置。
具体地,终端获取第一样本面部图像,将第一样本面部图像输入到当前生成网络中,利用当前生成网络中的编码网络对第一样本面部图像进行编码,得到样本编码特征,并利用当前生成网络中的解码网络对样本编码特征进行解码,得到当前生成网络生成的预测面部图像。然后终端将预测面部图像输入到当前判别网络中进行判别,得到预测面部图像对应的预测概率,例如,可以得到预测面部图像为真实图像的概率为20%,然后基于预测面部图像对应的预测概率调整当前生成网络的参数,以更新当前生成网络。终端获取第二样本面部图像,将第二样本面部图像输入到当前判别网络中进行判别,得到第二样本面部图像对应的预测概率,基于第二样本面部图像对应的预测概率和预测面部图像对应的预测概率,调整当前判别网络的参数,以更新当前判别网络;在网络未收敛的情况下,终端从样本数据集中获取面部图像,更新第一样本面部图像和第二面部图像,返回将第一样本面部图像输入到当前生成网络中的步骤,直到网络收敛;将网络收敛情况下的解码网络确定为已训练的图像生成网络。
在一些实施例中,在当前生成网络的解码网络所生成的预测面部图像的预测概率大于预设概率阈值的情况下,终端可以确定当前生成网络的解码网络为已收敛的状态,则将网络收敛情况下的解码网络确定为已训练的图像生成网络,终端可以利用已训练的图像生成网络生成真实的面部图像。
本实施例中,通过利用第一样本面部图像对当前生成网络中解码网络进行训练,基于预测面部图像对应的预测概率调整当前生成网络的参数,使得当前生成网络生成的图像越来越真实,直到网络收敛,将网络收敛情况下的解码网络确定为已训练的图像生成网络,从而得到可以生成真实面部图像的图像生成网络。
在一些实施例中,利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,包括:利用原始面部图像对第一面部图像进行缩放处理,得到缩放后的第一面部图像;缩放后的第一面部图像的面部宽度与原始面部图像中的面部宽度一致;基于原始面部图像的目标类型的原始关键点的位置和缩放后的第一面部图像的目标类型的第一关键点的位置,确定缩放后的第一面部图像中的裁剪区域;将裁剪区域与空图像进行图像融合,得到第二面部图像;空图像的尺寸与原始面部图像的尺寸一致,目标类型的第一关键点在第二面部图像中的位置,与目标类型的原始关键点在原始面部图像的位置相同。
其中,缩放处理是指对图像进行缩小处理或者放大处理中的任意一种,面部宽度是面部图像中面部的宽度。目标类型是面部图像中面部关键点的类型,面部关键点的类型用于表征面部关键点在面部图像中的位置,可以用面部关键的编号表示,例如,可以将编号为74的面部关键点作为目标类型的面部关键点,即目标类型为编号74。原始关键点是从原始面部图像中检测到的面部关键点,第一关键点是从第一面部图像中检测到的面部关键点。裁剪区域是从缩放后的第一面部图像中确定的图像区域,空图像的尺寸与原始面部图像的尺寸一致。
具体地,终端基于原始面部图像中的原始关键点以及第一面部图像中的第一关键点,得到图像缩放比例,利用图像缩放比例对第一面部图像进行缩放处理,得到缩放后的第一面部图像。然后终端可以基于目标类型的原始关键点在原始面部图像中的位置,以及目标类型的第一关键点在缩放后的第一面部图像的位置,计算缩放后的第一面部图像中的裁剪坐标,利用裁剪坐标从缩放后的第一面部图像确定裁剪区域,最后将缩放后的第一面部图像中的裁剪区域与空图像进行图像融合,得到第二面部图像,使得目标类型的第一关键点在第二面部图像中的位置,与目标类型的原始关键点在原始面部图像的位置相同,即原始面部图像与第二面部图像对齐。其中,裁剪坐标是用于确定缩放后的第一面部图像中裁剪区域的坐标。
在一些实施例中,终端可以利用原始关键点的位置确定原始面部图像的面部宽度,利用第一关键点的位置确定第一面部图像的面部宽度,将原始面部图像的面部宽度与第一面部图像的面部宽度的比值确定为图像缩放比例,并利用图像缩放比例对第一面部图像进行缩放处理,得到缩放后的面部图像。例如,图5为部分原始关键点在原始面部图像以及部分第一关键点在第一面部图像终端位置示意图,终端可以选取原始面部图像img对应的原始关键点中编号为3和编号为29的面部关键点,计算两点之间的距离w_org,将w_org作为原始面部图像中的面部宽度;选取第一面部图像tpl对应的第一关键点中编号为3和编号为29的面部关键点,计算两点之间的距离w_tpl,将w_tpl作为第一面部图像中的面部宽度。然后将原图人脸宽度w_org和胡子模版图中人脸宽度w_tpl的比例ratio=w_org/w_tpl作为图像缩放比例,最后利用图像缩放比例ratio对第一面部图像进行缩放处理,得到缩放后的第一面部图像scale_tpl。
在一些实施例中,终端可以利用已训练的人脸关键点检测模型对原始面部图像进行关键点检测,得到原始关键点。终端将原始面部图像输入已训练的人脸关键点检测模型,输出得到130个原始关键点,其中,130个关键点中,编号为0-32的关键点位于脸部轮廓处,编号为33-41的关键点位于左眉毛处,编号为42-50的关键点位于右眉毛处,编号为51-60、114、115以及118-123的关键点位于左眼处,编号为61-70、116、117以及124-129的关键点位于右眼处,编号为71-85的关键点位于鼻子处,编号为86-116的关键点位于嘴巴处,其中部分关键点在面部图像中的位置可以参照图5。按照各原始关键点在原始面部图像中的位置,对各原始关键点进行编号。同样地,终端也可以利用上述方法对第一面部图像进行关键点检测,得到第一关键点。
在一些实施例中,终端可以利用目标类型的原始关键点在原始面部图像的坐标、目标类型的第一关键点在缩放后的第一面部图像中的坐标、原始面部图像的尺寸以及缩放后的第一面部图像的尺寸,计算得到第一裁剪坐标以及第二裁剪坐标,将第一裁剪坐标作为裁剪区域的左上顶点坐标,将第二裁剪坐标作为裁剪区域的右下顶点坐标,利用第一裁剪坐标以及第二裁剪坐标确定裁剪区域的边界,从缩放后的第一面部图像中确定裁剪区域。其中,第一裁剪坐标是用于确定裁剪区域的左上顶点的坐标,第二裁剪坐标是用于确定裁剪区域的右下顶点的坐标。第一裁剪坐标以及第二裁剪坐标的计算公式如下所示:
tpl_x1=max(0,new_tpl_nose_bottom[0]-w1);
tpl_y1=max(0,new_tpl_nose_bottom[1]-h1);
tpl_x2=min(new_tpl_w,new_tpl_nose_bottom[0]+w2);
tpl_y2=min(new_tpl_h,new_tpl_nose_bottom[1]+h2);
其中,(tpl_x1,tpl_y1)为缩放后的第一面部图像scale_tpl中的第一裁剪坐标,(tpl_x2,tpl_y2)为缩放后的第一面部图像scale_tpl中的第二裁剪坐标;w1和h1分别为原始面部图像img中目标类型的原始关键点到图像左边界的距离和到图像上边界的距离,w2和h2分别为原始面部图像img中目标类型的原始关键点到图像右边界的距离和到图像下边界的距离;new_tpl_w和new_tpl_h分别为第二面部图像scale_tpl的宽和高;new_tpl_nose_bottom为第二面部图像scale_tpl中目标类型的第一关键点的坐标。
举例说明,如图6A以及图6B所示,图6A为缩放后的第一面部图像的尺寸大于原始面部图像的尺寸的情况下对齐处理的示意图,图6B为缩放后的第一面部图像的尺寸小于原始面部图像的尺寸的情况下对齐处理的示意图。终端可以将编号为74的面部关键点作为目标类型的面部关键点,由于编号为74的面部关键点位于面部的鼻尖处,因此也可以称为鼻尖点。假设原始面部图像的尺寸为100×100,编号为74的原始关键点在原始面部图像中的坐标为(50,50),则w1=50,h1=50,w2=50,h2=50,缩放后的第一面部图像的尺寸为110×110,编号为74的第一关键点在第一面部图像中的坐标new_tpl_nose_bottom为(54,54),则利用上述公式进行计算,得到tpl_x1=4,tpl_y1=4,tpl_x2=104,tpl_y2=104,即第一裁剪坐标为(4,4),第二裁剪坐标为(104,104),以第一裁剪坐标为裁剪区域的左上顶点坐标,以第二裁剪坐标为右下顶点坐标,将横坐标为4的像素点作为裁剪区域的左边界,横坐标为104的像素点作为裁剪区域的右边界,纵坐标为4的像素点作为裁剪区域的上边界,纵坐标为104的像素点作为裁剪区域的下边界,利用裁剪区域的边界从缩放后的第一面部图像确定裁剪区域,且裁剪区域的尺寸为100×100,与原始面部图像的尺寸相同。
在一些实施例中,终端可以利用目标类型的原始关键点在原始面部图像的坐标、目标类型的第一关键点在缩放后的第一面部图像中的坐标、第一裁剪坐标以及第二裁剪坐标,计算得到第一映射坐标以及第二映射坐标,然后创建一张空图像,空图像的尺寸与原始面部图像的尺寸一致,将第一映射坐标作为映射区域的左上顶点,将第二映射坐标作为映射区域的右下顶点,在空图像中确定映射区域,空图像中映射区域的尺寸与裁剪图像的尺寸一致。然后终端将裁剪图像映射至空图像中的映射区域内,得到第二面部图像,如图7所示,图7为原始面部图像、与原始面部图像对齐的第二面部图像以及第二面部图像对应的第二毛发图像。其中,第一映射坐标是第一裁剪坐标对应的映射坐标,第二映射坐标是第二裁剪坐标对应的映射坐标。第一映射坐标以及第二映射坐标的计算公式如下所示:
xs=img_nose_bottom[0]-(new_tpl_nose_bottom[0]-tpl_x1);
ys=img_nose_bottom[1]-(new_tpl_nose_bottom[1]-tpl_y1);
xe=xs+(tpl_x2-tpl_x1);
ye=ys+(tpl_y2-tpl_y1);
其中,(xs,ys)为第一映射坐标,(xe,ye)为第二映射坐标;img_nose_bottom为原始面部图像img中的目标类型的原始关键点的坐标,new_tpl_nose_bottom为第二面部图像scale_tpl中目标类型的第一关键点的坐标;(tpl_x1,tpl_y1)为缩放后的第一面部图像scale_tpl中的第一裁剪坐标,(tpl_x2,tpl_y2)为缩放后的第一面部图像scale_tpl中的第二裁剪坐标。
在一些实施例中,终端可以将缩放后的第一面部图像中的裁剪区域映射到空图像中的映射区域,从缩放后的第一面部图像中取出裁剪区域中每个像素位置处的像素值,依次赋值给空图像中的映射区域中对应的像素位置处,具体公式如下所示:
align_tpl_img[ys:ye,xs:xe,...]=scale_tpl[tpl_y1:tpl_y2,tpl_x1:tpl_x2,...];
其中,align_tpl_img表示空图像,scale_tpl表示缩放后的第一面部图像。
在一些实施例中,终端可以将第一面部图像对应的第一关键点作为第一毛发图像中的面部关键点,利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像,具体对齐处理过程参照上述对第一面部图像进行对齐处理得到第二面部图像的步骤,在此不再赘述。
本实施例中,利用原始面部图像对第一面部图像进行缩放处理,使得缩放后的第一面部图像的面部宽度与原始面部图像中的面部宽度一致,并利用原始面部图像的目标类型的原始关键点的位置和缩放后的第一面部图像的目标类型的第一关键点的位置,在缩放后的第一面部图像中确定裁剪区域,将裁剪区域与空图像进行融合,得到第二面部图像,从而使得目标类型的第一关键点在第二面部图像中的位置,与目标类型的原始关键点在原始面部图像的位置相同,实现了第二面部图像与原始面部图像对齐,提高了第二面部图像对应的第二毛发图像与原始面部图像的图像融合效果,进而提高了毛发的生成效果。
在一些实施例中,从多个第二面部图像中确定与原始面部图像匹配的第二面部图像,包括:确定原始面部图像的第一类型的面部元素的元素尺寸,得到第一元素尺寸,并确定第二面部图像的第一类型的面部元素的元素尺寸,得到第二元素尺寸;确定原始面部图像的第二类型的面部元素与第一类型的面部元素之间的元素距离,得到第一元素距离,并确定第二面部图像的第二类型的面部元素与第一类型的面部元素之间的元素距离,得到第二元素距离;基于第一元素尺寸与第二元素尺寸之间的差值,从各第二面部图像中选取得到候选面部图像;基于第一元素距离与第二元素距离之间的差值,从各候选面部图像中选取得到与原始面部图像匹配的第二面部图像。
其中,第一类型以及第二类型均是预先设置的面部元素的类型,面部元素是指面部图像中的组成元素,面部元素的类型包括嘴巴、鼻子、眼睛或眉毛等中的至少一种,第一类型的面部元素与第二类型的面部元素不同,例如,第一类型的面部元素可以是嘴巴,第二类型的面部元素可以是鼻子。元素尺寸是面部元素的尺寸,可以是面部元素的宽度、高度或两种面部元素之间的距离中的至少一个。
第一元素尺寸是指原始面部图像的第一类型的面部元素的元素尺寸,第二元素尺寸是指第二面部图像的第一类型的面部元素的元素尺寸,第一元素距离是指原始面部图像的第二类型的面部元素与第一类型的面部元素之间的元素距离,第二元素距离是指第二面部图像的第二类型的面部元素与第一面部元素之间的元素距离。候选面部图像是基于第一元素尺寸与第二元素尺寸的差值从各第二面部图像中选取的。
具体地,终端确定第一类型的面部元素以及第二类型的面部元素,然后计算原始面部图像中第一类型的面部元素的元素尺寸,得到第一元素尺寸,例如,终端可以将嘴巴确定为第一类型的面部元素,则终端可以计算原始面部图像中嘴巴的宽度以及嘴巴的高度,得到第一元素尺寸。然后终端计算第二面部图像的第一类型的面部元素的元素尺寸,得到第二元素尺寸,计算原始面部图像中第二类型的面部元素与第一类型的面部元素之间的元素距离,得到第一元素距离,计算第二面部图像中第二类型的面部元素与第一类型的面部元素之间的元素距离,得到第二元素距离。然后终端可以基于第一元素尺寸与第二元素尺寸之间的差值,从各第二面部图像中选取得到候选面部图像,基于第一元素距离与第二元素距离之间的差值,从各候选面部图像中选取得到与原始面部图像匹配的第二面部图像。
在一些实施例中,在原始面部图像为待生成胡子的面部图像的情况下,终端可以将嘴巴作为第一类型的面部元素,将鼻子作为第二类型的面部元素,终端可以利用原始面部图像对应的原始关键点,计算原始面部图像中第一类型的面部元素的元素尺寸,并计算第二类型的面部元素与第一类型的面部元素之间的元素距离,得到第一元素尺寸以及第一元素距离。举例说明,终端可以从原始关键点中选择编号为82以及编号为92的原始关键点,计算两点之间的水平距离,得到原始面部图像中嘴巴的宽度,从原始关键点中选择编号为89以及编号为95的原始关键点,计算两点之间的垂直距离,得到原始面部图像中嘴巴的宽度,则第一元素尺寸为原始面部图像中嘴巴的宽度以及嘴巴的高度;终端还可以从原始关键点中选择编号为80以及编号为89的原始关键点,计算两点之间的垂直距离,得到原始面部图像中鼻子到嘴巴的距离,即第一元素距离。同样的,终端可以参照上述步骤计算得到第二面部图像中的第二元素尺寸以及第二元素距离。
在一些实施例中,终端可以计算第一元素尺寸与第二元素尺寸之间的差值的绝对值,得到元素尺寸差值,对元素尺寸差值进行排序,按照元素尺寸差值从小到大的顺序从各第二面部图像中选取得到预设数量的候选面部图像,然后计算第一元素距离与第二元素距离之间的差值的绝对值,得到元素距离差值,对元素距离差值进行排序,按照元素距离差值从小到大的顺序,从各候选面部图像中选取得到与原始面部图像匹配的第二面部图像。其中,预设数量为预先设置的数量,可以是任意正整数,例如,可以设置为4。
举例说明,第一元素尺寸为原始面部图像中嘴巴的宽度以及嘴巴的高度,第二元素尺寸为第二面部图像中嘴巴的宽度以及嘴巴的高度,第一元素距离为原始面部图像中鼻子到嘴巴的距离,第二元素距离为第二面部图像中鼻子到嘴巴的距离。终端可以计算原始面部图像img中的嘴巴的宽度与第二面部图像align_tpl_k中的嘴巴的宽度之间的差值的绝对值,得到第一差值mouth_w_dis_k,对第一差值进行排序,按照第一差值从小到大的顺序从各第二面部图像中选取6个第二面部图像;计算原始面部图像img中的嘴巴的高度与第二面部图像align_tpl_k中的嘴巴的高度之间的差值的绝对值,得到第二差值mouth_h_dis_k,对第二差值进行排序,按照第二差值从小到大的顺序从选取得到的6个第二面部图像中选取4个候选面部图像;计算原始面部图像img中的鼻子到嘴巴的距离与第二面部图像align_tpl_k中的鼻子到嘴巴的距离之间的差值的绝对值,得到元素距离差值nose_mouth_h_dis_k,对元素距离差值进行排序,按照元素距离差值从小到大的顺序从4个候选面部图像中选取得到与原始面部图像匹配的第二面部图像。
本实施例中,通过基于第一元素尺寸与第二元素尺寸之间的差值,从各第二面部图像中选取得到候选面部图像,并基于第一元素距离与第二元素距离之间的差值,从各候选面部图像中选取与原始面部图像匹配的第二面部图像,由于经过多次选取,使得匹配的第二面部图像与原始面部图像之间的匹配程度最大,从而提高了匹配的第二面部图像对应的第二毛发图像与原始面部图像的图像融合效果,进而提高了毛发的生成效果。
在一些实施例中,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像,包括:从原始面部图像的各面部关键点中确定指定类型的面部关键点,得到第一面部关键点组合;从匹配的第二面部图像的各面部关键点中确定指定类型的面部关键点,得到第二面部关键点组合;确定第一面部关键点组合与第二面部关键点组合之间的仿射变换矩阵;利用仿射变换矩阵对匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像;将目标毛发图像与原始面部图像进行图像融合,得到融合面部图像。
其中,指定类型是预先设置的面部关键点的类型,面部关键点的类型用于表征面部关键点在面部图像中的位置,第一面部关键点组合是从原始面部图像中的各面部关键点中确定的,第二面部关键点组合是从第二面部图像的各面部关键点中确定的。仿射变换矩阵是基于第一面部关键点组合与第二面部关键点组合得到的,用于对匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换。目标毛发图像对第二毛发图像中的毛发点进行仿射变换得到的,融合面部图像是将目标毛发图像与原始面部图像进行图像融合得到的。
具体地,终端从原始面部图像的各面部关键点中确定指定类型的面部关键点,得到第一面部关键点组合;从与原始面部图像匹配的第二面部图像的各面部关键点中确定指定类型的面部关键点,得到第二面部关键点组合。例如,终端可以将编号分别为3、73、29、16、82、89、92以及95的面部关键点作为指定类型的面部关键点,从而确定第一面部关键点组合points_img以及第二面部关键点组合points_tpl_k。然后终端计算第一面部关键点组合与第二面部关键点组合之间的仿射变换矩阵,并利用仿射变换矩阵对匹配的第二面部图像对应的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像。例如,终端可以使用opencv提供的findHomography()函数计算第一面部关键点组合points_img和第二面部关键点组合points_tpl_k之间的仿射矩阵M,然后使用warpPerspective()函数和仿射矩阵M对匹配的第二面部图像对应的第二毛发图像align_tpl_alpha_k进行仿射变换,得到目标毛发图像。最后终端将目标毛发图像与原始面部图像进行图像融合,得到融合面部图像。
本实施例中,通过确定第一面部关键点组合与第二面部关键点组合之间的仿射变换矩阵,然后利用仿射变换矩阵对匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像,使得经过仿射变换的目标毛发图像与原始面部图像的图像融合效果更好,提高了毛发的生成效果。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图像处理方法的图像处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像处理装置实施例中的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。
在一些实施例中,如图9所示,提供了一种图像处理装置,包括:图像对齐模块902、图像融合模块904、图像生成模块906、特征更新模块908和图像确认模块910,其中:
图像对齐模块902,用于利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;第一毛发图像是对第一面部图像进行毛发识别得到的。
图像融合模块904,用于从多个第二面部图像中确定与原始面部图像匹配的第二面部图像,将匹配的第二面部图像对应的第二毛发图像与原始面部图像进行图像融合,得到融合面部图像。
图像生成模块906,用于将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;已训练的图像生成网络具有生成真实的面部图像的功能。
特征更新模块908,用于基于候选面部图像与融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到图像差异值小于差异阈值为止。
图像确认模块910,将图像差异值小于差异阈值情况下的候选面部图像,确定为原始面部图像对应的包括毛发的目标面部图像。
在一些实施例中,图像处理装置还包括特征生成模块,特征生成模块用于:获取多个第一向量;对多个第一向量进行仿射变换,生成多个第二向量;对多个第二向量进行均值计算,得到均值向量;利用多个均值向量生成当前图像特征。
在一些实施例中,图像处理装置还包括训练模块,训练模块用于:将第一样本面部图像输入到当前生成网络中,利用当前生成网络中的编码网络对第一样本面部图像进行编码,得到样本编码特征,并利用当前生成网络中的解码网络对样本编码特征进行解码,得到当前生成网络生成的预测面部图像;将预测面部图像输入到当前判别网络中进行判别,得到预测面部图像对应的预测概率;基于预测面部图像对应的预测概率调整当前生成网络的参数,以更新当前生成网络;将第二样本面部图像输入到当前判别网络中进行判别,得到第二样本面部图像对应的预测概率;基于第二样本面部图像对应的预测概率和预测面部图像对应的预测概率,调整当前判别网络的参数,以更新当前判别网络;更新第一样本面部图像和第二预测面部图像,返回将第一样本面部图像输入到当前生成网络中的步骤,直到网络收敛;将网络收敛情况下的解码网络确定为已训练的图像生成网络。
在一些实施例中,图像对齐模块还用于:利用原始面部图像对第一面部图像进行缩放处理,得到缩放后的第一面部图像;缩放后的第一面部图像的面部宽度与原始面部图像中的面部宽度一致;基于原始面部图像的目标类型的原始关键点的位置和缩放后的第一面部图像的目标类型的第一关键点的位置,对缩放后的第一面部图像进行裁剪操作得到裁剪图像;将裁剪图像与空图像进行图像融合,得到第二面部图像;空图像的尺寸与原始面部图像的尺寸一致,目标类型的第一关键点在第二面部图像中的位置,与目标类型的原始关键点在原始面部图像的位置相同。
在一些实施例中,图像融合模块还包括图像匹配模块,图像匹配模块用于:确定原始面部图像的第一类型的面部元素的元素尺寸,得到第一元素尺寸,并确定第二面部图像的第一类型的面部元素的元素尺寸,得到第二元素尺寸;确定原始面部图像的第二类型的面部元素的元素尺寸,得到第一元素距离,并确定第二面部图像的第二类型的面部元素的元素尺寸,得到第二元素距离;基于第一元素尺寸与第二元素尺寸之间的差值,从各第二面部图像中选取得到候选面部图像;基于第一元素距离与第二元素距离之间的差值,从各候选面部图像中选取得到与原始面部图像匹配的第二面部图像。
在一些实施例中,图像融合模块还用于:从原始面部图像的各面部关键点中确定指定类型的面部关键点,得到第一面部关键点组合;从匹配的第二面部图像的各面部关键点中确定指定类型的面部关键点,得到第二面部关键点组合;确定第一面部关键点组合与第二面部关键点组合之间的仿射变换矩阵;利用仿射变换矩阵对匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像;将目标毛发图像与原始面部图像进行图像融合,得到融合面部图像。
上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像处理涉及到的相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述图像处理方法。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤上述图像处理方法。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤上述图像处理方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种图像处理方法,其特征在于,所述方法包括:
利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对所述第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;所述第一毛发图像是对所述第一面部图像进行毛发识别得到的;
从多个所述第二面部图像中确定与所述原始面部图像匹配的第二面部图像,将所述匹配的第二面部图像对应的第二毛发图像与所述原始面部图像进行图像融合,得到融合面部图像;
将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;所述已训练的图像生成网络具有生成真实的面部图像的功能;
基于所述候选面部图像与所述融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到所述图像差异值小于差异阈值为止;
将所述图像差异值小于差异阈值情况下的候选面部图像,确定为所述原始面部图像对应的包括毛发的目标面部图像。
2.根据权利要求1所述的方法,其特征在于,所述将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像之前,还包括:
获取多个第一向量;
对所述多个第一向量进行仿射变换,生成多个第二向量;
对所述多个第二向量进行均值计算,得到均值向量;
利用多个所述均值向量生成当前图像特征。
3.根据权利要求1所述的方法,其特征在于,得到所述已训练的图像生成网络的步骤包括:
将第一样本面部图像输入到当前生成网络中,利用当前生成网络中的编码网络对所述第一样本面部图像进行编码,得到样本编码特征,并利用当前生成网络中的解码网络对所述样本编码特征进行解码,得到当前生成网络生成的预测面部图像;
将预测面部图像输入到当前判别网络中进行判别,得到所述预测面部图像对应的预测概率;
基于所述预测面部图像对应的预测概率调整当前生成网络的参数,以更新当前生成网络;
将第二样本面部图像输入到当前判别网络中进行判别,得到所述第二样本面部图像对应的预测概率;
基于所述第二样本面部图像对应的预测概率和所述预测面部图像对应的预测概率,调整当前判别网络的参数,以更新当前判别网络;
更新第一样本面部图像和第二样本面部图像,返回将第一样本面部图像输入到当前生成网络中的步骤,直到网络收敛;
将网络收敛情况下的解码网络确定为已训练的图像生成网络。
4.根据权利要求1所述的方法,其特征在于,所述利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,包括:
利用所述原始面部图像对所述第一面部图像进行缩放处理,得到缩放后的第一面部图像;所述缩放后的第一面部图像的面部宽度与所述原始面部图像中的面部宽度一致;
基于所述原始面部图像的目标类型的原始关键点的位置和所述缩放后的第一面部图像的所述目标类型的第一关键点的位置,确定所述缩放后的第一面部图像中的裁剪区域;将所述裁剪区域与空图像进行图像融合,得到第二面部图像;所述空图像的尺寸与所述原始面部图像的尺寸一致,所述目标类型的第一关键点在所述第二面部图像中的位置,与所述目标类型的原始关键点在所述原始面部图像的位置相同。
5.根据权利要求1所述的方法,其特征在于,所述从多个所述第二面部图像中确定与所述原始面部图像匹配的第二面部图像,包括:
确定所述原始面部图像的第一类型的面部元素的元素尺寸,得到第一元素尺寸,并确定所述第二面部图像的所述第一类型的面部元素的元素尺寸,得到第二元素尺寸;
确定所述原始面部图像的第二类型的面部元素与所述第一类型的面部元素之间的元素距离,得到第一元素距离,并确定所述第二面部图像的所述第二类型的面部元素与所述第一类型的面部元素的元素距离,得到第二元素距离;
基于所述第一元素尺寸与所述第二元素尺寸之间的差值,从各所述第二面部图像中选取得到候选面部图像;
基于所述第一元素距离与所述第二元素距离之间的差值,从各所述候选面部图像中选取得到与所述原始面部图像匹配的第二面部图像。
6.根据权利要求1所述的方法,其特征在于,所述将所述匹配的第二面部图像对应的第二毛发图像与所述原始面部图像进行图像融合,得到融合面部图像,包括:
从所述原始面部图像的各面部关键点中确定指定类型的面部关键点,得到第一面部关键点组合;
从所述匹配的第二面部图像的各面部关键点中确定所述指定类型的面部关键点,得到第二面部关键点组合;
确定所述第一面部关键点组合与所述第二面部关键点组合之间的仿射变换矩阵;
利用所述仿射变换矩阵对所述匹配的第二面部图像的第二毛发图像中的毛发点进行仿射变换,得到目标毛发图像;
将所述目标毛发图像与所述原始面部图像进行图像融合,得到融合面部图像。
7.一种图像处理装置,其特征在于,所述装置包括:
图像对齐模块,用于利用原始面部图像对第一面部图像进行对齐处理,得到第二面部图像,并利用原始面部图像对所述第一面部图像对应的第一毛发图像进行对齐处理,得到第二毛发图像;所述第一毛发图像是对所述第一面部图像进行毛发识别得到的;
图像融合模块,用于从多个所述第二面部图像中确定与所述原始面部图像匹配的第二面部图像,将所述匹配的第二面部图像对应的第二毛发图像与所述原始面部图像进行图像融合,得到融合面部图像;
图像生成模块,用于将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像;所述已训练的图像生成网络具有生成真实的面部图像的功能;
特征更新模块,用于基于所述候选面部图像与所述融合面部图像之间的图像差异值,更新当前图像特征,返回将当前图像特征输入到已训练的图像生成网络中,生成候选面部图像的步骤,直到所述图像差异值小于差异阈值为止;
图像确认模块,将所述图像差异值小于差异阈值情况下的候选面部图像,确定为所述原始面部图像对应的包括毛发的目标面部图像。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202211228395.1A 2022-10-08 2022-10-08 图像处理方法、装置、计算机设备和存储介质 Pending CN115546011A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211228395.1A CN115546011A (zh) 2022-10-08 2022-10-08 图像处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211228395.1A CN115546011A (zh) 2022-10-08 2022-10-08 图像处理方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN115546011A true CN115546011A (zh) 2022-12-30

Family

ID=84732775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211228395.1A Pending CN115546011A (zh) 2022-10-08 2022-10-08 图像处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115546011A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116704084A (zh) * 2023-08-01 2023-09-05 苏州浪潮智能科技有限公司 人脸动画生成网络的训练方法、人脸动画生成方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116704084A (zh) * 2023-08-01 2023-09-05 苏州浪潮智能科技有限公司 人脸动画生成网络的训练方法、人脸动画生成方法及装置
CN116704084B (zh) * 2023-08-01 2023-11-03 苏州浪潮智能科技有限公司 人脸动画生成网络的训练方法、人脸动画生成方法及装置

Similar Documents

Publication Publication Date Title
CN109961507B (zh) 一种人脸图像生成方法、装置、设备及存储介质
CN109325437B (zh) 图像处理方法、装置和系统
WO2022078041A1 (zh) 遮挡检测模型的训练方法及人脸图像的美化处理方法
CN111353546B (zh) 图像处理模型的训练方法、装置、计算机设备和存储介质
CN113570684A (zh) 图像处理方法、装置、计算机设备和存储介质
CN113870401B (zh) 表情生成方法、装置、设备、介质和计算机程序产品
CN111815768B (zh) 三维人脸重建方法和装置
CN116580257A (zh) 特征融合模型训练及样本检索方法、装置和计算机设备
CN114067041A (zh) 三维模型的材质生成方法、装置、计算机设备和存储介质
CN113658324A (zh) 图像处理方法及相关设备、迁移网络训练方法及相关设备
CN115546011A (zh) 图像处理方法、装置、计算机设备和存储介质
CN117372604B (zh) 一种3d人脸模型生成方法、装置、设备及可读存储介质
CN117078790B (zh) 图像生成方法、装置、计算机设备和存储介质
Jung et al. Learning free-form deformation for 3D face reconstruction from in-the-wild images
CN111028318A (zh) 一种虚拟人脸合成方法、系统、装置和存储介质
CN113822965A (zh) 图像渲染处理方法、装置和设备及计算机存储介质
CN115393183B (zh) 图像编辑方法、装置、计算机设备和存储介质
Liu et al. 3DFP-FCGAN: Face completion generative adversarial network with 3D facial prior
CN114333038B (zh) 对象识别模型的训练方法和对象识别方法、装置、设备
CN115690276A (zh) 虚拟形象的视频生成方法、装置、计算机设备和存储介质
CN115731442A (zh) 图像处理方法、装置、计算机设备和存储介质
CN114445427A (zh) 图像处理方法、装置、电子设备及存储介质
CN114820907A (zh) 人脸图像卡通化处理方法、装置、计算机设备和存储介质
CN114782240A (zh) 图片处理方法以及装置
Deng et al. Deformable feature interaction network and graph structure reasoning for 3D dense alignment and face reconstruction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination