CN113609960A - 一种目标图片的人脸驱动方法及装置 - Google Patents

一种目标图片的人脸驱动方法及装置 Download PDF

Info

Publication number
CN113609960A
CN113609960A CN202110883953.7A CN202110883953A CN113609960A CN 113609960 A CN113609960 A CN 113609960A CN 202110883953 A CN202110883953 A CN 202110883953A CN 113609960 A CN113609960 A CN 113609960A
Authority
CN
China
Prior art keywords
face
sample
picture
video frame
driven
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.)
Granted
Application number
CN202110883953.7A
Other languages
English (en)
Other versions
CN113609960B (zh
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110883953.7A priority Critical patent/CN113609960B/zh
Publication of CN113609960A publication Critical patent/CN113609960A/zh
Application granted granted Critical
Publication of CN113609960B publication Critical patent/CN113609960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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
    • G06T2207/30201Face
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明实施例提供了一种目标图片的人脸驱动方法及装置,涉及图片处理技术领域,上述方法包括:获得驱动源图片和目标图片;提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。应用本发明实施例提供的方案对目标图片的人脸进行人脸驱动,能够丰富所生成的已驱动图片中人脸面部细节。

Description

一种目标图片的人脸驱动方法及装置
技术领域
本发明涉及图像处理技术领域,特别是涉及一种目标图片的人脸驱动方法及装置。
背景技术
图片的人脸驱动是指驱动图片中的人脸,使得图片中所包含人脸发生变化。通常可以基于驱动源图片,对目标图片中的人脸进行驱动。然而,在对目标图片的人脸进行驱动时,生成的已驱动图片中人脸面部细节不全面。
发明内容
本发明实施例的目的在于提供一种目标图片的人脸驱动方法及装置,以丰富所生成的已驱动图片中人脸面部细节。具体技术方案如下:
第一方面,本发明实施例提供了一种目标图片的人脸驱动方法,所述方法包括:
获得驱动源图片和目标图片;
提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
本发明的一个实施例中,上述提取所述驱动源图片的身份特征信息,包括:
将所述驱动源图片输入预先训练好的图片驱动模型中的编码器,获得编码器输出的图片编码,作为身份特征信息;
所述图片驱动模型,还包括生成器;
所述基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片,包括:
将所述人脸三维网格数据和所述身份特征信息输入所述图片驱动模型中的生成器,获得所述图片驱动模型中的生成器基于所述人脸三维网格数据和所述身份特征信息对所述目标图片进行特征融合,生成与所述人脸三维网格数据及身份特征信息均一致的已驱动图片。
本发明的一个实施例中,上述图片驱动模型,采用如下步骤获得:
确定图片驱动模型对应的第一训练模型,所述第一训练训练模型,包括:第一编码器、第一生成器和第一判别器;
获得样本驱动源图片和样本目标图片;
获得所述样本目标图片中样本人脸的样本人脸三维网格数据;
将所述样本驱动源图片输入所述第一编码器,获得所述第一编码器输出的图像编码,作为第一样本源身份特征信息;
将所述第一样本源身份特征信息以及所述样本人脸三维网格数据输入所述第一生成器,获得所述第一生成器基于所述第一样本源身份特征信息以及所述样本人脸三维网格数据,对所述样本目标图片进行特征融合,生成样本已驱动图片;
将所述样本已驱动图片、所述样本目标图片以及所述样本人脸三维网格数据输入所述第一判别器,获得所述第一判别器对第一损失值和第二损失值进行数据融合得到的第一目标损失值,其中,所述第一损失值为:基于第一预设损失函数计算得到的所述样本已驱动图片与所述样本目标图片之间的损失值,所述第二损失值为:基于第二预设损失函数计算得到的所述样本已驱动图片中人脸的人脸三维网格数据与所述样本人脸三维网格数据之间的损失值;
若基于所述第一目标损失值确定第一训练模型不收敛,则调整所述第一编码器、第一生成器和第一判别器的模型参数,继续训练;
若基于所述第一目标损失值确定第一训练模型收敛,则训练完成,将第一判别器去除,得到训练完成的图片驱动模型;
所述第一预设损失函数
Figure BDA0003193285270000021
为:
Figure BDA0003193285270000022
其中,
Figure BDA0003193285270000031
表示样本已驱动图片,x(t)表示样本目标图片;
所述第二预设损失函数
Figure BDA0003193285270000032
为:
Figure BDA0003193285270000033
其中,S表示所述人脸三维网格数据中顶点的数量,
Figure BDA0003193285270000034
表示样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,mi(t)表示所述样本人脸三维网格数据中各顶点的坐标。
本发明的一个实施例中,上述第一目标损失值,按照以下表达式对所述第一损失值和第二损失值进行数据融合:
Figure BDA0003193285270000035
其中,
Figure BDA0003193285270000036
为数据融合后得到的数值,
Figure BDA0003193285270000037
表示所述第一损失值,
Figure BDA0003193285270000038
表示所述第二损失值,α表示第一预设权重,β表示第二预设权重。
本发明的一个实施例中,上述目标图片为:目标视频的第一帧视频帧图像,
所述基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片,包括:
基于所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据和所述身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与所述第一帧人脸三维网格数据和所述身份特征信息均一致的第一帧已驱动视频帧图像;
所述方法还包括:
获得所述目标视频中第一帧之后的当前视频帧图像,并获得上一帧已驱动视频帧图像,其中,所述上一帧已驱动视频帧图像为:所述当前视频帧图像的上一帧进行人脸驱动后生成的视频帧图像;
获取所述当前视频帧图像中待驱动人脸的当前人脸三维网格数据;
提取所述上一帧已驱动视频帧图像的当前身份特征信息;
基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,上述提取所述上一帧已驱动视频帧图像的当前身份特征信息,包括:
将所述上一帧已驱动视频帧图像输入预先训练好的视频帧图像驱动模型中的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为当前身份特征信息;
所述视频帧图像驱动模型,还包括生成器;
所述基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像,包括:
将所述当前人脸三维网格数据和当前身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与当前人脸三维网格数据及当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,上述第一帧已驱动视频帧图像,采用如下步骤生成:
获取所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据;
将驱动源图像输入所述视频帧图像驱动模型的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为驱动源图像的身份特征信息;
将所述第一帧人脸三维网格数据和身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述第一帧人脸三维网格数据和身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据以及身份特征信息一致的第一帧已驱动视频帧图像。
本发明的一个实施例中,上述视频帧图像驱动模型,采用如下步骤训练获得:
确定视频帧图像驱动模型对应的第二训练模型;所述第二训练模型,包括:第二编码器、第二生成器和第二判别器;
从指定的样本视频中获得样本驱动源图像和样本目标视频帧图像;
提取所述样本目标视频帧图像中样本人脸的第一人脸三维网格数据,并提取所述样本驱动源图像的第二人脸三维网格数据;
将所述样本驱动源图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为第二样本源身份特征信息;
将所述第二样本源身份特征信息以及所述第一人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述第二样本源身份特征信息以及所述第一人脸三维网格数据,对所述样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像;
将所述第一次样本已驱动视频帧图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为当前样本身份特征信息;
将所述当前样本身份特征信息以及所述第二样本人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述当前样本身份特征信息以及所述第二样本人脸三维网格数据,对所述样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像;
将所述第二次样本已驱动视频帧图像、所述样本驱动源图像以及所述第二样本人脸三维网格数据输入所述第二判别器,获得所述第二判别器对第三损失值和第四损失值进行数据融合得到的第二目标损失值,其中,所述第三损失值为:基于第三预设损失函数计算得到的所述第二次样本已驱动视频帧图像与所述样本驱动源图像之间的损失值,所述第四损失值为:基于第四预设损失函数计算得到的所述第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与所述第二样本人脸三维网格数据之间的损失值;
若基于所述第二目标损失值确定第二训练模型不收敛,则调整所述第二编码器、第二生成器和第二判别器的模型参数,继续训练;
若基于所述第二目标损失值确定第二训练模型收敛,则训练完成,将第二判别器去除,得到训练完成的视频图像驱动模型。
第二方面,本发明实施例提供了一种目标图片的人脸驱动装置,所述装置包括:
图片获得模块,用于获得驱动源图片和目标图片;
信息获得模块,用于提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
图片生成模块,用于基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
本发明的一个实施例中,上述信息获得模块,具体用于将所述驱动源图片输入预先训练好的图片驱动模型中的编码器,获得编码器输出的图片编码,作为身份特征信息;
所述图片驱动模型,还包括生成器;
本发明的一个实施例中,上述图片生成模块,具体用于将所述人脸三维网格数据和所述身份特征信息输入所述图片驱动模型中的生成器,获得所述图片驱动模型中的生成器基于所述人脸三维网格数据和所述身份特征信息对所述目标图片进行特征融合,生成与所述人脸三维网格数据及身份特征信息均一致的已驱动图片。
本发明的一个实施例中,上述装置还包括,第一模型训练模块,所述第一模型训练模块,包括:
第一训练模型确定子模块,用于确定图片驱动模型对应的第一训练模型,所述第一训练训练模型,包括:第一编码器、第一生成器和第一判别器;
样本图片获得子模块,用于获得样本驱动源图片和样本目标图片;
第一数据获取子模块,用于获得所述样本目标图片中样本人脸的样本人脸三维网格数据;
第一信息获得子模块,用于将所述样本驱动源图片输入所述第一编码器,获得所述第一编码器输出的图像编码,作为第一样本源身份特征信息;
图片生成子模块,用于将所述第一样本源身份特征信息以及所述样本人脸三维网格数据输入所述第一生成器,获得所述第一生成器基于所述第一样本源身份特征信息以及所述样本人脸三维网格数据,对所述样本目标图片进行特征融合,生成样本已驱动图片;
第一损失值获得子模块,用于将所述样本已驱动图片、所述样本目标图片以及所述样本人脸三维网格数据输入所述第一判别器,获得所述第一判别器对第一损失值和第二损失值进行数据融合得到的第一目标损失值,其中,所述第一损失值为:基于第一预设损失函数计算得到的所述样本已驱动图片与所述样本目标图片之间的损失值,所述第二损失值为:基于第二预设损失函数计算得到的所述样本已驱动图片中人脸的人脸三维网格数据与所述样本人脸三维网格数据之间的损失值;
第一模型调整子模块,用于若基于所述第一目标损失值确定第一训练模型不收敛,则调整所述第一编码器、第一生成器和第一判别器的模型参数,继续训练;
第一驱动模型确定子模块,用于若基于所述第一目标损失值确定第一训练模型收敛,则训练完成,将第一判别器去除,得到训练完成的图片驱动模型;
所述第一预设损失函数
Figure BDA0003193285270000071
为:
Figure BDA0003193285270000072
其中,
Figure BDA0003193285270000073
表示样本已驱动图片,x(t)表示样本目标图片;
所述第二预设损失函数
Figure BDA0003193285270000074
为:
Figure BDA0003193285270000075
其中,S表示所述人脸三维网格数据中顶点的数量,
Figure BDA0003193285270000076
表示样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,mi(t)表示所述样本人脸三维网格数据中各顶点的坐标。
本发明的一个实施例中,上述第一模型训练模块,还包括损失值计算子模块,所述损失值计算子模块,具体用于按照以下表达式对所述第一损失值和第二损失值进行数据融合:
Figure BDA0003193285270000081
其中,
Figure BDA0003193285270000082
为数据融合后得到的数值,
Figure BDA0003193285270000083
表示所述第一损失值,
Figure BDA0003193285270000084
表示所述第二损失值,α表示第一预设权重,β表示第二预设权重。
本发明的一个实施例中,上述目标图片为:目标视频的第一帧视频帧图像,第一图像获得模块,用于获得驱动源图片和目标视频的第一帧视频帧图像;
信息获得模块,用于提取所述驱动源图片的身份特征信息,并获得所述第一帧视频帧图像中待驱动人脸的人脸三维网格数据;
第一图像生成模块,具体用于基于所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据和所述身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与所述第一帧人脸三维网格数据和所述身份特征信息均一致的第一帧已驱动视频帧图像;
上述装置还包括:
第二图像获得模块,用于获得所述目标视频中第一帧之后的当前视频帧图像,并获得上一帧已驱动视频帧图像,其中,所述上一帧已驱动视频帧图像为:所述当前视频帧图像的上一帧进行人脸驱动后生成的视频帧图像;
网格数据获取模块,用于获取所述当前视频帧图像中待驱动人脸的当前人脸三维网格数据;
信息提取模块,用于提取所述上一帧已驱动视频帧图像的当前身份特征信息;
第一图像生成模块,用于基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,上述信息提取模块,具体用于将所述上一帧已驱动视频帧图像输入预先训练好的视频帧图像驱动模型中的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为当前身份特征信息;
所述视频帧图像驱动模型,还包括生成器;
上述第一图像生成模块,具体用于将所述当前人脸三维网格数据和当前身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与当前人脸三维网格数据及当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,实现对第一帧视频帧图像进行人脸驱动模块包括以下各子模块:
第二数据获取子模块,用于获取所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据;
第二信息获得子模块,用于将驱动源图像输入所述视频帧图像驱动模型的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为驱动源图像的身份特征信息;
第一图像生成子模块,用于将所述第一帧人脸三维网格数据和身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述第一帧人脸三维网格数据和身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据以及身份特征信息一致的第一帧已驱动视频帧图像。
本发明的一个实施例中,上述装置还包括,第二模型训练模块,上述第二模型训练模块,包括:
第二训练模型确定子模块,用于确定视频帧图像驱动模型对应的第二训练模型;所述第二训练模型,包括:第二编码器、第二生成器和第二判别器;
样本图像获得子模块,用于从指定的样本视频中获得样本驱动源图像和样本目标视频帧图像;
第三数据获取子模块,用于获得所述样本目标视频帧图像中样本人脸的第一人脸三维网格数据,并获得所述样本驱动源图像的第二人脸三维网格数据;
第三信息获得子模块,用于将所述样本驱动源图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为第二样本源身份特征信息;
第二图像生成子模块,用于将所述第二样本源身份特征信息以及所述第一人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述第二样本源身份特征信息以及所述第一人脸三维网格数据,对所述样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像;
第四信息获得子模块,用于将所述第一次样本已驱动视频帧图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为当前样本身份特征信息;
第三图像生成子模块,用于将所述当前样本身份特征信息以及所述第二样本人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述当前样本身份特征信息以及所述第二样本人脸三维网格数据,对所述样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像;
第二损失值获得子模块,用于将所述第二次样本已驱动视频帧图像、所述样本驱动源图像以及所述第二样本人脸三维网格数据输入所述第二判别器,获得所述第二判别器对第三损失值和第四损失值进行数据融合得到的第二目标损失值,其中,所述第三损失值为:基于第三预设损失函数计算得到的所述第二次样本已驱动视频帧图像与所述样本驱动源图像之间的损失值,所述第四损失值为:基于第四预设损失函数计算得到的所述第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与所述第二样本人脸三维网格数据之间的损失值;
第二模型调整子模块,用于若基于所述第二目标损失值确定第二训练模型不收敛,则调整所述第二编码器、第二生成器和第二判别器的模型参数,继续训练;
第二驱动模型确定子模块,用于若基于所述第二目标损失值确定第二训练模型收敛,则训练完成,将第二判别器去除,得到训练完成的视频图像驱动模型。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
由以上可见,应用本实施例提供的方案对目标图片中人脸进行人脸驱动时,所生成的已驱动图片是与人脸三维网格数据和身份特征信息均一致的图片,也就是,所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得所生成的已驱动图片中人脸面部细节信息较为全面。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种目标图片的人脸驱动方法的流程示意图;
图2为本发明实施例提供的一种人脸三维网格的示意图;
图3a为本发明实施例提供的第一种图片的示意图;
图3b为本发明实施例提供的第二种图片的示意图;
图3c为本发明实施例提供的第三种图片的示意图;
图4a为本发明实施例提供的第二种目标图片的人脸驱动方法的流程示意图;
图4b为本发明实施例提供的一种应用图片驱动模型生成图片的流程示意图;
图5a为本发明实施例提供的一种图片驱动模型的训练方法的流程示意图;
图5b为本发明实施例提供的一种图片驱动模型的训练方法的流程框图;
图5c为本发明实施例提供的一种图片驱动模型的完整训练过程的流程框图;
图6为本发明实施例提供的第一种视频帧图像的人脸驱动方法的流程示意图;
图7a为本发明实施例提供的第二种视频帧图像的人脸驱动方法的流程示意图;
图7b为本发明实施例提供的一种第一帧已驱动视频帧图像的生成方法的流程框图;
图8a为本发明实施例提供的一种应用视频帧图像驱动模型生成图像的流程示意图;
图8b为本发明实施例提供的一种应用视频帧图像驱动模型生成图像的流程框图;
图9为本发明实施例提供的一种视频帧图像驱动模型的训练方法的流程示意图;
图10为本发明实施例提供的一种视频帧图像驱动模型的训练方法的流程框图;
图11为本发明实施例提供的第一种目标图片的人脸驱动装置装置的结构示意图;
图12为本发明实施例提供的一种模型训练模块的结构示意图;
图13为本发明实施例提供的第二种目标图片的人脸驱动装置的结构示意图;
图14为本发明实施例提供的一种第二图像生成模块的结构示意图;
图15为本发明实施例提供的一种第二模型训练模块的结构示意图;
图16为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中所生成的已驱动图片中人脸面部细节不全面,为解决这一技术问题,本发明实施例提供了一种目标图片的人脸驱动方法及装置。
本发明的一个实施例中,提供了一种目标图片的人脸驱动方法,该方法包括:
获得驱动源图片和目标图片;
提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
由以上可见,应用本实施例提供的方案对目标图片中人脸进行人脸驱动时,所生成的已驱动图片是与人脸三维网格数据和身份特征信息均一致的图片,也就是,所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得所生成的已驱动图片中人脸面部细节信息较为全面。
在对本发明实施例提供的人脸驱动方法进行具体说明之前,首先,对本发明实施例涉及的概念进行解释。
1.人脸
人脸是指图片中包括的人脸,上述人脸是一个泛指的概念,具体可以包括:真实人类的人脸、动画人物脸以及动物脸等。
2.驱动源图片
驱动源图像是指:进行人脸驱动时使用的身份特征信息所来源的图片。
例如:假设待进行人脸驱动的目标图片中人脸为人脸A,人脸驱动时需要将上述人脸A替换为动画人物脸B,包含动画人物脸B的图片可以实现人脸驱动,上述包含动画人脸B的图片为驱动源图片。
3、三维网格数据
三维网格数据是指3D mesh(3Dimensional mesh,三维网格)的数据,三维网格数据包括3D mesh中各顶点的坐标、顶点数量等信息。
其次,对本发明实施例的应用场景进行说明。
本发明实施例的应用场景可以为:对图片中人脸进行人脸驱动的应用场景,上述图片可以是图像采集设备采集的图片,上述图像采集设备包括:相机、摄像头等;上述图像也可以是绘制的图片,如绘制的插画、绘制的动漫图片等。
上述图像还可以是视频中的视频帧图像,上述视频可以为实时直播的视频,如游戏直播、视频会议等;上述视频还可以为预先录制的视频,如电视剧、电影、动画、纪录片等。
参见图1,图1为本发明实施例提供的第一种目标图片的人脸驱动方法的流程示意图,上述方法包括以下步骤S101-S103。
步骤S101:获得驱动源图片和目标图片。
上述驱动源图片可以是用户选择的图片,也可以是预先设定的图片。
上述目标图片是指待进行人脸驱动的图片。具体的,上述目标图片可以是图像采集设备采集的图片,也可以是绘制的图片,还可以是视频中的视频帧图像。
步骤S102:提取驱动源图片的身份特征信息,并获得目标图片中待驱动人脸的人脸三维网格数据。
上述身份特征信息表征驱动源图片中人脸的人脸特征信息。
具体的,可以对驱动源图片进行图像编码,获得反映上述驱动源图片的身份特征信息的编码结果,作为当前身份特征信息。
上述人脸三维网格数据包括:人脸三维网格中各顶点坐标、顶点数量等信息。以图2为例,图2为本发明实施例提供的一种人脸三维网格的示意图,从图2可以看到,人脸三维网格中各顶点密集分布在人脸上,即使人脸中出现的微表情、姿态等面部细节信息,上述人脸三维网格中各顶点也能够较为准确地捕捉到。
基于此,上述人脸三维网格数据能够准确、充分地反映上述待驱动人脸的面部微表情、姿态等面部细节信息。
具体的,可以对目标图片中待驱动人脸进行人脸三维网格建模,基于建模后得到的人脸三维网格中各顶点的坐标、数量等信息,确定人脸三维网格数据。
还可以将上述目标图片输入至预先训练好的人脸网格模型,获得人脸网格模型输出的目标图片中待驱动人脸的人脸三维网格中各顶点的坐标、数量等信息,作为人脸三维网格数据。
步骤S103:基于人脸三维网格数据和身份特征信息,对目标图片进行特征融合,生成与人脸三维网格数据和身份特征信息均一致的已驱动图片。
上述所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得已驱动图片中人脸面部细节信息较为全面。
具体的,可以提取人脸三维网格数据中待驱动人脸的微表情姿态特征信息,基于上述微表情姿态特征信息以及身份特征信息,对目标图片进行特征融合,生成与微表情姿态特征信息以及身份特征信息均一致的已驱动图片。
在进行特征融合时,可以对上述身份特征信息以及微表情姿态特征信息进行卷积处理,将卷积处理后得到的图片作为已驱动图片。
以图3a、图3b以及图3c为例,图3a所示的图片为目标图片,图3b所示的图片为驱动源图片,基于图3a所示的图片中动物脸的人脸三维网格数据以及图3b所示的图片的身份特征信息、对图3a所示的图片进行特征融合,生成的图片如图3c所示。
从图3c可以看到,图3c所示的图片中动物脸的微表情姿态与图3a中动物脸的微表情姿态一致,且图3c所示的图片的身份特征信息与图3b的身份特征信息一致。
由以上可见,应用本实施例提供的方案对目标图片中人脸进行人脸驱动时,所生成的已驱动图片是与人脸三维网格数据和身份特征信息均一致的图片,也就是,所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得所生成的已驱动图片中人脸面部细节信息较为全面。
本发明实施例,可以采用预先训练好的图片驱动模型实现,上述图片驱动模型包括编码器和生成器。
参见图4a,图4a为本发明实施例提供的第二种目标图片的人脸驱动方法的流程示意图,上述步骤S102,可以按照步骤S1021实现。
步骤S1021:将驱动源图片输入预先训练好的图片驱动模型中的编码器,获得编码器输出的图片编码,作为身份特征信息,并获得目标图片中待驱动人脸的人脸三维网格数据。
具体的,编码器可以对上述图像进行图像编码,得到反映上述身份特征信息的编码结果,作为身份特征信息。
上述步骤S103,可以按照步骤S1031实现。
步骤S1031;将人脸三维网格数据和身份特征信息输入图片驱动模型中的生成器,获得图片驱动模型中的生成器基于人脸三维网格数据和身份特征信息对目标图片进行特征融合,生成与人脸三维网格数据及身份特征信息均一致的已驱动图片。
具体的,生成器可以对人脸三维网格数据和身份特征信息进行卷积扩大处理,得到目标图片中各像素点的多通道的像素值,从而生成与人脸三维网格数据及身份特征信息均一致的已驱动图片。
这样,由于是采用预先训练好的图片驱动模型中的编码器确定身份特征信息,并采用上述模型中的生成器生成已驱动图片,又由于图片驱动模型是预先训练好的,上述模型学习到了提取图片的身份特征信息、以及基于身份特征信息和人脸三维网格数据生成已驱动图片的规律,那么利用上述模型能够更加准确提取得到身份特征信息以及生成已驱动图片。
以下结合具体流程示意图对上述实施例的人脸驱动方法进行具体说明。
参见图4b,图4b为本发明实施例提供的一种应用图片驱动模型生成图片的流程示意图。
在图4b中,将驱动源图片输入至编码器,编码器对驱动源图片进行图像编码,得到反映身份特征信息的图像编码结果,编码器将上述图像编码结果输入至生成器;
上述生成器除了获得上述图像编码结果,还获得目标图片中待驱动人脸的人脸三维网格数据,生成器基于上述图像编码结果以及上述人脸三维网格数据,对目标图片进行特征融合,生成已驱动图片。
以下对本发明实施例提供的图片驱动模型的训练过程进行说明。
参见图5a,图5a为本发明实施例提供的一种图片驱动模型的训练方法的流程示意图,上述方法包括以下步骤S501-S508。
步骤S501:确定图片驱动模型对应的第一训练模型。
上述第一训练训练模型,包括:第一编码器、第一生成器和第一判别器。
上述第一判别器可以是对抗网络模型,用于判断第一生成器生成的图像是否准确,并基于判断结果调整训练模型的模型参数。
步骤S502:获得样本驱动源图片和样本目标图片。
上述样本驱动源图片和样本目标图片作为图像对,图像对的数量可以为1个,也可以为多个。
步骤S503:获得样本目标图片中样本人脸的样本人脸三维网格数据。
具体的,可以将上述样本目标图片输入预先训练好的人脸网格模型,获得人脸网格模型输出的样本目标图片中样本人脸的人脸三维网格中各顶点的坐标、数量等信息,作为人脸三维网格数据。
步骤S504:将样本驱动源图片输入第一编码器,获得第一编码器输出的图像编码,作为第一样本源身份特征信息。
上述编码器可以基于样本驱动源图片的身份特征信息对上述样本驱动源图片进行图片编码,得到表征样本驱动源图片的身份特征信息的图片编码结果,作为第一样本源身份特征信息。
具体的,编码器用于对样本驱动源图片进行卷积处理,得到上述样本驱动源图片对应的矢量值,将得到的矢量值作为图片编码结果。
步骤S505:将第一样本源身份特征信息以及样本人脸三维网格数据输入第一生成器,获得第一生成器基于第一样本源身份特征信息以及样本人脸三维网格数据,对样本目标图片进行特征融合,生成样本已驱动图片。
上述第一生成器可以对第一样本源身份特征以及样本人脸三维网格数据进行卷积处理,基于样本目标图片和卷积处理后的信息,生成样本已驱动图片。
具体的,生成器可以基于得到的矢量值对样本人脸三维网格数据进行卷积扩大处理,生成多通道的图像,作为样本已驱动图片。
步骤S506:将样本已驱动图片、样本目标图片以及样本人脸三维网格数据输入第一判别器,获得第一判别器对第一损失值和第二损失值进行数据融合得到的第一目标损失值。
上述第一损失值为:基于第一预设损失函数计算得到的样本已驱动图片与样本目标图片之间的损失值。
上述第一预设损失函数
Figure BDA0003193285270000191
为:
Figure BDA0003193285270000192
其中,
Figure BDA0003193285270000193
表示样本已驱动图片,x(t)表示样本目标图片。
Figure BDA0003193285270000194
表示计算
Figure BDA0003193285270000195
的一阶范数。
上述第二损失值为:基于第二预设损失函数计算得到的样本已驱动图片中人脸的人脸三维网格数据与样本人脸三维网格数据之间的损失值。
上述第二预设损失函数
Figure BDA0003193285270000196
为:
Figure BDA0003193285270000197
其中,S表示人脸三维网格数据中顶点的数量,
Figure BDA0003193285270000198
表示样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,mi(t)表示样本人脸三维网格数据中各顶点的坐标。
由于第一目标损失值是第一损失值和第二损失值进行数值融合得到的损失值,且第二损失值表示样本已驱动图片中人脸的人脸三维网格数据与样本人脸三维网格数据之间的损失值,在基于第一目标损失值调整第一训练模型的模型参数,使得训练结束得到的图片驱动模型能够更好地学习到图片中人脸的人脸三维网格数据的特征,从而基于上述图片驱动模型所生成的已驱动图片中面部细节较为全面、丰富。
具体的,可以按照第一预设权重和第二预设权重,对上述第一损失值和第二损失值进行加权求和,将计算得到的值作为第一目标损失值。
具体可以采用以下表达式计算上述第一目标损失值。
Figure BDA0003193285270000199
其中,
Figure BDA00031932852700001910
为数据融合后得到的数值,
Figure BDA00031932852700001911
表示第一损失值,
Figure BDA00031932852700001912
表示第二损失值,α表示第一预设权重,β表示第二预设权重。
步骤S507:若基于第一目标损失值确定第一训练模型不收敛,则调整第一编码器、第一生成器和第一判别器的模型参数,继续训练。
具体的,可以将计算得到的损失值与上一次训练时计算得到的损失值进行比较,当二者损失值之间的差异超过预设差异阈值,朝着上一次训练时调整模型参数的方向相反方向调整模型参数;当二者损失值之间的差异未超过预设差异阈值,朝着上一次训练时调整模型参数的方向相同方向调整模型参数。
步骤S508:若基于第一目标损失值确定第一训练模型收敛,则训练完成,将第一判别器去除,得到训练完成的图片驱动模型。
这样,由于第一目标损失值是第一损失值和第二损失值进行数值融合得到的损失值,且第二损失值表示样本已驱动图片中人脸的人脸三维网格数据与样本人脸三维网格数据之间的损失值,在基于第一目标损失值调整第一训练模型的模型参数,使得训练结束得到的图片驱动模型能够更好地学习到图片中人脸的人脸三维网格数据的特征,从而基于上述图片驱动模型所生成的已驱动图片中面部细节较为全面、丰富。
以下结合图5b,对训练上述训练模型的过程进行说明。
在图5b中,第一编码器,获得样本驱动源图片,对样本驱动源图片进行图像编码,输出样本驱动源图片的图像编码,作为第一样本源身份特征信息,并将图像编码输入第一生成器;
第一生成器,获得样本目标图片的样本人脸三维网格数据,基于样本源身份特征信息以及样本人脸三维网格数据,对样本目标图片进行特征融合,生成样本已驱动图片,并将样本已驱动图片输入第一判别器;
第一判别器,基于第一预设损失函数计算样本已驱动图片与样本目标图片之间的第一损失值,并基于第二预设损失函数计算样本已驱动图片中人脸的人脸三维网格数据与样本人脸三维网格数据之间的第二损失值,基于第一损失值与第二损失值进行数据融合后得到的第一目标损失值确定训练模型不收敛,则调整第一编码器、第一生成器和第一判别器的模型参数,继续训练;若基于上述第一目标损失值确定训练模型收敛,则训练完成,将训练模型中的第一判别器去除,得到训练完成的视频图像驱动模型。
以下结合具体实施例以及图5c对上述训练模型的完整训练过程进行说明。
在图5c中,按照箭头指向的顺序,首先,将样本驱动源图片输入编码器,编码器对样本驱动源图片进行图像编码,得到反映源身份特征信息的图像编码结果,编码器将上述图像编码结果输入至生成器;
然后,生成器获得图像编码结果以及样本目标图片中人脸的样本人脸三维网格数据,生成器基于上述图像编码结果以及样本人脸三维网格数据,对样本目标图片进行特征融合,生成样本已驱动图片,生成器将上述样本已驱动图片输入至判别器;
最后,判别器基于第一预设损失函数计算样本已驱动图片与样本目标图片之间的第一损失值,并基于第二预设损失函数计算样本已驱动图片中人脸的人脸三维网格数据与样本人脸三维网格数据之间的第二损失值,基于第一损失值与第二损失值进行数据融合后得到的第一目标损失值确定训练模型不收敛,则调整编码器、生成器和判别器的模型参数,继续训练;若基于上述第一目标损失值确定训练模型收敛,则训练完成,将训练模型中的判别器去除,得到训练完成的视频图像驱动模型。
基于前述说明可知,目标图片可以为视频中的视频帧图像,在这种情况下,需要对视频帧图像中人脸进行人脸驱动。以下为视频帧图像的人脸驱动方法进行说明。
本发明的一个实施例中,上述目标图片为:目标视频的第一帧视频帧图像。
上述目标视频可以是实时直播的视频,如游戏直播、视频会议等;上述视频还可以为预先录制的视频,如电视剧、电影、动画、纪录片等。
上述第一帧视频帧图像是指目标视频中待进行人脸驱动的视频帧图像中播放时间最早的视频帧图像。
具体的,目标视频中各视频帧图像可以均为待进行人脸驱动的视频帧图像。还可以是目标视频中部分视频帧图像为待进行人脸驱动的视频帧图像,上述部分视频帧图像可以是连续播放的视频帧图像,还可以是非连续播放的视频帧图像。
在这种情况下,本发明实施例提供了一种视频帧图像的人脸驱动方法,参见图6,图6为本发明实施例提供的一种视频帧图像的人脸驱动方法的流程示意图。
上述步骤S103,可以按照以下步骤S1032实现。
步骤S1032:基于第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据和身份特征信息,对第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据和身份特征信息均一致的第一帧已驱动视频帧图像。
具体的,可以对上述身份特征信息以及第一帧人脸三维网格数据进行卷积处理,将卷积处理后得到的图像作为第一帧已驱动视频帧图像。
在上述实施例的基础上,上述方法还包括以下步骤S104-S107。
步骤S104:获得目标视频中第一帧之后的当前视频帧图像,并获得上一帧已驱动视频帧图像。
上述当前视频帧图像是指:目标视频的各待进行人脸驱动的视频帧图像中位于上述第一帧视频帧图像之后的各视频帧图像中,当前待进行人脸驱动的视频帧图像。
上述上一帧已驱动视频帧图像为:当前视频帧图像的上一帧进行人脸驱动后生成的视频帧图像。
当前视频帧图像的上一帧是指:待进行人脸驱动的视频帧图像中播放时间位于当前视频帧图像之前、且与当前视频帧图像相邻的视频帧图像。
例如:假设待进行人脸驱动的视频帧图像按照播放时间排列依次为:视频帧图像P1、视频帧图像P2、视频帧图像P3、视频帧图像P4,其中,视频帧图像P1为第一帧视频帧图像,P4为当前视频帧图像,视频帧图像P4的上一帧为视频帧图像P3,所以,视频帧图像P3为当前视频帧图像的上一帧,视频帧图像P3进行人脸驱动后生成的视频帧图像为上述上一帧已驱动视频帧图像。
具体的,可以获得目标视频的各待进行人脸驱动的视频帧图像,按照上述各视频帧图像的播放时间顺序,依次对上述每一视频帧图像进行人脸驱动,并在对除了第一帧图像进行人脸驱动之外,在每一次人脸驱动时,可以获得上一次进行人脸驱动时生成的已驱动视频帧图像,作为上一帧已驱动视频帧图像。
步骤S105:获取当前视频帧图像中待驱动人脸的当前人脸三维网格数据。
具体的,可以对当前视频帧图像中待驱动人脸进行人脸三维网格建模,基于建模后得到的人脸三维网格中各顶点的坐标、数量等信息,确定当前人脸三维网格数据。
还可以将上述当前视频帧图像输入至预先训练好的人脸网格模型,获得人脸网格模型输出的当前视频帧图像中待驱动人脸的人脸三维网格中各顶点的坐标、数量等信息,作为当前人脸三维网格数据。
步骤S106:提取上一帧已驱动视频帧图像的当前身份特征信息。
具体的,可以对上述上一帧已驱动视频帧图像进行图像编码,获得反映上述图像的身份特征信息的编码结果,作为当前身份特征信息。
步骤S107:基于当前人脸三维网格数据和当前身份特征信息,对当前视频帧图像进行特征融合,生成与当前人脸三维网格数据和当前身份特征信息均一致的当前已驱动视频帧图像。
具体的,可以提取当前人脸三维网格数据中待驱动人脸的微表情姿态特征信息,基于上述微表情姿态特征信息以及当前身份特征信息,对当前视频帧图像进行特征融合,生成与微表情姿态特征信息以及当前身份特征信息均一致的已驱动视频帧图像。
在进行特征融合时,可以对上述当前身份特征信息以及微表情姿态特征信息进行卷积处理,将卷积处理后得到的图像作为已驱动视频帧图像。
这样,所生成的当前已驱动视频帧图像与当前人脸三维网格数据及当前身份特征信息均一致,由于上述当前身份特征信息是上一帧已驱动视频帧图像的身份特征信息,所以当前已驱动视频帧图像的身份特征信息是与上一帧已驱动视频帧图像的身份特征信息一致;又由于第一帧已驱动视频帧图像是基于第一帧人脸三维网格数据和驱动源图像的身份特征信息生成的,第一帧已驱动视频帧图像的身份特征信息与上述驱动源图像的源身份特征信息的关联度高,那么各已驱动视频帧图像的身份特征信息与驱动源图像的源身份特征信息的关联度高,各已驱动视频帧图像的身份特征信息具有统一性。按照这样的方式生成的各已驱动视频帧图像,相邻两个已驱动视频帧图像之间的关联度高,且各已驱动视频帧图像的源身份特征信息具有统一性,在播放各已驱动视频帧图像时,缓解了视频抖动问题,提高了视频播放的稳定性。
另外,利用上一帧已驱动视频帧图像生成当前已驱动视频帧图像,使得所生成的各已驱动视频帧图像间一致,将这种图像生成策略称为循环时序一致性策略,利用这一策略,提高了视频播放的稳定性。
本发明实施例,可以采用预先训练好的视频帧图像驱动模型实现,上述视频帧图像驱动模型包括编码器和生成器。
参见图7a,图7a为本发明实施例提供的第二种视频帧图像的人脸驱动方法的流程示意图。
上述步骤S106,可以按照步骤S1061实现。
步骤S1061:将上一帧已驱动视频帧图像输入预先训练好的视频帧图像驱动模型中的编码器,获得视频帧图像驱动模型的编码器输出的图像编码,作为当前身份特征信息。
具体的,编码器可以对上述上一帧已驱动视频帧图像进行图像编码,得到反映上述身份特征信息的编码结果,作为当前身份特征信息。
上述步骤S107,可以按照步骤S1071实现。
步骤S1071:将当前人脸三维网格数据和当前身份特征信息输入视频帧图像驱动模型的生成器,获得视频帧图像驱动模型的生成器基于当前人脸三维网格数据和当前身份特征信息,对当前视频帧图像进行特征融合,生成与当前人脸三维网格数据及当前身份特征信息均一致的当前已驱动视频帧图像。
具体的,生成器可以对当前人脸三维网格数据和当前身份特征信息进行卷积扩大处理,得到当前视频帧图像中各像素点的多通道的像素值,从而生成与当前人脸三维网格数据及当前身份特征信息均一致的已驱动视频帧图像。
这样,由于是采用预先训练好的视频帧图像驱动模型中的编码器确定当前身份特征信息,并采用上述模型中的生成器生成已驱动图片,又由于视频帧图像驱动模型是预先训练好的,上述模型学习到了提取视频帧图像的身份特征信息以及生成人脸三维网格数据的规律,那么利用上述模型能够更加准确提取得到当前表情姿态特征信息以及生成已驱动图片。
以下结合图7b对采用上述视频帧图像驱动模型生成第一帧已驱动视频帧图像的过程进行说明。
图7b为本发明实施例提供的一种第一帧已驱动视频帧图像的生成方法的流程示意图。上述方法包括以下步骤S701-步骤S703。
步骤S701:获取第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据。
具体的,可以对第一帧视频帧图像中待驱动人脸进行人脸三维网格建模,基于建模后得到的人脸三维网格中各顶点的坐标、数量等信息,确定第一帧人脸三维网格数据。
还可以将上述第一帧视频帧图像输入至预先训练好的人脸网格模型,获得人脸网格模型输出的第一帧视频帧图像中待驱动人脸的人脸三维网格中各顶点的坐标、数量等信息,作为第一帧人脸三维网格数据。
步骤S702:将驱动源图像输入视频帧图像驱动模型的编码器,获得视频帧图像驱动模型的编码器输出的图像编码,作为驱动源图像的身份特征信息。
具体的,编码器对驱动源图像进行图像编码,得到反映上述身份特征信息的图像编码结果,作为驱动源图像的源身份特征信息。
步骤S703:将第一帧人脸三维网格数据和身份特征信息输入视频帧图像驱动模型的生成器,获得视频帧图像驱动模型的生成器基于第一帧人脸三维网格数据和身份特征信息,对第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据以及身份特征信息一致的第一帧已驱动视频帧图像。
具体的,生成器可以对第一帧人脸三维网格数据和身份特征信息进行卷积处理,基于第一帧视频帧图像和卷积处理后的信息,生成与第一帧人脸三维网格数据以及身份特征信息均一致的第一帧已驱动视频帧图像。
这样,由于是采用预先训练好的视频帧图像驱动模型中的编码器确定驱动源图像的身份特征信息,并采用上述模型中的生成器生成已驱动图片,又由于视频帧图像驱动模型是预先训练好的,上述模型学习到了提取图像的身份特征信息以及生成已驱动图片的规律,那么利用上述模型能够更加准确提取得到身份特征信息以及生成已驱动图片。
以下结合具体流程示意图对上述实施例的人脸驱动方法进行具体说明。
参见图8a,图8a为本发明实施例提供的一种应用视频帧图像驱动模型生成图像的流程示意图。
假设当前视频帧图像为第t+1帧视频帧图像,上一帧已驱动视频帧图像为第t帧视频帧图像进行人脸驱动后生成的视频帧图像,为方便说明,将上述上一帧已驱动视频帧图像称为生成的第t帧图像。
在图8a中,生成的第t帧图像输入至编码器,编码器对第t帧图像进行图像编码,得到反映身份特征信息的图像编码结果,编码器将上述图像编码结果输入至生成器;
上述生成器除了获得上述图像编码结果,还获得第t+1帧视频帧图像中待驱动人脸的人脸三维网格数据,生成器基于上述图像编码结果以及上述人脸三维网格数据,对第t+1帧视频帧图像进行特征融合,得到第t+1帧视频帧图像对应的已驱动视频帧图像。
另外,生成器还可以将生成的第t+1帧视频帧图像对应的已驱动视频帧图像输入至编码器中,继续对第t+2帧视频帧图像的人脸进行驱动,直至对最后一帧视频帧图像的人脸驱动完毕,得到各已驱动的视频帧图像。
以下结合图8b,对上述应用视频帧图像驱动模型生成第一帧已驱动视频帧图像的过程进行说明。
在图8b中,驱动源图像输入编码器,编码器对上述驱动源图像进行图像编码,得到反映身份特征信息的图像编码结果,编码器将上述图像编码结果输入至生成器;
上述生成器除了获得上述图像编码结果,还获得第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据,生成器基于上述图像编码结果以及上述第一帧人脸三维网格数据,对第一帧视频帧图像进行特征融合,得到第一帧已驱动视频帧图像。
以下对本发明实施例提供的视频帧图像驱动模型的训练过程进行说明。
参见图9,图9为本发明实施例提供的一种视频帧图像驱动模型的训练方法的流程示意图,上述方法包括以下步骤S901-S910。
步骤S901:确定视频帧图像驱动模型对应的第二训练模型。
上述第二训练模型,包括:第二编码器、第二生成器和第二判别器。上述第二判别器可以是对抗网络模型,用于判断第二生成器生成的图像是否准确,并基于判断结果调整第二训练模型的模型参数。
步骤S902:从指定的样本视频中获得样本驱动源图像和样本目标视频帧图像。
上述指定的样本视频可以是工作人员从视频库中选择得到的。
上述样本驱动源图像和样本目标视频帧图像间的帧间隔数量可以为预设间隔数量,上述预设间隔数量可以为2、3、4或5等。
上述样本驱动源图像和样本目标视频帧图像作为图像对,上述图像对的数量可以为1个,也可以为多个。
步骤S903;提取样本目标视频帧图像中样本人脸的第一人脸三维网格数据,并提取样本驱动源图像中样本人脸的第二人脸三维网格数据。
可以利用预先训练好的人脸网络模型,获取上述第一人脸三维网格数据以及第二人脸三维网格数据。
具体的,可以将上述样本目标视频帧图像输入至预先训练好的人脸网格模型,获得人脸网格模型输出的第一人脸三维网格数据,并将上述样本驱动源图像输入至预先训练好的人脸网格模型,获得人脸网格模型输出的第二人脸三维网格数据。
步骤S904:将样本驱动源图像输入第二编码器,获得第二编码器输出的图像编码,作为第二样本源身份特征信息。
上述第二编码器可以对上述样本驱动源图像进行图像编码,得到表征样本驱动源图像的身份特征信息的图像编码结果,作为样本源身份特征信息。
具体的,编码器用于对样本驱动源图像进行卷积处理,得到上述样本驱动源图像对应的矢量值,将得到的矢量值作为图像编码结果。
步骤S905:将第二样本源身份特征信息以及第一人脸三维网格数据输入第二生成器,获得第二生成器基于第二样本源身份特征信息以及第一人脸三维网格数据,对样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像。
上述第二生成器可以对第二样本源身份特征以及第一人脸三维网格数据进行卷积处理,基于样本目标视频帧图像和卷积处理后的信息,生成第一次样本已驱动视频帧图像。
步骤S906:将第一次样本已驱动视频帧图像输入第二编码器,获得第二编码器输出的图像编码,作为当前样本身份特征信息。
步骤S907:将当前样本身份特征信息以及第二样本人脸三维网格数据输入第二生成器,获得第二生成器基于当前样本身份特征信息以及第二样本人脸三维网格数据,对样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像。
步骤S908:将第二次样本已驱动视频帧图像、样本驱动源图像以及第二样本人脸三维网格数据输入第二判别器,获得第二判别器对第三损失值和第四损失值进行数据融合得到的第二目标损失值。
上述第三损失值为:基于第三预设损失函数计算得到的第二次样本已驱动视频帧图像与样本驱动源图像之间的损失值。
上述第三预设损失函数
Figure BDA0003193285270000281
为:
Figure BDA0003193285270000282
其中,
Figure BDA0003193285270000283
表示第二次样本已驱动视频帧图像,y(t)表示样本驱动源图像。
上述第四损失值为:基于第四预设损失函数计算得到的第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与第二样本人脸三维网格数据之间的损失值。
上述第四预设损失函数
Figure BDA0003193285270000291
为:
Figure BDA0003193285270000292
其中,P表示人脸三维网格数据中顶点的数量,
Figure BDA0003193285270000293
表示第二次样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,ni(t)表示第二样本人脸三维网格数据中各顶点的坐标。
具体的,可以按照采用第三预设权重和第四预设权重,对上述第三损失值和第四损失值进行加权求和,将计算得到的数值确定为第二目标损失值。
具体可以采用以下表达式计算第二目标损失值。
Figure BDA0003193285270000294
其中,
Figure BDA0003193285270000295
为数据融合后得到的数值,
Figure BDA0003193285270000296
表示第三损失值,
Figure BDA0003193285270000297
表示第四损失值,γ表示第三预设权重,δ表示第四预设权重。
步骤S909:若基于第二目标损失值确定第二训练模型不收敛,则调整第二编码器、第二生成器和第二判别器的模型参数,继续训练。
具体的,可以将计算得到的损失值与上一次训练时计算得到的损失值进行比较,当二者损失值之间的差异超过预设差异阈值,朝着上一次训练时调整模型参数的方向相反方向调整模型参数;当二者损失值之间的差异未超过预设差异阈值,朝着上一次训练时调整模型参数的方向相同方向调整模型参数。
步骤S910:若基于第二目标损失值确定第二训练模型收敛,则训练完成,将第二判别器去除,得到训练完成的视频图像驱动模型。
这样,由于生成器在生成第二次样本已驱动视频帧图像时,基于第一次样本已驱动视频帧图像的当前身份特征信息与样本驱动源的表情姿态特征信息生成的,并且生成第一次样本已驱动视频帧图像后,编码器还需要获得上述图像,并输出上述图像的图像编码,在训练过程中,能够使得编码器学习到基于生成器输出的已驱动图像进行图像编码的规律,并且能够使得生成器学习到基于编码器输出的图像编码结果对视频帧图像进行人脸驱动的规律,从而使得训练完成的视频帧图像驱动模型能够准确地对视频帧图像进行人脸驱动。
以下结合图10,对训练上述第二训练模型的过程进行说明。
从样本视频中选择间隔两个视频帧图像的视频帧图像,其中一帧作为样本驱动源图像,另一帧作为样本目标视频帧图像。
在图10中,首先采用第二编码器和第二生成器生成第一次样本已驱动视频帧图像,具体过程如下所示:
第二编码器,获得样本驱动源图像,对样本驱动源图像进行图像编码,输出样本驱动源图像的图像编码,作为第二样本源身份特征信息,并将图像编码输入第二生成器;
第二生成器,获得样本目标视频帧图像的第一人脸三维网格数据,基于图像编码以及第一人脸三维网格数据,对样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像,并将第一次样本已驱动视频帧图像输入第二编码器;
在生成第二次样本已驱动视频帧图像时仍然采用第二编码器和第二生成器生成,具体过程如下所示:
第二编码器,进一步的,对第一次样本已驱动视频帧图像进行图像编码,输出第一次样本已驱动视频帧图像的图像编码,作为当前样本身份特征信息,并将图像编码输入第二生成器;
第二生成器,进一步的,获得样本驱动源图像的第二样本人脸三维网格数据,基于第二样本人脸三维网格数据以及当前样本身份特征信息,对样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像,并将第二次样本已驱动视频帧图像输入第二判别器;
第二生成器生成第二次样本已驱动视频帧图像后,将上述图像输入至第二判别器,第二判别器基于上述图像对模型的参数进行调整,具体过程如下所示:
第二判别器,基于第三预设损失函数计算第二次样本已驱动视频帧图像与样本驱动源图像之间的第三损失值,并基于第四预设损失函数计算第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与第二样本人脸三维网格数据之间的第四损失值,将第三损失值和第四损失值进行数据融合计算得到第二目标损失值;
若基于第二目标损失值确定第二训练模型不收敛,则调整第二编码器、第二生成器和第二判别器的模型参数,继续训练;若基于第二目标损失值确定第二训练模型收敛,则训练完成,将第二训练模型中的第二判别器去除,得到训练完成的视频帧图像驱动模型。
与上述目标图片的人脸驱动方法相对应,本发明实施例还提供了一种目标图片的人脸驱动装置。
参见图11,图11为本发明实施例提供的一种目标图片的人脸驱动装置装置的结构示意图,上述装置包括以下模块1101-1103。
图片获得模块1101,用于获得驱动源图片和目标图片;
信息获得模块1102,用于提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
图片生成模块1103,用于基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
由以上可见,应用本实施例提供的方案对目标图片中人脸进行人脸驱动时,所生成的已驱动图片是与人脸三维网格数据和身份特征信息均一致的图片,也就是,所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得所生成的已驱动图片中人脸面部细节信息较为全面。
本发明的一个实施例中,上述信息获得模块1102,具体用于将所述驱动源图片输入预先训练好的图片驱动模型中的编码器,获得编码器输出的图片编码,作为身份特征信息;
所述图片驱动模型,还包括生成器;
本发明的一个实施例中,上述图片生成模块1103,具体用于将所述人脸三维网格数据和所述身份特征信息输入所述图片驱动模型中的生成器,获得所述图片驱动模型中的生成器基于所述人脸三维网格数据和所述身份特征信息对所述目标图片进行特征融合,生成与所述人脸三维网格数据及身份特征信息均一致的已驱动图片。
本发明的一个实施例中,上述装置还包括,第一模型训练模块,
参见图12,图12为本发明实施例提供的一种模型训练模块的结构示意图,上述第一模型训练模块,包括以下子模块1201-1208。
第一训练模型确定子模块1201,用于确定图片驱动模型对应的第一训练模型,所述第一训练训练模型,包括:第一编码器、第一生成器和第一判别器;
样本图片获得子模块1202,用于获得样本驱动源图片和样本目标图片;
第一数据获取子模块1203,用于获得所述样本目标图片中样本人脸的样本人脸三维网格数据;
第一信息获得子模块1204,用于将所述样本驱动源图片输入所述第一编码器,获得所述第一编码器输出的图像编码,作为第一样本源身份特征信息;
图片生成子模块1205,用于将所述第一样本源身份特征信息以及所述样本人脸三维网格数据输入所述第一生成器,获得所述第一生成器基于所述第一样本源身份特征信息以及所述样本人脸三维网格数据,对所述样本目标图片进行特征融合,生成样本已驱动图片;
第一损失值获得子模块1206,用于将所述样本已驱动图片、所述样本目标图片以及所述样本人脸三维网格数据输入所述第一判别器,获得所述第一判别器对第一损失值和第二损失值进行数据融合得到的第一目标损失值,其中,所述第一损失值为:基于第一预设损失函数计算得到的所述样本已驱动图片与所述样本目标图片之间的损失值,所述第二损失值为:基于第二预设损失函数计算得到的所述样本已驱动图片中人脸的人脸三维网格数据与所述样本人脸三维网格数据之间的损失值;
第一模型调整子模块1207,用于若基于所述第一目标损失值确定第一训练模型不收敛,则调整所述第一编码器、第一生成器和第一判别器的模型参数,继续训练;
第一驱动模型确定子模块1208,用于若基于所述第一目标损失值确定第一训练模型收敛,则训练完成,将第一判别器去除,得到训练完成的图片驱动模型;
所述第一预设损失函数
Figure BDA0003193285270000331
为:
Figure BDA0003193285270000332
其中,
Figure BDA0003193285270000333
表示样本已驱动图片,x(t)表示样本目标图片;
所述第二预设损失函数
Figure BDA0003193285270000334
为:
Figure BDA0003193285270000335
其中,S表示所述人脸三维网格数据中顶点的数量,
Figure BDA0003193285270000336
表示样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,mi(t)表示所述样本人脸三维网格数据中各顶点的坐标。
本发明的一个实施例中,上述第一模型训练模块,还包括损失值计算子模块,所述损失值计算子模块,具体用于按照以下表达式对所述第一损失值和第二损失值进行数据融合:
Figure BDA0003193285270000337
其中,
Figure BDA0003193285270000338
为数据融合后得到的数值,
Figure BDA0003193285270000339
表示所述第一损失值,
Figure BDA00031932852700003310
表示所述第二损失值,α表示第一预设权重,β表示第二预设权重。
本发明的一个实施例中,上述目标图片为:目标视频的第一帧视频帧图像,
参见图13,图13为本发明实施例提供的第二种目标图片的人脸驱动装置的结构示意图。
第一图像获得模块1301,用于获得驱动源图片和目标视频的第一帧视频帧图像;
信息获得模块1302,用于提取所述驱动源图片的身份特征信息,并获得所述第一帧视频帧图像中待驱动人脸的人脸三维网格数据;
第一图像生成模块1303,具体用于基于所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据和所述身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与所述第一帧人脸三维网格数据和所述身份特征信息均一致的第一帧已驱动视频帧图像;
上述装置还包括以下模块1304-1307。
第二图像获得模块1304,用于获得所述目标视频中第一帧之后的当前视频帧图像,并获得上一帧已驱动视频帧图像,其中,所述上一帧已驱动视频帧图像为:所述当前视频帧图像的上一帧进行人脸驱动后生成的视频帧图像;
网格数据获取模块1305,用于获取所述当前视频帧图像中待驱动人脸的当前人脸三维网格数据;
信息提取模块1306,用于提取所述上一帧已驱动视频帧图像的当前身份特征信息;
第二图像生成模块1307,用于基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,上述信息提取模块1306,具体用于将所述上一帧已驱动视频帧图像输入预先训练好的视频帧图像驱动模型中的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为当前身份特征信息;
所述视频帧图像驱动模型,还包括生成器;
上述第一图像生成模块1307,具体用于将所述当前人脸三维网格数据和当前身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与当前人脸三维网格数据及当前身份特征信息均一致的当前已驱动视频帧图像。
本发明的一个实施例中,实现对第一帧视频帧图像进行人脸驱动模块包括图14所示的各子模块1401-1403。
第二数据获取子模块1401,用于获取所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据;
第二信息获得子模块1402,用于将驱动源图像输入所述视频帧图像驱动模型的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为驱动源图像的身份特征信息;
第一图像生成子模块1403,用于将所述第一帧人脸三维网格数据和身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述第一帧人脸三维网格数据和身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据以及身份特征信息一致的第一帧已驱动视频帧图像。
本发明的一个实施例中,上述装置还包括,第二模型训练模块,参见图15,图15为本发明实施例提供的一种第二模型训练模块的结构示意图,上述第二模型训练模块包括以下子模块1501-1510。
第二训练模型确定子模块1501,用于确定视频帧图像驱动模型对应的第二训练模型;所述第二训练模型,包括:第二编码器、第二生成器和第二判别器;
样本图像获得子模块1502,用于从指定的样本视频中获得样本驱动源图像和样本目标视频帧图像;
第三数据获取子模块1503,用于获得所述样本目标视频帧图像中样本人脸的第一人脸三维网格数据,并获得所述样本驱动源图像的第二人脸三维网格数据;
第三信息获得子模块1504,用于将所述样本驱动源图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为第二样本源身份特征信息;
第二图像生成子模块1505,用于将所述第二样本源身份特征信息以及所述第一人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述第二样本源身份特征信息以及所述第一人脸三维网格数据,对所述样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像;
第四信息获得子模块1506,用于将所述第一次样本已驱动视频帧图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为当前样本身份特征信息;
第三图像生成子模块1507,用于将所述当前样本身份特征信息以及所述第二样本人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述当前样本身份特征信息以及所述第二样本人脸三维网格数据,对所述样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像;
第二损失值获得子模块1508,用于将所述第二次样本已驱动视频帧图像、所述样本驱动源图像以及所述第二样本人脸三维网格数据输入所述第二判别器,获得所述第二判别器对第三损失值和第四损失值进行数据融合得到的第二目标损失值,其中,所述第三损失值为:基于第三预设损失函数计算得到的所述第二次样本已驱动视频帧图像与所述样本驱动源图像之间的损失值,所述第四损失值为:基于第四预设损失函数计算得到的所述第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与所述第二样本人脸三维网格数据之间的损失值;
第二模型调整子模块1509,用于若基于所述第二目标损失值确定第二训练模型不收敛,则调整所述第二编码器、第二生成器和第二判别器的模型参数,继续训练;
第二驱动模型确定子模块1510,用于若基于所述第二目标损失值确定第二训练模型收敛,则训练完成,将第二判别器去除,得到训练完成的视频图像驱动模型。
与上述目标图片的人脸驱动方法相对应,本发明实施例还提供了一种电子设备。
本发明实施例还提供了一种电子设备,如图16所示,图16为本发明实施例提供的一种电子设备的结构示意图,包括处理器1601、通信接口1602、存储器1603和通信总线1604,其中,处理器1601,通信接口1602,存储器1603通过通信总线1604完成相互间的通信,
存储器1603,用于存放计算机程序;
处理器1601,用于执行存储器1603上所存放的程序时,实现本发明实施例提供的目标图片的人脸驱动方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的目标图片的人脸驱动方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的目标图片的人脸驱动方法。
由以上可见,应用本实施例提供的方案对目标图片中人脸进行人脸驱动时,所生成的已驱动图片是与人脸三维网格数据和身份特征信息均一致的图片,也就是,所生成的已驱动图片中人脸的人脸三维网格数据与上述目标图片中待驱动人脸的人脸三维网格数据一致、且身份特征信息与上述驱动源图片的身份特征信息一致。由于待驱动人脸的人脸三维网格数据能够准确、充分地反映待驱动人脸的面部微表情、姿态等面部细节信息,驱动源图片的身份特征信息用于表征驱动源图片中人脸的人脸特征信息,所以,上述已驱动图片中人脸与上述待驱动人脸的微表情、姿态等面部细节信息一致,且已驱动图片中人脸的人脸特征信息与驱动源图片中人脸的人脸特征信息一致。这样,使得所生成的已驱动图片中人脸面部细节信息较为全面。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种目标图片的人脸驱动方法,其特征在于,所述方法包括:
获得驱动源图片和目标图片;
提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
2.根据权利要求1所述的方法,其特征在于,
所述提取所述驱动源图片的身份特征信息,包括:
将所述驱动源图片输入预先训练好的图片驱动模型中的编码器,获得编码器输出的图片编码,作为身份特征信息;
所述图片驱动模型,还包括生成器;
所述基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片,包括:
将所述人脸三维网格数据和所述身份特征信息输入所述图片驱动模型中的生成器,获得所述图片驱动模型中的生成器基于所述人脸三维网格数据和所述身份特征信息对所述目标图片进行特征融合,生成与所述人脸三维网格数据及身份特征信息均一致的已驱动图片。
3.根据权利要求2所述的方法,其特征在于,所述图片驱动模型,采用如下步骤获得:
确定图片驱动模型对应的第一训练模型,所述第一训练训练模型,包括:第一编码器、第一生成器和第一判别器;
获得样本驱动源图片和样本目标图片;
获得所述样本目标图片中样本人脸的样本人脸三维网格数据;
将所述样本驱动源图片输入所述第一编码器,获得所述第一编码器输出的图像编码,作为第一样本源身份特征信息;
将所述第一样本源身份特征信息以及所述样本人脸三维网格数据输入所述第一生成器,获得所述第一生成器基于所述第一样本源身份特征信息以及所述样本人脸三维网格数据,对所述样本目标图片进行特征融合,生成样本已驱动图片;
将所述样本已驱动图片、所述样本目标图片以及所述样本人脸三维网格数据输入所述第一判别器,获得所述第一判别器对第一损失值和第二损失值进行数据融合得到的第一目标损失值,其中,所述第一损失值为:基于第一预设损失函数计算得到的所述样本已驱动图片与所述样本目标图片之间的损失值,所述第二损失值为:基于第二预设损失函数计算得到的所述样本已驱动图片中人脸的人脸三维网格数据与所述样本人脸三维网格数据之间的损失值;
若基于所述第一目标损失值确定第一训练模型不收敛,则调整所述第一编码器、第一生成器和第一判别器的模型参数,继续训练;
若基于所述第一目标损失值确定第一训练模型收敛,则训练完成,将第一判别器去除,得到训练完成的图片驱动模型;
所述第一预设损失函数
Figure FDA0003193285260000021
为:
Figure FDA0003193285260000022
其中,
Figure FDA0003193285260000023
表示样本已驱动图片,x(t)表示样本目标图片;
所述第二预设损失函数
Figure FDA0003193285260000024
为:
Figure FDA0003193285260000025
其中,S表示所述人脸三维网格数据中顶点的数量,
Figure FDA0003193285260000026
表示样本已驱动图像中人脸的人脸三维网格数据中各顶点的坐标,mi(t)表示所述样本人脸三维网格数据中各顶点的坐标。
4.根据权利要求3所述的方法,其特征在于,所述第一目标损失值,按照以下表达式对所述第一损失值和第二损失值进行数据融合:
Figure FDA0003193285260000027
其中,
Figure FDA0003193285260000031
为数据融合后得到的数值,
Figure FDA0003193285260000032
表示所述第一损失值,
Figure FDA0003193285260000033
表示所述第二损失值,α表示第一预设权重,β表示第二预设权重。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述目标图片为:目标视频的第一帧视频帧图像,
所述基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片,包括:
基于所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据和所述身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与所述第一帧人脸三维网格数据和所述身份特征信息均一致的第一帧已驱动视频帧图像;
所述方法还包括:
获得所述目标视频中第一帧之后的当前视频帧图像,并获得上一帧已驱动视频帧图像,其中,所述上一帧已驱动视频帧图像为:所述当前视频帧图像的上一帧进行人脸驱动后生成的视频帧图像;
获取所述当前视频帧图像中待驱动人脸的当前人脸三维网格数据;
提取所述上一帧已驱动视频帧图像的当前身份特征信息;
基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像。
6.根据权利要求5所述的方法,其特征在于,
所述提取所述上一帧已驱动视频帧图像的当前身份特征信息,包括:
将所述上一帧已驱动视频帧图像输入预先训练好的视频帧图像驱动模型中的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为当前身份特征信息;
所述视频帧图像驱动模型,还包括生成器;
所述基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与所述当前人脸三维网格数据和所述当前身份特征信息均一致的当前已驱动视频帧图像,包括:
将所述当前人脸三维网格数据和当前身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述当前人脸三维网格数据和当前身份特征信息,对所述当前视频帧图像进行特征融合,生成与当前人脸三维网格数据及当前身份特征信息均一致的当前已驱动视频帧图像。
7.根据权利要求6所述的方法,其特征在于,所述第一帧已驱动视频帧图像,采用如下步骤生成:
获取所述第一帧视频帧图像中待驱动人脸的第一帧人脸三维网格数据;
将驱动源图像输入所述视频帧图像驱动模型的编码器,获得所述视频帧图像驱动模型的编码器输出的图像编码,作为驱动源图像的身份特征信息;
将所述第一帧人脸三维网格数据和身份特征信息输入所述视频帧图像驱动模型的生成器,获得所述视频帧图像驱动模型的生成器基于所述第一帧人脸三维网格数据和身份特征信息,对所述第一帧视频帧图像进行特征融合,生成与第一帧人脸三维网格数据以及身份特征信息一致的第一帧已驱动视频帧图像。
8.根据权利要求6所述的方法,其特征在于,所述视频帧图像驱动模型,采用如下步骤训练获得:
确定视频帧图像驱动模型对应的第二训练模型;所述第二训练模型,包括:第二编码器、第二生成器和第二判别器;
从指定的样本视频中获得样本驱动源图像和样本目标视频帧图像;
提取所述样本目标视频帧图像中样本人脸的第一人脸三维网格数据,并提取所述样本驱动源图像的第二人脸三维网格数据;
将所述样本驱动源图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为第二样本源身份特征信息;
将所述第二样本源身份特征信息以及所述第一人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述第二样本源身份特征信息以及所述第一人脸三维网格数据,对所述样本目标视频帧图像进行特征融合,生成第一次样本已驱动视频帧图像;
将所述第一次样本已驱动视频帧图像输入所述第二编码器,获得所述第二编码器输出的图像编码,作为当前样本身份特征信息;
将所述当前样本身份特征信息以及所述第二样本人脸三维网格数据输入所述第二生成器,获得所述第二生成器基于所述当前样本身份特征信息以及所述第二样本人脸三维网格数据,对所述样本驱动源图像进行特征融合,生成第二次样本已驱动视频帧图像;
将所述第二次样本已驱动视频帧图像、所述样本驱动源图像以及所述第二样本人脸三维网格数据输入所述第二判别器,获得所述第二判别器对第三损失值和第四损失值进行数据融合得到的第二目标损失值,其中,所述第三损失值为:基于第三预设损失函数计算得到的所述第二次样本已驱动视频帧图像与所述样本驱动源图像之间的损失值,所述第四损失值为:基于第四预设损失函数计算得到的所述第二次样本已驱动视频帧图像中人脸的人脸三维网格数据与所述第二样本人脸三维网格数据之间的损失值;
若基于所述第二目标损失值确定第二训练模型不收敛,则调整所述第二编码器、第二生成器和第二判别器的模型参数,继续训练;
若基于所述第二目标损失值确定第二训练模型收敛,则训练完成,将第二判别器去除,得到训练完成的视频图像驱动模型。
9.一种目标图片的人脸驱动装置,其特征在于,所述装置包括:
图片获得模块,用于获得驱动源图片和目标图片;
信息获得模块,用于提取所述驱动源图片的身份特征信息,并获得所述目标图片中待驱动人脸的人脸三维网格数据;
图片生成模块,用于基于所述人脸三维网格数据和所述身份特征信息,对所述目标图片进行特征融合,生成与所述人脸三维网格数据和所述身份特征信息均一致的已驱动图片。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
CN202110883953.7A 2021-08-03 2021-08-03 一种目标图片的人脸驱动方法及装置 Active CN113609960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110883953.7A CN113609960B (zh) 2021-08-03 2021-08-03 一种目标图片的人脸驱动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110883953.7A CN113609960B (zh) 2021-08-03 2021-08-03 一种目标图片的人脸驱动方法及装置

Publications (2)

Publication Number Publication Date
CN113609960A true CN113609960A (zh) 2021-11-05
CN113609960B CN113609960B (zh) 2023-07-28

Family

ID=78306578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110883953.7A Active CN113609960B (zh) 2021-08-03 2021-08-03 一种目标图片的人脸驱动方法及装置

Country Status (1)

Country Link
CN (1) CN113609960B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107993216A (zh) * 2017-11-22 2018-05-04 腾讯科技(深圳)有限公司 一种图像融合方法及其设备、存储介质、终端
CN109934767A (zh) * 2019-03-06 2019-06-25 中南大学 一种基于身份和表情特征转换的人脸表情转换方法
CN110399825A (zh) * 2019-07-22 2019-11-01 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
CN110717977A (zh) * 2019-10-23 2020-01-21 网易(杭州)网络有限公司 游戏角色脸部处理的方法、装置、计算机设备及存储介质
CN111243066A (zh) * 2020-01-09 2020-06-05 浙江大学 一种基于自监督学习与生成对抗机制的人脸表情迁移方法
CN111383308A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 生成动画表情的方法和电子设备
CN111508050A (zh) * 2020-04-16 2020-08-07 北京世纪好未来教育科技有限公司 图像处理方法及装置、电子设备和计算机存储介质
CN111783603A (zh) * 2020-06-24 2020-10-16 有半岛(北京)信息科技有限公司 生成对抗网络训练方法、图像换脸、视频换脸方法及装置
WO2021023003A1 (zh) * 2019-08-05 2021-02-11 深圳Tcl新技术有限公司 一种人脸转换模型的训练方法、存储介质及终端设备
CN112669447A (zh) * 2020-12-30 2021-04-16 网易(杭州)网络有限公司 一种模型头像创建方法、装置、电子设备和存储介质
CN112734634A (zh) * 2021-03-30 2021-04-30 中国科学院自动化研究所 换脸方法、装置、电子设备和存储介质
US20210232803A1 (en) * 2020-01-23 2021-07-29 Northeastern University Frontal Face Synthesis from Low-Resolution Images

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107993216A (zh) * 2017-11-22 2018-05-04 腾讯科技(深圳)有限公司 一种图像融合方法及其设备、存储介质、终端
CN111383308A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 生成动画表情的方法和电子设备
CN109934767A (zh) * 2019-03-06 2019-06-25 中南大学 一种基于身份和表情特征转换的人脸表情转换方法
WO2021012590A1 (zh) * 2019-07-22 2021-01-28 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
CN110399825A (zh) * 2019-07-22 2019-11-01 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
WO2021023003A1 (zh) * 2019-08-05 2021-02-11 深圳Tcl新技术有限公司 一种人脸转换模型的训练方法、存储介质及终端设备
CN110717977A (zh) * 2019-10-23 2020-01-21 网易(杭州)网络有限公司 游戏角色脸部处理的方法、装置、计算机设备及存储介质
CN111243066A (zh) * 2020-01-09 2020-06-05 浙江大学 一种基于自监督学习与生成对抗机制的人脸表情迁移方法
US20210232803A1 (en) * 2020-01-23 2021-07-29 Northeastern University Frontal Face Synthesis from Low-Resolution Images
CN111508050A (zh) * 2020-04-16 2020-08-07 北京世纪好未来教育科技有限公司 图像处理方法及装置、电子设备和计算机存储介质
CN111783603A (zh) * 2020-06-24 2020-10-16 有半岛(北京)信息科技有限公司 生成对抗网络训练方法、图像换脸、视频换脸方法及装置
CN112669447A (zh) * 2020-12-30 2021-04-16 网易(杭州)网络有限公司 一种模型头像创建方法、装置、电子设备和存储介质
CN112734634A (zh) * 2021-03-30 2021-04-30 中国科学院自动化研究所 换脸方法、装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NATANIEL RUIZ等: "MorphGAN: One-Shot Face Synthesis GAN for Detecting Recognition Bias", 《ARXIV》, pages 1 - 16 *
费建伟等: "人脸合成技术综述", 《计算机科学与探索》, pages 2025 - 2047 *

Also Published As

Publication number Publication date
CN113609960B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN104618803B (zh) 信息推送方法、装置、终端及服务器
CN113326821B (zh) 一种视频帧图像的人脸驱动方法及装置
Ma et al. No-reference retargeted image quality assessment based on pairwise rank learning
CN110751649B (zh) 视频质量评估方法、装置、电子设备及存储介质
JP2023548921A (ja) 画像の視線補正方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN112819944A (zh) 三维人体模型重建方法、装置、电子设备及存储介质
CN112200057A (zh) 人脸活体检测方法、装置、电子设备及存储介质
CN110555527A (zh) 延时摄影视频的生成方法及设备
CN116363261A (zh) 图像编辑模型的训练方法、图像编辑方法和装置
Conde et al. Lens-to-lens bokeh effect transformation. NTIRE 2023 challenge report
CN116977457A (zh) 一种数据处理方法、设备以及计算机可读存储介质
CN111325212A (zh) 模型训练方法、装置、电子设备和计算机可读存储介质
CN107766803A (zh) 基于场景分割的视频人物装扮方法、装置及计算设备
CN114339362A (zh) 视频弹幕匹配方法、装置、计算机设备和存储介质
JP2023535047A (ja) マルチメディア作品の作成方法、装置及びコンピュータ可読記憶媒体
Mukhopadhyay et al. Diff2lip: Audio conditioned diffusion models for lip-synchronization
CN107729885B (zh) 一种基于多重残差学习的人脸增强方法
CN113297416A (zh) 视频数据存储方法、装置、电子设备和可读存储介质
CN109299777B (zh) 一种基于人工智能的数据处理方法及其系统
CN113609960B (zh) 一种目标图片的人脸驱动方法及装置
CN108320331A (zh) 一种生成用户场景的增强现实视频信息的方法与设备
CN115035219A (zh) 表情生成方法、装置和表情生成模型的训练方法、装置
CN116309005A (zh) 虚拟换装方法、装置、电子设备及可读介质
Tran et al. Predicting Media Memorability Using Deep Features with Attention and Recurrent Network.
CN113886639A (zh) 数字人视频生成方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant