发明内容
本申请的目的旨在至少解决上述技术缺陷之一,特别是素材单一无法满足直播换脸需求的问题。
第一方面,本申请实施例提供一种直播中实时换脸的方法,包括以下步骤:
向多个客户端发送视频素材录制的向导信息,基于所述向导信息引导各个用户录制符合设定条件的个人视频素材;
接收各个客户端上传的个人视频素材,并将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;
根据所述脸部信息对直播视频中的需要进行换脸的目标用户进行换脸。
在一实施例中,所述基于所述向导信息引导各个用户录制符合设定条件的个人视频素材的步骤包括:
向所述客户端按顺序发送所述向导信息;
接收所述客户端上传的基于所述向导信息录制的动态视频;
在确定各所述动态视频中的用户人脸姿态与其对应的所述向导信息的设定条件相符合,整合各所述动态视频得到个人视频素材。
在一实施例中,所述确定各所述动态视频中的用户动作与其对应的所述向导信息的设定条件相符合的步骤包括:
识别当前动态视频中的用户人脸姿态;
在确定所述用户人脸姿态与当前向导信息对应的设定条件相符合时,向所述客户端发送下一向导信息;
将所述下一向导信息作为新的当前向导信息,接收基于所述新的当前向导信息的动态视频作为新的当前动态视频,重复执行识别当前动态视频中的用户人脸姿态的操作,直到所有的动态视频的用户人脸姿态与其对应的向导信息的设定条件均相符合。
在一实施例中,所述向导信息包括头部动作向导信息、表情动作向导信息以及语音读取向导信息。
在一实施例中,所述接收各个客户端上传的个人视频素材的步骤包括:
获取所述客户端对应的用户身份标识;
将所述用户身份标识与所述客户端上传的个人视频素材进行关联。
在一实施例中,所述将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息的步骤包括:
根据所述用户身份标识调取相对应的个人视频素材;
识别所述个人视频素材中的用户人脸图像,从所述用户人脸图像中提取在不同表情动作下的人脸特征值;
将所述人脸特征值输入预先训练好的神经网络模型进行识别,得到不同人物表情下的脸部信息。
在一实施例中,所述根据所述脸部信息对直播视频中的需要进行换脸的目标用户进行换脸的步骤包括:
获取第一目标主播的第一脸部图像对应的第一脸部信息和第二目标主播的第二脸部图像对应的第二脸部信息;
将第一目标主播的第一脸部头像合成到第二目标主播的直播视频中,并利用第二目标主播的第二脸部信息替换第一脸部信息,以对直播视频中的第二目标用户进行实时换脸。
第二方面,本申请实施例还提供了一种直播中实时换脸的装置,包括:
向导信息发送模块,用于向多个客户端发送视频素材录制的向导信息,基于所述向导信息引导各个用户录制符合设定条件的个人视频素材;
脸部信息识别模块,用于接收各个客户端上传的个人视频素材,并将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;
换脸模块,用于根据所述脸部信息对视频中的需要进行换脸的目标用户进行实时换脸。
第三方面,本申请实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一实施例所述的直播中实时换脸的方法的步骤。
第四方面,本申请实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面任一实施例所述的直播中实时换脸的方法的步骤。
上述实施例提供直播中实时换脸的方法、装置、设备及存储介质,通过向多个客户端发送视频素材录制的向导信息,基于向导信息引导各个用户录制符合设定条件的个人视频素材,接收各个客户端上传的个人视频素材,并将个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;根据脸部信息对直播视频中的需要进行换脸的目标用户进行换脸。本实施例基于视频形式采集用户的各种表情和动作,覆盖用户在直播过程中可能表现的多个表情动作,能够进行实时换脸且换脸效果显得更加真实。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例提供的实时换脸的方法适用于用户进行实时换脸的场景,例如,可以是直播过程中主播的实时换脸,也可以是网络聊天室上用户的实时换脸等。下面将以直播过程中主播的实时换脸为例对本技术方案进行说明。
进一步的,在对本申请实施例提供的方法进行介绍之前,首先对本申请实施例的应用场景进行介绍。本申请实施例提供的方法应用于网络直播系统中,请参考图1,图1是一实施例提供的实施环境示意图,该实施环境中主要包括一个或多个主播端110、多个观众端120以及服务器130。其中,各主播端110和各观众端120分别与该服务器130之间通过有线网络或者无线网络建立通信连接。
其中,该主播端110和观众端120可以为PC(personal computer,个人电脑)机、电视游戏机或电子设备等。该服务器130为用于直播的服务器,在一实施例中,该服务器130可以为网络直播平台,在下面的实施例中,以该服务器130为网络直播平台为例进行说明。
其中,主播端110和多个观众端120均运行有直播客户端,对于该主播用户来说,可以通过该直播客户端登录该网络直播平台,并在该网络直播平台中建立直播间,之后,该主播用户即可在该直播间中进行直播。而对于该观众端120来说,可以通过对应的直播客户端登录到该网络直播平台中,并进入该主播用户所创建的直播间,之后,即可在该直播间中观看该主播用户的直播。
本实施例提供的直播中实时换脸的方法适用于在直播过程中对主播进行换脸,在对主播进行换脸之前对主播的人脸及姿态等进行采集形成包含有主播的各种表情动作的个人视频素材。为了适用于直播场景中主播长时间换脸做节目的特殊需求,个人视频素材需要包含有主播人脸的各种动作、脸部表情和口型等。为了达到更佳的换脸效果,本实施例采用AI换脸技术对主播的个人视频素材进行训练后得到的脸部信息进行换脸。例如,在对两位主播的个人视频素材进行训练的过程中,能够提取出各个主播的脸部信息,利用各个脸部信息进行学习,以分辨出这两位主播的脸。
图2是一实施例提供的直播中实时换脸的方法的流程图,该直播中实时换脸的方法可以执行于实时换脸设备,如客户端和服务器等。以直播为例,可以执行于主播端和观众端等客户端,也可以执行于服务器等。下面将以服务器作为实时换脸设备为例对本技术方案进行说明。
在本实施例中,服务器接收到视频素材录制请求后,向主播端发送视频素材录制的向导信息,主播端接收到向导信息后,呈现在显示界面,按照向导信息的各个步骤精确引导主播做出各种动作和表情,最终获得符合设定条件的个人视频素材,上传到服务器。服务器对个人视频素材进行学习,分辨出是否为目标主播的脸,还可以利用目标主播(需要换脸的主播)的脸部信息替换新输入的主播(即用于换脸的主播)的脸部信息,以实现在直播过程中对目标主播进行实时换脸。为了更清楚得阐述本申请,将结合下述步骤对本技术方案进行详细介绍。
具体的,如图2所示,该主播换脸方法可以包括以下步骤:
S110、向多个主播端发送视频素材录制的向导信息,基于所述向导信息引导各个主播录制符合设定条件的个人视频素材。
在本实施例中,向导信息用于引导主播按照向导信息的提示内容作出相应的动作,如头部动作、人脸表情、口型等,以尽可能覆盖主播的各种表情需求。向导信息可以图片或文字的形式呈现,如GIF(Graphics Interchange Format,图像互换格式)动态示例图片、静态示例图片和文字提示信息等。例如,GIF动态示例图片呈现出标准人脸姿态,引导主播按照该标准人脸姿态做出与之一致的人脸姿态,并进行视频录制。在实施例中,向导信息可以是一条,也可以是多条。在每一条向导信息中可以包括多个操作步骤,也可以仅包括一个操作步骤。在一些实施例中,可以按顺序将多条向导信息逐一发送至主播端,以引导主播按顺序做出符合向导信息设定条件的脸部动作等。
进一步的,向导信息可以包括头部动作向导信息、表情动作向导信息以及语音读取向导信息。头部动作向导信息用于引导主播做出标准的头部动作,如提示主播抬头30度,提示主播低头30度,向左转头15度,向右转头15度等。表情动作向导信息用于引导主播做出表情的脸部表情,如皱眉、哭、微笑和哈哈大笑等包括喜怒哀乐惧等表情。语音读取向导信息用于引导主播做出标准的口型,如主播朗读设定的一段话,朗读A至Z这26个字母等。
图3至图7是一实施例提供的主播端界面示意图,如图3至图7所示,主播端界面显示不同的向导信息,按步骤引导主播录制符合设定条件的个人视频素材。如图4所示,主播端界面一侧展示向导信息,如向导信息包括文字信息,如“第2步:做表情对照下图做出相应表情”,同时向导信息还包括GIF动态示例图片,通过GIF动态示例图片展示标准的表情动作。
在实施例中,不同类型的向导信息设置有不同的设定条件,如头部动作向导信息通过设定头部转动的角度等来检测主播的动作是否符合标准,表情动作向导信息通过设定人脸关键点的位置变化等来检测主播的动作是否符合标准,语音读取向导信息通过口型的变化来检测主播的动作是否符合标准等。
S120、接收各个主播端上传的个人视频素材,并将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息。
通过主播端录制符合向导信息对应的设定条件的个人视频素材,发送至服务器。服务器接收各个主播端上传的个人视频素材,并获取该主播端对应的主播身份标识,将该主播身份标识与主播端上传的个人视频素材进行关联后,进行入库归档。在后续的处理过程中,通过获取该主播身份标识,可以快速查找到其对应的个人视频素材。
进一步的,服务器根据业务需求调取需要进行换脸的主播的个人视频素材,将个人视频素材输入到预先训练好的神经网络模型中,通过该神经网络模型识别出相应的脸部信息。个人视频素材中录制有多种脸部动作,将所述个人视频素材输入神经网络模型进行识别所得到的脸部信息也是多种的,如包括微笑对应的脸部信息,皱眉对应的脸部信息等。需要说明的是,预先训练好的神经网络模型可以是利用现有的神经网络模型获得,具体操作方法相关领域技术人员能够知晓,在此不详细叙述。训练好的神经网络模型能够自动抓取人脸关键信息,从而分辨出需要进行换脸的两位主播的脸。
需要说明的是,对主播进行实时换脸需要经过上万张图片的神经网络模型训练得到。在本实施例中,客户端上传的个人视频素材为按照预设的向导信息逐步录制的具有一定时长的视频,个人视频素材每秒大约有数十帧图像,个人视频素材中的绝大部分图像均为符合训练要求的图像,因此个人视频素材存在成千上万帧符合训练要求的图像,将个人视频素材输入到神经网络模型中进行训练能够得到更佳的训练效果。通过在互联网等途径获得的特定的人脸图像,如电影片段等,能够达到人脸交换要求的图像数量极少,从中筛选出符合人脸交换要求的图像需要消耗大量的资源,本申请通过用户依照向导信息录制的个人视频素材能够提高训练效果,在后续的换脸过程中提高换脸的还原度,使换脸效果更加逼真。
还需要说明的是,个人视频素材可以是预先录制好的,在直播过程中进行实时换脸时,调取预先录制好的个人视频素材进行识别,利用识别得到的脸部信息进行实时换脸。
S130、根据所述脸部信息对视频中的需要进行换脸的目标主播进行实时换脸。
在实施例中,对目标主播做出不同表情动作的人脸进行侦测和识别,确定不同表情变化之间的脸部信息,并对需要换脸的目标主播的脸部信息进行替换,实现换脸。例如,将目标主播A的脸换到目标主播B上,将目标主播A的个人视频素材输入到用于训练目标主播B的个人视频素材对应的预先训练好的神经网络模型B中,神经网络模型B获取到目标主播A的脸部信息,做出反应:“这是一条干扰信息,这不是目标主播B的脸,那么将其换成目标主播B”,将目标主播A的脸部信息替换为目标主播B相对应的脸部信息,从而实现在生成的目标主播A的脸上带有目标主播B的脸部信息,从而使得目标主播B的脸上生成目标人脸A’,实现实时换脸。
进一步的,在本实施例中,以第一目标主播的脸替换到第二目标主播的脸上以进行实时换脸为例进行说明。
S1301、获取第一目标主播的第一脸部图像对应的第一脸部信息和第二目标主播的第二脸部图像对应的第二脸部信息。
首先,可以获取第一目标主播的第一脸部头像,将第一目标主播的第一脸部图像合成到第二目标主播的视频流中,获取第一目标主播的脸部图像的第一脸部信息。在直播过程中,获取第二目标主播在不同脸部动作下的第二脸部信息。
S1302、将第一目标主播的第一脸部头像合成到第二目标主播的直播视频中,并利用第二目标主播的第二脸部信息替换第一脸部信息,以对直播视频中的第二目标用户进行实时换脸。
在本实施例中,将第一目标主播的第一脸部头像合成到第二目标主播的直播视频中,使得在第二目标主播的脸变成第一目标主播的脸,再将第二目标主播的第二脸部信息替换第一脸部信息,以通过第二脸部信息驱动合成在第二目标主播脸上的第一脸部头像,以使得在第一脸部头像做出和第二目标主播同样的脸部表情,从而实现对第二目标主播的实时换脸,形成新的直播视频发送至各观众端,以在观众端观看到第二目标主播以第一目标主播的头像进行直播。
同理,也可以将第二目标主播的头像合成到第一目标主播的直播视频上,从而使得第一目标主播以第二目标主播的头像进行直播,其实现方式上述阐述的过程类似,即:将第二目标主播的第二脸部头像合成到第一目标主播的直播视频中,并利用第一目标主播的第一脸部信息替换第二脸部信息,以对直播视频中的第一目标主播进行实时换脸。
在主播直播视频时进行换脸的场景中,需要个人视频素材包含各个角度的表情动作,若缺少相对应的表情动作,可能会使得主播换脸不成功,或者换脸效果差等。例如,将目标主播A的脸换到目标主播B的脸上,若目标主播A的个人视频素材中没有侧脸张嘴的表情,那么目标主播B做出侧脸张嘴的动作时,在目标主播B的脸部生成的目标人脸A’是模糊的,最终导致这一表情下的换脸失败。只有主播的个人视频素材中存在的表情才会有很清晰的结果生成。因此对主播收集上下左右角度的各种常见表情时,其他与之相差不多的表情可以通过神经网络的学习得到,这样才能尽最低录制成本来达到最佳效果。
而在本实施例中,由于目标主播上传的个人视频素材均为符合向导信息的设定条件,其个人视频素材包含主播长时间直播所可能涉及到的多种表情,预先训练好的神经网络模型通过目标主播的脸部信息是多样的,从而使得换脸后的效果更佳真实,表情表现更加饱满。同时,基于直播的业务特点,各主播的脸部表情和动作等比较相似,基于向导信息录制的个人视频素材能够满足直播实时换脸的需求,能够达到有利于降低实时换脸的受干扰程度,保证换脸效果。
本实施例提供的直播中实时换脸的方法,通过向多个主播端发送视频素材录制的向导信息,基于向导信息引导各个主播录制符合设定条件的个人视频素材,接收各个主播端上传的个人视频素材,并将个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;根据脸部信息对直播视频中的需要进行换脸的目标主播进行换脸。本实施例基于视频形式采集主播的各种表情和动作,覆盖主播在直播过程中可能表现的多个表情动作,能够进行实时换脸且换脸效果显得更加真实。
为了使本技术方案更为清晰,更为便于理解,下面对本技术方案中的多个步骤的具体的实现过程和方式加以详细的描述。
图8是一实施例提供的个人视频素材录制方法的流程图,如图8所示,基于所述向导信息引导各个主播录制符合设定条件的个人视频素材,可以包括以下步骤:
S1101、向所述主播端按顺序发送所述向导信息。
其中,向导信息可以有一条或多条,每条向导信息包括指示主播做出相应动作的图片、文字或图片和文字。
在实施例中,服务器向主播端按照设定顺序依次发送向导信息,当接收到的动态视频符合当前向导信息的设定条件时,才发送下一向导信息。
S1102、接收所述主播端上传的基于所述向导信息录制的动态视频。
在本实施例中,服务器接收基于各向导信息录制的动态视频,并对动态视频做出人脸检测、人脸识别、人脸跟踪等处理。
S1103、在确定各所述动态视频中的主播人脸姿态与其对应的所述向导信息的设定条件相符合,整合各所述动态视频得到个人视频素材。
动态视频中录制有主播的各种人脸姿态,如头部动作姿态、脸部表情动作姿态以及口型动作姿态等。为了确定动态视频中的主播按照向导信息进行动作,需要将动态视频中的主播人脸姿态和向导信息的设定条件进行匹配。其中,设定条件可以根据向导信息的内容进行设定。将各动态视频中的主播人脸姿态均符合设定条件,按顺序将各动态视频整合起来,得到个人视频素材。
图9是一实施例提供的检测动态视频的方法流程图,如图9所示,在一实施例中,该步骤S1103中检测动态视频的过程可以包括以下步骤:
S301、识别当前动态视频中的主播人脸姿态。
在本实施例中,可以对当前动态视频中的主播进行人脸跟踪,获得人脸跟踪信息,该人脸跟踪信息可以包括头部动作姿态信息、脸部关键点位置信息中的至少一者,通过分析人脸跟踪信息获得主播人脸姿态。需要说明的是,本实施例可以采用各种现有的人脸跟踪算法对主播进行人脸跟踪,在此不再赘述。
例如,通过头部动作姿态信息可以获知主播是否转头、抬头和低头,以及头部偏转的角度;通过脸部关键点位置信息可以获知主播按照表情动作向导信息是否做出相应的微笑、闭眼、皱眉等表情。由于主播朗读不同的文字时的嘴型不同,通过脸部关键点位置信息可以获知主播按照语音读取向导信息是否在读取相应的文字。需要说明的是,本实施例可以采用现有的人脸姿态三维重建算法和人脸姿态估计算法对主播进行人脸姿态进行识别,在此不再赘述。
S302、在确定所述主播人脸姿态与当前向导信息对应的设定条件相符合时,向所述主播端发送下一向导信息。
服务器识别当前动态视频中的主播人脸姿态,提取当前向导信息对应的设定条件,将主播人脸姿态与该设定条件进行匹配,若主播人脸姿态符合设定条件,说明当前动态视频录制符合要求,则向主播端发送下一向导信息,开始下一动态视频的录制。
在实施例中,设定条件可以根据向导信息的内容进行设定。例如,若向导信息为头部动作向导信息,如GIF动态图片,根据头部动作向导信息,若检测到的主播人脸姿态中的头部动作偏转角度在预设角度范围内,确定主播人脸姿态符合当前步骤的头部动作向导信息对应的设定条件。
若向导信息为表情动作向导信息,根据表情动作向导信息,若检测到的主播人脸姿态中的表情动作符合预设的表情动作模板,确定主播人脸姿态符合当前步骤的表情动作向导信息对应的设定条件;
若向导信息为语音读取向导信息,根据语音读取向导信息,若检测到的主播人脸姿态中的口型信息符合预设的嘴型动作模板,确定主播人脸姿态符合当前步骤的语音读取向导信息对应的设定条件。
S303、将所述下一向导信息作为新的当前向导信息,接收基于所述新的当前向导信息的动态视频作为新的当前动态视频,重复执行识别当前动态视频中的主播人脸姿态的操作,直到所有的动态视频的主播人脸姿态与其对应的向导信息的设定条件均相符合。
需要说明的是,在一实施例中,还可以为各向导信息的展示设置超时机制,若在预设时间范围内未识别出符合设定条件的主播人脸姿态,则取消本次个人视频素材的录制。
图10是一实施例提供的个人视频素材录制方法的流程图,为了更加清晰本发明实施例提供的技术方案,下面结合附图10阐述个人视频素材录制过程的示例。如图10所示,用于直播中主播换脸的个人视频素材录制方法可以包括以下步骤:
S601、提示主播做人脸对准。
根据该GIF示例图片的向导信息“人脸对准”,检测的标准是主播人脸出现在当前录制的动态视频的中间。在满足标准后,执行步骤S608判断是否超时,若否,则跳转至步骤S602,反之,跳转至步骤S609。
S602、提示主播做表情。
根据GIF示例图片的向导信息,依次做出符合GIF示例图片的表情动作。在满足标准后,执行步骤S608判断是否超时,若否,则跳转至步骤S603,反之,跳转至步骤S609。
S603、提示主播抬头、低头和左右转头设定角度。
例如,提示主播抬头30度、低头30度和左右转头15度。根据GIF示例图片的向导信息,检测主播抬头和低头角度是否超过30度,左右转头角度是否超过15度。通过现有的人脸姿态三维重建算法和人脸姿态估计算法可以估算出人脸上下左右转动的角度。在满足标准后,执行步骤S608判断是否超时,若否,则跳转至步骤S604,反之,跳转至步骤S609。
S604、提示主播念读文字。
例如,提示主播念读字母A至Z。根据文字向导信息,检测用户的口型是否符合标准。在一些实施例中,还可以根据录制时间是否满足标准来检测。在满足标准后,执行步骤S608判断是否超时,若否,则跳转至步骤S605,反之,跳转至步骤S609。
S605、提示主播唱歌。
由于主播唱歌时嘴型不断发生变化,为了更加全面收集主播的表情动作,录制主播唱歌的视频,根据主播的嘴型嘴型变化情况来判断是否满足向导信息的设定条件。在满足标准后,执行步骤S608判断是否超时,若否,则跳转至步骤S606,反之,跳转至步骤S609。
S606、个人视频素材录制完成。
个人视频素材录制完成,将该个人视频素材上传至服务器。
S607、取消录制。
每一步的录制中都提供取消按钮,主播可以随时取消录制。
S608、判断是否超时。
S609、结束。
在每一步的录制中均设置有超时机制,若超时没有检测到符合设定条件的人脸姿态,则自动终止本次个人视频素材录制。
在一实施例中,步骤S120中的将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息,可以包括以下步骤:
S1201、根据所述主播身份标识调取相对应的个人视频素材。
在实施例中,为了区别不同主播的个人视频素材,在主播端录制完个人视频素材后,为每个主播的个人视频素材添加该主播身份标识。根据主播身份标识即可调取其对应的个人视频素材。
S1202、识别所述个人视频素材中的主播人脸图像,从所述主播人脸图像中提取在不同表情动作下的人脸特征值。
从个人视频素材的每一帧视频识别出主播人脸图像,在每一帧视频中定位并识别出主播人脸图像中的人脸特征值。由于个人视频素材的每一帧视频包含有不同的表情动作,从而提取出主播在不同表情动作下的人脸特征值。
S1203、将所述人脸特征值输入预先训练好的神经网络模型进行识别,得到不同人物表情下的脸部信息。
将不同表情动作下的人脸特征值输入到预先训练好的神经网络型进行识别,从而得到不同表情动作变化对应的脸部信息。根据该脸部信息可以还原该主播的表情动作的变化过程。
下面对直播中实时换脸的装置的相关实施例进行详细阐述。
图11是一实施例提供的直播中实时换脸的装置的结构示意图,该实时换脸装置可以执行于计算机设备,如实时换脸设备,进一步的,实施例换脸设备可以为客户端,如主播端和观众端等,也可以是服务器等。本实施例以服务器为实时换脸设备为例进行说明。如图11所示,该主播换脸装置100可以包括:向导信息发送模块110、脸部信息识别模块120和换脸模块130。
其中,向导信息发送模块110,用于向多个主播端发送视频素材录制的向导信息,基于所述向导信息引导各个主播录制符合设定条件的个人视频素材;脸部信息识别模块120,用于接收各个主播端上传的个人视频素材,并将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;换脸模块130,用于根据所述脸部信息对视频中的需要进行换脸的目标主播进行实时换脸。
本实施例提供的直播中实时换脸的装置,通过向导信息发送模块向多个主播端发送视频素材录制的向导信息,基于向导信息引导各个主播录制符合设定条件的个人视频素材;脸部信息识别模块接收各个主播端上传的个人视频素材,并将个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;换脸模块根据脸部信息对直播视频中的需要进行换脸的目标主播进行换脸。本实施例基于视频形式采集主播的各种表情和动作,覆盖主播在直播过程中可能表现的多个表情动作,能够进行实时换脸且换脸效果显得更加真实。
在一实施例中,向导信息发送模块110包括:向导发送单元、视频接收单元和素材整合单元;
其中,向导发送单元,用于向所述主播端按顺序发送所述向导信息;视频接收单元,用于接收所述主播端上传的基于所述向导信息录制的动态视频;素材整合单元,用于在确定各所述动态视频中的主播人脸姿态与其对应的所述向导信息的设定条件相符合,整合各所述动态视频得到个人视频素材。
在一实施例中,素材整合单元用于识别当前动态视频中的主播人脸姿态;在确定所述主播人脸姿态与当前向导信息对应的设定条件相符合时,向所述主播端发送下一向导信息;将所述下一向导信息作为新的当前向导信息,接收基于所述新的当前向导信息的动态视频作为新的当前动态视频,重复执行识别当前动态视频中的主播人脸姿态的操作,直到所有的动态视频的主播人脸姿态与其对应的向导信息的设定条件均相符合。
在一实施例中,所述向导信息包括头部动作向导信息、表情动作向导信息以及语音读取向导信息。
在一实施例中,脸部信息识别模块120包括身份标识获取单元和素材关联单元;其中,身份标识获取单元用于获取所述主播端对应的主播身份标识;素材关联单元用于将所述主播身份标识与所述主播端上传的个人视频素材进行关联。
在一实施例中,脸部信息识别模块120包括:素材调取单元、特征值提取单元和脸部信息得到单元;其中,素材调取单元,用于根据所述主播身份标识调取相对应的个人视频素材;特征值提取单元,用于识别所述个人视频素材中的主播人脸图像,从所述主播人脸图像中提取在不同表情动作下的人脸特征值;脸部信息得到单元,用于将所述人脸特征值输入预先训练好的神经网络模型进行识别,得到不同人物表情下的脸部信息。
在一实施例中,换脸模块130用于获取第一目标用户的第一脸部图像对应的第一脸部信息和第二目标用户的第二脸部图像对应的第二脸部信息获取第一目标用户对应的第一表情参数和第二目标用户对应的第二表情参数;将第一目标用户的第一脸部头像合成到第二目标用户的视频中,并利用第二目标用户的第二脸部信息替换第一脸部信息,以对视频中的第二目标用户进行实时换脸。
上述提供的直播中实时换脸的装置可用于执行上述任意实施例提供的直播中实时换脸的方法,具备相应的功能和有益效果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一实施例中的直播中实时换脸的方法。
上述提供的计算机设备执行上述任意实施例提供的直播中实时换脸的方法时,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种直播中实时换脸的方法,包括:
向多个主播端发送视频素材录制的向导信息,基于所述向导信息引导各个主播录制符合设定条件的个人视频素材;
接收各个主播端上传的个人视频素材,并将所述个人视频素材输入预先训练好的神经网络模型进行识别得到相应的脸部信息;
根据所述脸部信息对直播视频中的需要进行换脸的目标主播进行换脸。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的直播中实时换脸的方法操作,还可以执行本发明任意实施例所提供的直播中实时换脸的方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的直播中实时换脸的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。