CN113486787A - 一种脸部驱动和直播方法、装置、计算机设备和存储介质 - Google Patents

一种脸部驱动和直播方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113486787A
CN113486787A CN202110756772.8A CN202110756772A CN113486787A CN 113486787 A CN113486787 A CN 113486787A CN 202110756772 A CN202110756772 A CN 202110756772A CN 113486787 A CN113486787 A CN 113486787A
Authority
CN
China
Prior art keywords
image
face
facial
driving
live video
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
CN202110756772.8A
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202110756772.8A priority Critical patent/CN113486787A/zh
Publication of CN113486787A publication Critical patent/CN113486787A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • 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/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/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例公开了一种脸部驱动和直播方法、装置、计算机设备和存储介质。该方法包括:获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。本发明实施例的技术方案,实现了将源图像与驱动图像进行重组,进而驱动人脸表情在不同人脸模型下的呈现,可以应用于直播等应用场景,解决了现有的人脸驱动训练难度大且质量低的问题。

Description

一种脸部驱动和直播方法、装置、计算机设备和存储介质
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种脸部驱动和直播方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的发展,智能终端广泛应用于学习、娱乐以及工作等多方面。例如,可以通过智能终端进行直播,实现学习、娱乐或者工作等多方面的信息交互。
在直播、虚拟现实以及设计人物表情等相关应用中,可以通过当前人物的人脸驱动另一人物进行同种表情的呈现。
但是,现有技术中在进行人脸驱动时,需要通过视频进行训练,而视频数据中背景在不断变化,造成干扰因素多,致使人脸驱动训练难度大且质量低。
发明内容
本发明实施例提供了一种脸部驱动和直播方法、装置、计算机设备和存储介质,可以降低人脸驱动训练难度并提高人脸驱动质量。
第一方面,本发明实施例提供了一种脸部驱动方法,包括:
获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
第二方面,本发明实施例还提供了一种直播方法,包括:
接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
第三方面,本发明实施例还提供了一种脸部驱动装置,包括:
图像获取模块,用于获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
合成脸部图像合成模块,用于根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
目标驱动图像合成模块,用于根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
第四方面,本发明实施例还提供了一种直播装置,包括:
直播视频帧提取模块,用于接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
参考图像获取模块,用于获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
合成脸部图像合成模块,用于根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
目标驱动图像合成模块,用于根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
直播视频数据发布模块,用于使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
第五方面,本发明实施例还提供了一种计算机设备,计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例提供的脸部驱动方法或者直播方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的脸部驱动方法或者直播方法。
本发明实施例的技术方案通过获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像,解决了脸部驱动的问题,通过源图像和驱动图像进行重组,降低了脸部驱动训练的难度;通过在合成脸部图像中增加源图像的背景特征,合成目标驱动图像,提高了脸部驱动的质量。
附图说明
图1是本发明实施例一提供的一种脸部驱动方法的流程图;
图2a是本发明实施例二中的一种脸部驱动方法的流程图;
图2b是本发明实施例二提供的一种人脸驱动模型的训练流程示意图;
图3是本发明实施例三中的一种直播方法的流程图;
图4是本发明实施例四中的一种脸部驱动装置的结构示意图;
图5是本发明实施例五中的一种直播装置的结构示意图;
图6为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种脸部驱动方法的流程图,本实施例可适用于直播中通过主播人脸的脸部姿态表情驱动主播选定的人物进行同种表情呈现的情况。该方法可以由脸部驱动装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可以集成在用于脸部驱动的计算机设备中(例如,各种智能终端或者服务器等)。如图1所示,该方法包括:
步骤110、获取源图像和驱动图像。
其中,源图像和驱动图像中包括不同对象的脸部数据。具体的,源图像可以是包括预期人物脸型数据的图像,即通过源图像得到脸部外观特征,可以使目标驱动图像与源图像具有相同的脸部外观。驱动图像可以是包括预期表情数据的图像,即通过驱动图像得到脸部姿态表情特征,可以使目标驱动图像与驱动图像具有相同的表情。源图像和驱动图像可以是不同人物的高清图像。
示例性的,源图像可以是直播应用场景中,主播选定的预期人物图像。驱动图像可以是直播在不同表情状态下的图像。通过源图像与驱动图像的组合可以实现主播表情在不同人物脸型下的具体呈现。
步骤120、根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像。
其中,脸部外观特征可以是与人物五官相关的数据。具体的,脸部外观特征可以是源图像中人物的脸部形状向量以及脸部纹理向量等。脸部姿态表情特征可以是与人物脸部姿态以及表情相关的数据。具体的,脸部姿态表情特征可以是驱动图像中人物的脸部表情向量以及脸部角度向量等。脸部外观特征以及脸部姿态表情特征可以是通过深度学习网络等得到的向量数据。
在本发明实施例中,合成脸部图像可以是将源图像中的脸部外观特征以及驱动图像中的脸部姿态表情特征进行合成得到的图像。具体的,合成脸部图像可以是源图像中的脸部外观特征以及驱动图像中的脸部姿态表情特征在不同方式下的具体体现。例如,合成脸部图像可以是源图像中的脸部外观特征以及驱动图像中的脸部姿态表情特征生成的渲染图片;或者合成脸部图像可以是源图像中的脸部外观特征以及驱动图像中的脸部姿态表情特征生成的深度图片。其中,渲染图片可以是生成具有驱动图像中表情,并具有源图像中人物脸型的图片。深度图片可以是在渲染图片的基础上进行脸部深度信息的补充,例如人物五官的纵深信息等。
步骤130、根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
其中,脸部特征可以是包括合成脸部图像中的脸部外观特征以及脸部姿态表情特征等。更进一步的,脸部特征还可以包括五官的纵深特征等。源图像的背景特征可以是源图像中除脸部外观特征之外的特征。例如,背景特征可以包括与人物头发、脖子、衣服以及人物所在场景等相关的特征。目标驱动图像可以是驱动图像中的表情在源图像中具体呈现时,所对应的图像。
在本发明实施例中,目标驱动图像中除了具有人物脸部相关的特征外,还具有背景特征,可以提升人脸驱动的质量,使生成的目标驱动图像更加生动形象,具有真实性。目标驱动图像是基于源图像和驱动图像得到的,背景不会存在变化,无需进行复杂的干扰数据清洗操作,可以降低人脸驱动的难度。并且,由于图像获取技术远高于视频获取技术,也高于视频中截取图像的获取技术,因此更容易得到高清的源图像和驱动图像,进而提升目标驱动图像的图像质量,使人脸驱动的质量得到进一步提升。
本发明实施例的技术方案通过获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像,解决了现有的人脸驱动训练难度大且质量低的问题,实现了提升人脸驱动的质量,使生成的目标驱动图像更加生动形象,并降低人脸驱动难度的效果。
实施例二
图2a是本发明实施例二中的一种脸部驱动方法的流程图,本实施例以上述实施例为基础进行细化。具体的:
在本发明实施例的一个可选实施方式中,根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像,包括:
将源图像和驱动图像分别输入至脸部重建网络中,获取源图像中的脸部形状向量集和脸部纹理向量集,并获取驱动图像中的脸部表情向量集和脸部角度向量集;
将脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集共同输入至脸部渲染模型中,获取脸部渲染模型合成得到的合成脸部渲染图像和合成脸部深度图像。
在本发明实施例的一个可选实施方式中,根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像,包括:
将源图像输入至预先训练的特征编码器中,获取源图像的背景特征编码;
将各合成脸部图像以及背景特征编码共同输入至预先训练的神经网络模型中,获取神经网络模型合成得到的目标驱动图像;
其中,特征编码器和神经网络模型使用相同的训练样本集,以无监督的方式共同训练得到,训练样本包括:源样本图像和驱动样本图像,源样本图像和驱动样本图像中的脸部数据所属的对象相同或不同。
相应的,如图2a所示,本实施例的方法可以包括:
步骤210、获取源图像和驱动图像。
其中,源图像和驱动图像中包括不同对象的脸部数据。
步骤220、将源图像和驱动图像分别输入至脸部重建网络中,获取源图像中的脸部形状向量集和脸部纹理向量集,并获取驱动图像中的脸部表情向量集和脸部角度向量集。
其中,脸部重建网络可以用于获取图片中的人脸所有关键点的数据。例如,脸部重建网络可以是深度学习网络,获取人脸数据的过程可以是通过训练卷积神经网络将输入人脸图片转换为人脸三维形变统计模型参数,进行三维人脸重建;在进行重建后,可以以生成的三维形变统计模型参数为特征,进行人脸识别测试,根据测试结果调整参数,从而进一步提升三维形变统计模型参数的精确度。其中,三维形变统计模型是一种经典的三维人脸形状和反照率的统计模型。三维形变统计模型可以对给定的人脸图像,通过网络编码器估计投影、光照、形状和反照率等参数,通过解码器从上述参数映射到三维形状、纹理、表情和姿态等。
在本发明实施例中,可以通过脸部重建网络获取源图像中的脸部形状向量集和脸部纹理向量集。脸部形状向量集和脸部纹理向量集可以用于表示源图像中的脸部外观特征,具体的,可以是与人脸五官相关的数据。可以通过脸部重建网络获取驱动图像中的脸部表情向量集和脸部角度向量集。脸部表情向量集和脸部角度向量集可以用于表示驱动图像中的脸部姿态表情特征,具体的,可以是与人脸表情以及头部姿态相关的数据。
步骤230、将脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集共同输入至脸部渲染模型中,获取脸部渲染模型合成得到的合成脸部渲染图像和合成脸部深度图像。
其中,脸部渲染模型可以是通过开源的人脸数据库实现的,例如,巴塞尔人脸模型(Basel Face Model,BFM)。具体的,可以通过BFM模型中的OpenGL模块中的函数glBegin和glEnd,根据脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集绘制人脸,合成得到合成脸部渲染图像。还可以根据OpenGL模块中的theta和scale参数等控制模型的方向;也可以根据模型的大小设置不同的视角。合成脸部渲染图像用于对脸部形状、脸部纹理、脸部表情以及头部姿态等信息进行具体的体现。
在本发明实施例中,合成脸部深度图像可以是脸部渲染模型在合成脸部渲染图像的基础上进一步补充人脸的深度信息形成的图像。具体的,可以是先将合成脸部渲染图像生成灰度图,再根据脸部形状向量集和脸部纹理向量集中所包含的脸部深度信息如五官纵深信息、鼻子的挺拔高度等,对灰度图进行人脸深度调整,生成合成脸部深度图像,有利于在生成目标驱动图像时调整脸部的光照,提高目标驱动图像的生成质量。通过合成脸部渲染图像和合成脸部深度图像,生成目标驱动图像,可以使目标驱动图像的人脸立体感觉更好,真实性更强。
步骤240、将源图像输入至预先训练的特征编码器中,获取源图像的背景特征编码。
在本发明实施例中,为了提升生成的目标驱动图像的全面性以及真实性,可以将源图像中的背景特征添加至目标驱动图像的生成过程中。背景特征可以是合成脸部渲染图像和合成脸部深度图像之外的信息,例如,人物头发信息、脖子信息以及人物所在场景的信息等。
其中,特征编码器可以是对源图像进行特征提取的编码器。具体的,特征编码可以不关注源图像中的脸部形状、脸部纹理、脸部表情和脸部角度的信息,而仅关注源图像中的背景特征。例如,特征编码器可以提取源图像中与背景特征相关像素点位置的特征,而忽略源图像中的脸部形状、脸部纹理、脸部表情和脸部角度相关像素点位置的特征。或者,特征编码器可以提取源图像中的全部特征,而在使用特征编码器得到的特征信息时,可以对脸部形状、脸部纹理、脸部表情和脸部角度的特征进行抑制,主要应用背景特征。
步骤250、将各合成脸部图像以及背景特征编码共同输入至预先训练的神经网络模型中,获取神经网络模型合成得到的目标驱动图像。
其中,特征编码器和神经网络模型使用相同的训练样本集,以无监督的方式共同训练得到,训练样本包括:源样本图像和驱动样本图像,源样本图像和驱动样本图像中的脸部数据所属的对象相同或不同。
在本发明实施例中,神经网络模型可以用于根据各合成脸部图像以及背景特征编码,合成得到目标驱动图像。具体的,神经网络模型可以用于根据合成脸部渲染图像、合成脸部深度图像以及背景特征编码,合成得到目标驱动图像。为了避免背景特征编码对目标驱动图像人脸的影响,可以先通过合成脸部渲染图像和合成脸部深度图像进行脸部信息合成,再增加背景特征编码,生成目标驱动图像。
示例性的,一种根据合成脸部渲染图像、合成脸部深度图像以及背景特征编码,合成得到目标驱动图像的过程可以是:特征编码器获取源图像中的全部特征,输入至神经网络模型;由于全部特征中所包含的脸部特征是源图像中的,其是目标驱动图像合成中所不需要的,可以对全部特征中的脸部特征进行抑制;具体的,可以先通过合成脸部渲染图像和合成脸部深度图像进行脸部信息合成,再增加全部特征,实现对合成的脸部信息进行增强,对全部特征中的脸部特征进行抑制,对全部特征中的背景特征编码进行增强,合成目标驱动图像。例如,可以是根据合成的脸部信息在源图像中所对应的像素点,对全部特征中的脸部特征进行抑制;根据源图像中的剩余像素点,对全部特征中的背景特征编码进行增强。
在本发明实施例中,采用无监督的方式训练特征编码器和神经网络模型,可以在无法预先得到背景特征编码以及驱动结果的情况下提高训练结果的精准度。具体的,无监督方式可以是计算原本情况与最终结果之间针对目标对象的差异,通过差异对训练中的参数进行调节;当该差异越小时,说明训练结果越精准。
示例性的,特征编码器的无监督训练可以是将在源样本图像和根据源样本图像和驱动样本图像生成的目标驱动图像中分别提取的源背景特征编码以及生成背景特征编码,进行比较确定差异值。神经网络模型的无监督训练可以是将根据源样本图像和驱动样本图像生成的目标驱动图像中的脸部形状向量集和脸部纹理向量集,与源样本图像中的脸部形状向量集和脸部纹理向量集,进行比较确定差异值;并将根据源样本图像和驱动样本图像生成的目标驱动图像中的脸部表情向量集和脸部角度向量集,与驱动样本图像中的脸部表情向量集和脸部角度向量集,进行比较确定差异值。
在本发明实施例中,通过源样本图像和驱动样本图像构成的训练样本对特征编码器和神经网络模型进行训练,可以改进通过视频中不同帧进行目标驱动图像生成的方式。具体的,通过视频作为训练样本生成目标驱动图像时,通常是将视频中的前一帧作为驱动前图像,将视频中的后一帧作为驱动后图像,即用同一人物的表情驱动同一人,不存在成对的源样本图像和驱动样本图像。并且,通过视频作为训练样本生成目标驱动图像时,由于视频是动态的,因此驱动前图像和驱动后图像中的背景是存在差异的,在生成目标驱动图像时背景变化会造成干扰影响,致使目标驱动图像的质量差。而如果避免背景变化对目标驱动图像的生成造成影响,又需要对视频进行数据清洗,增加了目标驱动图像的生成难度,且无法使目标驱动图像中包含背景信息。而本发明实施例中的技术方案,可以避免通过视频进行训练所带来的一系列问题,例如,源样本图像和驱动样本图像中的人物对象可以不同,目标驱动图像中可以包含背景信息,采用图片进行训练目标驱动图像的生成不会受到动态背景的影响,可以提升目标驱动图像质量,并且通过无监督方式进行训练可以保证在没有标注结果时,保证目标驱动图像合成的精准度。
在上述实施方式的基础上,可选的,神经网络模型为Unet神经网络模型;Unet神经网络模型包括:相连的神经网络编码器以及神经网络解码器,特征编码器的输出端与神经网络解码器的输入端相连;各合成脸部图像输入至神经网络编码器的输入端;神经网络编码器,用于生成各合成脸部图像的脸部特征,并传输至神经网络解码器;神经网络解码器,用于根据各合成脸部图像的脸部特征以及源图像的背景特征编码,合成得到的目标驱动图像。
其中,Unet神经网络模型(一种U型结构的神经经网络模型)包括神经网络编码器以及神经网络解码器两部分。神经网络编码器可以接收各合成脸部图像,即接收合成脸部渲染图像和合成脸部深度图像;神经网络编码器可以由四个下采样层组成,可以进行特征提取,生成脸部特征。神经网络解码器可以接收神经网络编码器的输出以及源图像的背景特征编码;神经网络解码器可以由四个上采样层组成,可以进行特征融合,可以保证最终合成的目标驱动图像融合了更多低水平的特征,使图片的边缘信息更加精细。神经网络编码器和神经网络解码器之间可以采用跳跃链接,背景特征编码的输入位置在下采样层结束开始上采样的那一层。例如,背景特征编码可以是R512×16×16的特征图,即64个通道,宽高均为16,其中,R512×16×16表示512×16×16的三维实数向量;四个下采样层的输出是R512×16×16的特征,可以与背景特征编码进行拼接操作,最终产生R1024×16×16的特征图输入至第一个上采样层。
在本发明实施例的一个可选实施方式中,在根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像之前,还包括:在训练样本集中依次获取当前训练样本,并获取当前训练样本中的当前源样本图像以及当前驱动样本图像;采用脸部重建网络和脸部渲染模型,获取与当前源样本图像以及当前驱动样本图像对应的当前合成脸部渲染图像和当前合成脸部深度图像;采用当前训练的特征编码器和神经网络模型,根据当前合成脸部渲染图像和当前合成脸部深度图像,合成得到当前目标驱动图像;根据将当前目标驱动图像重新输入至脸部重建网络和特征编码器得到的结果,计算得到目标损失函数;使用目标损失函数对特征编码器和神经网络模型进行参数调整后,返回执行在训练样本集中依次获取当前训练样本的操作,直至满足结束训练条件。
其中,图2b是本发明实施例二提供的一种人脸驱动模型的训练流程示意图。如图2b所示,在训练样本集中依次获取当前训练样本,并获取当前训练样本中的当前源样本图像以及当前驱动样本图像。可以将当前源样本图像以及当前驱动样本图像输入至脸部重建网络,通过脸部重建网络提取当前源样本图像的脸部外观特征和当前驱动样本图像的脸部姿态表情特征。具体的,可以通过脸部重建网络提取当前源样本图像的脸部形状向量集和脸部纹理向量集,当前驱动样本图像的脸部表情向量集和脸部角度向量集。
如图2b所示,脸部渲染模型可以根据脸部外观特征和脸部姿态表情特征合成得到当前合成脸部渲染图像和当前合成脸部深度图像。具体的,脸部渲染模型可以根据脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集合成得到当前合成脸部渲染图像和当前合成脸部深度图像。
如图2b所示,采用当前训练的特征编码器可以提取当前源样本图像的原始背景特征编码;采用当前训练的神经网络模型,可以根据当前合成脸部渲染图像、当前合成脸部深度图像以及原始背景特征编码,合成得到当前目标驱动图像。
如图2b所示,根据将当前目标驱动图像重新输入至脸部重建网络和特征编码器得到的结果,计算得到目标损失函数,具体可以是:将当前目标驱动图像重新输入至脸部重建网络得到当前生成的与当前源样本图像以及当前驱动样本图像分别对应的脸部外观特征和脸部姿态表情特征,并将脸部外观特征和脸部姿态表情特征分别与当前源样本图像以及当前驱动样本图像中相对应的特征,进行目标损失函数计算;将当前目标驱动图像重新输入至特征编码器得到当前生成的与当前源样本图像对应的背景特征,并将背景特征与当前源样本图像中相对应的特征,进行目标损失函数计算。
示例性的,结束训练条件可以是目标损失函数的结果小于预设损失值,可以使当前参数下得到的目标驱动图像更精准。
在上述实施方式的基础上,可选的,根据将当前目标驱动图像重新输入至脸部重建网络和特征编码器得到的结果,计算得到目标损失函数,包括:将当前目标驱动图像重新输入至脸部重建网络中,获取与当前目标驱动图像对应的比对脸部形状向量集、比对脸部纹理向量集、比对脸部表情向量集和比对脸部角度向量集;将当前目标驱动图像重新输入至特征编码器中,获取与当前目标驱动图像对应的比对背景特征编码;根据比对脸部形状向量集,以及将当前源样本图像输入至脸部重建网络所获取的原始脸部形状向量集,计算得到第一损失函数;根据比对脸部纹理向量集,以及将当前源样本图像输入至脸部重建网络所获取的原始脸部纹理向量集,计算得到第二损失函数;根据比对脸部表情向量集,以及将当前驱动样本图像输入至脸部重建网络所获取的原始脸部表情向量集,计算得到第三损失函数;根据比对脸部角度向量集,以及将当前驱动样本图像输入至脸部重建网络所获取的原始脸部角度向量集,计算得到第四损失函数;根据比对背景特征编码,以及将当前源样本图像输入至特征编码器所获取的原始背景特征编码,计算得到第五损失函数;根据第一损失函数、第二损失函数、第三损失函数、第四损失函数以及第五损失函数,计算得到目标损失函数。
其中,如图2b所示,当前目标驱动图像对应的比对脸部形状向量集、比对脸部纹理向量集、比对脸部表情向量集和比对脸部角度向量集可以分别与当前源样本图像对应的原始脸部形状向量集、原始脸部纹理向量集,当前驱动样本图像对应的原始脸部表情向量集和原始脸部角度向量集,计算损失函数,实现神经网络模型的训练。前目标驱动图像对应的比对背景特征编码可以与当前源样本图像对应的原始背景特征编码,计算损失函数,实现特征编码器的训练。
示例性的,IA表示当前源样本图像,IB表示当前驱动样本图像,G(IA,IB)表示当前目标驱动图像,各损失函数的计算可以通过一种或者多种类损失函数共同构成。例如,可以采用第一种类的损失函数和第二种类的算是函数共同计算目标损失函数。
具体的,第一损失函数可以通过
Figure BDA0003147972430000111
表示;其中,LS为第一损失函数,
Figure BDA0003147972430000112
为原始脸部形状向量集,
Figure BDA0003147972430000113
为比对脸部形状向量集,
Figure BDA0003147972430000114
为原始脸部形状向量集与比对脸部形状向量集之间的第一种类的损失函数,
Figure BDA0003147972430000115
为原始脸部形状向量集与比对脸部形状向量集之间的第二种类的损失函数。
第二损失函数可以通过
Figure BDA0003147972430000116
表示,LT为第二损失函数,
Figure BDA0003147972430000117
为原始脸部纹理向量集,
Figure BDA0003147972430000118
为比对脸部纹理向量集,
Figure BDA0003147972430000119
为原始脸部纹理向量集与比对脸部纹理向量集之间的第一种类的损失函数,
Figure BDA00031479724300001110
为原始脸部纹理向量集与比对脸部纹理向量集之间的第二种类的损失函数。
第三损失函数可以通过
Figure BDA00031479724300001111
表示,LE为第三损失函数,
Figure BDA00031479724300001112
为原始脸部表情向量集,
Figure BDA00031479724300001113
为比对脸部表情向量集,
Figure BDA00031479724300001114
为原始脸部表情向量集与比对脸部表情向量集之间的第一种类的损失函数,
Figure BDA00031479724300001115
为原始脸部表情向量集与比对脸部表情向量集之间的第二种类的损失函数。
第四损失函数可以通过
Figure BDA00031479724300001116
表示,LP为第四损失函数,
Figure BDA0003147972430000121
为原始脸部角度向量集,
Figure BDA0003147972430000122
为比对脸部角度向量集,
Figure BDA0003147972430000123
为原始脸部角度向量集与比对脸部角度向量集之间的第一种类的损失函数,
Figure BDA0003147972430000124
为原始脸部角度向量集与比对脸部角度向量集之间的第二种类的损失函数。
第五损失函数可以通过
Figure BDA0003147972430000125
表示,Lfeat为第五损失函数,
Figure BDA0003147972430000126
为原始背景特征编码,
Figure BDA0003147972430000127
为比对背景特征编码,
Figure BDA0003147972430000128
为原始背景特征编码与比对背景特征编码之间的第一种类的损失函数,
Figure BDA0003147972430000129
为原始背景特征编码与比对背景特征编码之间的第二种类的损失函数。
目标损失函数可以通过L=a×Lfeat+b×LS+c×LE+d×LP+e×LT表示,其中,a、b、c、d、e均为常数。在实际中,当a、b、c、d、e按照a<e<b≤d<c的关系设置时,模型训练结果最好。
其中,L1损失函数也被称作最小绝对值偏差或者绝对值损失函数,即将各目标值与对应的估计值之间的绝对差值的总和最小化。L2也称为范数损失函数或者最小平方误差,即将各目标值与对应的估计值的差值的平方和最小化。L2是将误差平方化,模型的误差会比L1大的多,因此更敏感,需要调整模型最小化误差;但是,很可能样本存在异常值,当模型敏感时,可能会导致模型的训练偏离目标。本发明实施例为了规避上述问题,采用L1和L2相结合的方式,计算损失函数,使模型具有一定的敏感性的同时,避免模型训练偏离目标。
本发明实施例的技术方案通过获取源图像和驱动图像;将源图像和驱动图像分别输入至脸部重建网络中,获取源图像中的脸部形状向量集和脸部纹理向量集,并获取驱动图像中的脸部表情向量集和脸部角度向量集;将脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集共同输入至脸部渲染模型中,获取脸部渲染模型合成得到的合成脸部渲染图像和合成脸部深度图像;将源图像输入至预先训练的特征编码器中,获取源图像的背景特征编码;将各合成脸部图像以及背景特征编码共同输入至预先训练的神经网络模型中,获取神经网络模型合成得到的目标驱动图像,解决了现有的人脸驱动训练难度大且质量低的问题,实现了提升目标驱动图像质量,保证目标驱动图像合成的精准度,并降低模型训练难度的效果。
实施例三
图3是本发明实施例三中的一种直播方法的流程图,本实施例可适用于直播中通过主播人脸的脸部姿态表情驱动主播选定的人物进行同种表情呈现的情况。该方法可以由直播装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可以集成在用于直播的计算机设备中(例如,各种智能终端或者服务器等)。如图3所示,本实施例的方法可以包括:
步骤310、接收主播客户端上传的直播视频数据,并在直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据。
其中,直播视频数据可以是主播客户端的实时直播视频数据,也可以是预先录制的直播视频数据。提取直播视频帧时的时间间隔可以较短,例如可以按照平均1秒提取10帧或者100帧的速度进行。对于存在直播用户(主播)人脸的直播视频帧,可以进行脸部驱动;对于不存在直播用户(主播)人脸的直播视频帧,无需进行脸部驱动。
步骤320、获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据。
其中,参考图像可以理解为上述实施例中的源图像,参考图像中的设定对象可以是主播预期的人脸外观。
步骤330、根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像。
其中,可以将参考图像中的人脸外观与直播视频帧中的人脸表情进行组合,得到参考图像中人物具有直播视频帧表情的图像。脸部外观特征、脸部姿态表情特征的提取方式以及合成脸部图像的获取方式可以与上述实施例中相对应的任一方式相同,此处不再赘述。
步骤340、根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像。
其中,背景特征的提取方式以及目标驱动图像的合成方式可以与上述实施例中相对应的任一方式相同,此处不再赘述。
步骤350、使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在主播客户端的直播间中发布直播视频数据。
其中,采用替换后的直播视频数据在直播间中进行发布,可以达到隐藏真实主播容貌的效果,可以保护主播的隐私性;也可以将真实主播替换为预期人物表达主播的脸部表情,可以使直播人物更受到观看直播用户的欢迎,提升直播的娱乐性与欢迎度。
本发明实施例的技术方案通过接收主播客户端上传的直播视频数据,并在直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在主播客户端的直播间中发布直播视频数据,解决了通过脸部驱动技术进行直播的问题,实现了保护主播的隐私性,提升直播的娱乐性与欢迎度的效果。
实施例四
图4是本发明实施例四中的一种脸部驱动装置的结构示意图。如图4所示,该脸部驱动装置包括:图像获取模块410,合成脸部图像合成模块420和目标驱动图像合成模块430。
其中:
图像获取模块410,用于获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
合成脸部图像合成模块420,用于根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
目标驱动图像合成模块430,用于根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
可选的,合成脸部图像合成模块420,包括:
向量集获取单元,用于将源图像和驱动图像分别输入至脸部重建网络中,获取源图像中的脸部形状向量集和脸部纹理向量集,并获取驱动图像中的脸部表情向量集和脸部角度向量集;
图像获取单元,用于将脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集共同输入至脸部渲染模型中,获取脸部渲染模型合成得到的合成脸部渲染图像和合成脸部深度图像。
可选的,目标驱动图像合成模块430,包括:
背景特征编码获取单元,用于将源图像输入至预先训练的特征编码器中,获取源图像的背景特征编码;
目标驱动图像获取单元,用于将各合成脸部图像以及背景特征编码共同输入至预先训练的神经网络模型中,获取神经网络模型合成得到的目标驱动图像;
其中,特征编码器和神经网络模型使用相同的训练样本集,以无监督的方式共同训练得到,训练样本包括:源样本图像和驱动样本图像,源样本图像和驱动样本图像中的脸部数据所属的对象相同或不同。
可选的,神经网络模型为Unet神经网络模型;
Unet神经网络模型包括:相连的神经网络编码器以及神经网络解码器,特征编码器的输出端与神经网络解码器的输入端相连;各合成脸部图像输入至神经网络编码器的输入端;
神经网络编码器,用于生成各合成脸部图像的脸部特征,并传输至神经网络解码器;
神经网络解码器,用于根据各合成脸部图像的脸部特征以及源图像的背景特征编码,合成得到的目标驱动图像。
可选的,该装置,还包括:
样本图像获取模块,用于在根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像之前,在训练样本集中依次获取当前训练样本,并获取当前训练样本中的当前源样本图像以及当前驱动样本图像;
合成图像获取模块,用于采用脸部重建网络和脸部渲染模型,获取与当前源样本图像以及当前驱动样本图像对应的当前合成脸部渲染图像和当前合成脸部深度图像;
当前目标驱动图像合成模块,用于采用当前训练的特征编码器和神经网络模型,根据当前合成脸部渲染图像和当前合成脸部深度图像,合成得到当前目标驱动图像;
目标损失函数确定模块,用于根据将当前目标驱动图像重新输入至脸部重建网络和特征编码器得到的结果,计算得到目标损失函数;
参数调整模块,用于使用目标损失函数对特征编码器和神经网络模型进行参数调整后,返回执行在训练样本集中依次获取当前训练样本的操作,直至满足结束训练条件。
可选的,目标损失函数确定模块,具体用于:
将当前目标驱动图像重新输入至脸部重建网络中,获取与当前目标驱动图像对应的比对脸部形状向量集、比对脸部纹理向量集、比对脸部表情向量集和比对脸部角度向量集;
将当前目标驱动图像重新输入至特征编码器中,获取与当前目标驱动图像对应的比对背景特征编码;
根据比对脸部形状向量集,以及将当前源样本图像输入至脸部重建网络所获取的原始脸部形状向量集,计算得到第一损失函数;
根据比对脸部纹理向量集,以及将当前源样本图像输入至脸部重建网络所获取的原始脸部纹理向量集,计算得到第二损失函数;
根据比对脸部表情向量集,以及将当前驱动样本图像输入至脸部重建网络所获取的原始脸部表情向量集,计算得到第三损失函数;
根据比对脸部角度向量集,以及将当前驱动样本图像输入至脸部重建网络所获取的原始脸部角度向量集,计算得到第四损失函数;
根据比对背景特征编码,以及将当前源样本图像输入至特征编码器所获取的原始背景特征编码,计算得到第五损失函数;
根据第一损失函数、第二损失函数、第三损失函数、第四损失函数以及第五损失函数,计算得到目标损失函数。
本发明实施例所提供的脸部驱动装置可执行本发明任意实施例所提供的脸部驱动方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5是本发明实施例五中的一种直播装置的结构示意图。如图5所示,该直播装置包括:直播视频帧提取模块510,参考图像获取模块520,合成脸部图像合成模块530,目标驱动图像合成模块540和直播视频数据发布模块550。其中:
直播视频帧提取模块510,用于接收主播客户端上传的直播视频数据,并在直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
参考图像获取模块520,用于获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
合成脸部图像合成模块530,用于根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
目标驱动图像合成模块540,用于根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
直播视频数据发布模块550,用于使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在主播客户端的直播间中发布直播视频数据。
本发明实施例所提供的直播装置可执行本发明任意实施例所提供的直播方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括处理器60、存储器61、输入装置62和输出装置63;计算机设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;计算机设备中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的脸部驱动方法或者直播方法对应的程序指令/模块(例如,如图4所示的图像获取模块410,合成脸部图像合成模块420和目标驱动图像合成模块430;或者,如图5所示的直播视频帧提取模块510,参考图像获取模块520,合成脸部图像合成模块530,目标驱动图像合成模块540和直播视频数据发布模块550)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的脸部驱动方法或者直播方法,即:
获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。或者,
接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
实施例七
本发明实施例七还公开了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种脸部驱动方法或者一种直播间方法,即:
获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。或者,
接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是、但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种脸部驱动方法,其特征在于,包括:
获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
2.根据权利要求1所述的方法,其特征在于,根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像,包括:
将源图像和驱动图像分别输入至脸部重建网络中,获取源图像中的脸部形状向量集和脸部纹理向量集,并获取驱动图像中的脸部表情向量集和脸部角度向量集;
将脸部形状向量集、脸部纹理向量集、脸部表情向量集和脸部角度向量集共同输入至脸部渲染模型中,获取脸部渲染模型合成得到的合成脸部渲染图像和合成脸部深度图像。
3.根据权利要求2所述的方法,其特征在于,根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像,包括:
将源图像输入至预先训练的特征编码器中,获取源图像的背景特征编码;
将各合成脸部图像以及所述背景特征编码共同输入至预先训练的神经网络模型中,获取神经网络模型合成得到的目标驱动图像;
其中,特征编码器和神经网络模型使用相同的训练样本集,以无监督的方式共同训练得到,训练样本包括:源样本图像和驱动样本图像,源样本图像和驱动样本图像中的脸部数据所属的对象相同或不同。
4.根据权利要求3所述的方法,其特征在于,所述神经网络模型为Unet神经网络模型;
所述Unet神经网络模型包括:相连的神经网络编码器以及神经网络解码器,所述特征编码器的输出端与所述神经网络解码器的输入端相连;各合成脸部图像输入至神经网络编码器的输入端;
所述神经网络编码器,用于生成各合成脸部图像的脸部特征,并传输至所述神经网络解码器;
所述神经网络解码器,用于根据各合成脸部图像的脸部特征以及源图像的背景特征编码,合成得到的目标驱动图像。
5.根据权利要求3所述的方法,其特征在于,在根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像之前,还包括:
在训练样本集中依次获取当前训练样本,并获取当前训练样本中的当前源样本图像以及当前驱动样本图像;
采用所述脸部重建网络和所述脸部渲染模型,获取与所述当前源样本图像以及当前驱动样本图像对应的当前合成脸部渲染图像和当前合成脸部深度图像;
采用当前训练的所述特征编码器和所述神经网络模型,根据当前合成脸部渲染图像和当前合成脸部深度图像,合成得到当前目标驱动图像;
根据将当前目标驱动图像重新输入至所述脸部重建网络和所述特征编码器得到的结果,计算得到目标损失函数;
使用目标损失函数对所述特征编码器和所述神经网络模型进行参数调整后,返回执行在训练样本集中依次获取当前训练样本的操作,直至满足结束训练条件。
6.根据权利要求5所述的方法,其特征在于,根据将当前目标驱动图像重新输入至所述脸部重建网络和所述特征编码器得到的结果,计算得到目标损失函数,包括:
将当前目标驱动图像重新输入至所述脸部重建网络中,获取与所述当前目标驱动图像对应的比对脸部形状向量集、比对脸部纹理向量集、比对脸部表情向量集和比对脸部角度向量集;
将当前目标驱动图像重新输入至所述特征编码器中,获取与所述当前目标驱动图像对应的比对背景特征编码;
根据所述比对脸部形状向量集,以及将所述当前源样本图像输入至所述脸部重建网络所获取的原始脸部形状向量集,计算得到第一损失函数;
根据所述比对脸部纹理向量集,以及将所述当前源样本图像输入至所述脸部重建网络所获取的原始脸部纹理向量集,计算得到第二损失函数;
根据所述比对脸部表情向量集,以及将所述当前驱动样本图像输入至所述脸部重建网络所获取的原始脸部表情向量集,计算得到第三损失函数;
根据所述比对脸部角度向量集,以及将所述当前驱动样本图像输入至所述脸部重建网络所获取的原始脸部角度向量集,计算得到第四损失函数;
根据所述比对背景特征编码,以及将所述当前源样本图像输入至所述特征编码器所获取的原始背景特征编码,计算得到第五损失函数;
根据所述第一损失函数、第二损失函数、第三损失函数、第四损失函数以及第五损失函数,计算得到目标损失函数。
7.一种直播方法,其特征在于,包括:
接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
8.一种脸部驱动装置,其特征在于,包括:
图像获取模块,用于获取源图像和驱动图像,源图像和驱动图像中包括不同对象的脸部数据;
合成脸部图像合成模块,用于根据在源图像中提取的脸部外观特征,以及在驱动图像中提取的脸部姿态表情特征,合成得到至少一张合成脸部图像;
目标驱动图像合成模块,用于根据各合成脸部图像的脸部特征,以及源图像的背景特征,合成得到目标驱动图像。
9.一种直播装置,其特征在于,包括:
直播视频帧提取模块,用于接收主播客户端上传的直播视频数据,并在所述直播视频数据中提取得到多个直播视频帧,直播视频帧中包括直播用户的脸部数据;
参考图像获取模块,用于获取主播客户端选定的参考图像,参考图像中包括设定对象的脸部数据;
合成脸部图像合成模块,用于根据在参考图像中提取的脸部外观特征,以及在各直播视频帧中提取的脸部姿态表情特征,合成得到与各直播视频帧分别对应的至少一张合成脸部图像;
目标驱动图像合成模块,用于根据与各直播视频帧对应的各合成脸部图像的脸部特征,以及参考图像的背景特征,合成得到与各直播视频帧分别对应的目标驱动图像;
直播视频数据发布模块,用于使用各目标驱动图像替换直播视频数据中的各直播视频帧后,在所述主播客户端的直播间中发布所述直播视频数据。
10.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的一种脸部驱动方法;或者,权利要求7所述的一种直播方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如权利要求1-6中任一项所述的一种脸部驱动方法;或者,如权利要求7所述的一种直播方法。
CN202110756772.8A 2021-07-05 2021-07-05 一种脸部驱动和直播方法、装置、计算机设备和存储介质 Pending CN113486787A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110756772.8A CN113486787A (zh) 2021-07-05 2021-07-05 一种脸部驱动和直播方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110756772.8A CN113486787A (zh) 2021-07-05 2021-07-05 一种脸部驱动和直播方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113486787A true CN113486787A (zh) 2021-10-08

Family

ID=77940748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110756772.8A Pending CN113486787A (zh) 2021-07-05 2021-07-05 一种脸部驱动和直播方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113486787A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117036355A (zh) * 2023-10-10 2023-11-10 湖南大学 编码器和模型的训练方法、故障检测方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117036355A (zh) * 2023-10-10 2023-11-10 湖南大学 编码器和模型的训练方法、故障检测方法及相关设备
CN117036355B (zh) * 2023-10-10 2023-12-15 湖南大学 编码器和模型的训练方法、故障检测方法及相关设备

Similar Documents

Publication Publication Date Title
CN110557625A (zh) 虚拟形象直播方法、终端、计算机设备及存储介质
CN111542861A (zh) 利用深度外观模型渲染化身的系统和方法
CN114025219B (zh) 增强现实特效的渲染方法、装置、介质及设备
WO2020263541A1 (en) Portrait editing and synthesis
CN113538659A (zh) 一种图像生成方法、装置、存储介质及设备
CN115914505B (zh) 基于语音驱动数字人模型的视频生成方法及系统
AU2022231680B2 (en) Techniques for re-aging faces in images and video frames
CN115049556A (zh) 一种基于StyleGAN的人脸图像修复方法
CN111563868A (zh) 基于人工智能的头部装饰处理方法及装置
CN115170388A (zh) 人物线稿生成方法、装置、设备及介质
CN117218246A (zh) 图像生成模型的训练方法、装置、电子设备及存储介质
CN117115331B (zh) 一种虚拟形象的合成方法、合成装置、设备及介质
CN113486787A (zh) 一种脸部驱动和直播方法、装置、计算机设备和存储介质
CN116740261A (zh) 图像重建方法和装置、图像重建模型的训练方法和装置
CN114358112A (zh) 视频融合方法、计算机程序产品、客户端及存储介质
WO2023088276A1 (zh) 漫画化模型构建方法、装置、设备、存储介质及程序产品
CN115578298A (zh) 一种基于内容感知的深度肖像视频合成方法
CN116012509A (zh) 一种虚拟形象的驱动方法、系统、设备及存储介质
CN115439610A (zh) 模型的训练方法、训练装置、电子设备和可读存储介质
CN116958353B (zh) 一种基于动态捕捉的全息投影方法及相关装置
US20240169701A1 (en) Affordance-based reposing of an object in a scene
CN117523024B (zh) 一种基于潜在扩散模型的双目图像生成方法及系统
US20240193845A1 (en) Rendering method and device for improving realism of rendered image
US20240185498A1 (en) Graphic rendering using diffusion models
Nepaliya Interactive Live Object Gaming

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