CN111986301A - 直播中数据处理的方法及装置、电子设备、存储介质 - Google Patents

直播中数据处理的方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN111986301A
CN111986301A CN202010924402.6A CN202010924402A CN111986301A CN 111986301 A CN111986301 A CN 111986301A CN 202010924402 A CN202010924402 A CN 202010924402A CN 111986301 A CN111986301 A CN 111986301A
Authority
CN
China
Prior art keywords
face
interchange
data
user
anchor
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
CN202010924402.6A
Other languages
English (en)
Other versions
CN111986301B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010924402.6A priority Critical patent/CN111986301B/zh
Publication of CN111986301A publication Critical patent/CN111986301A/zh
Application granted granted Critical
Publication of CN111986301B publication Critical patent/CN111986301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了直播中数据处理的方法及装置、电子设备、存储介质,所述方法包括:在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。通过本发明实施例,实现了应用于任意直播场景中的面部切换处理,通过针对用户信息确定面部互换模式,能够达到主播实时换脸的目的,延迟低、效果好,并且兼顾了***性能,增加了直播的趣味性和娱乐性。

Description

直播中数据处理的方法及装置、电子设备、存储介质
技术领域
本发明涉及图像技术领域,特别是涉及直播中数据处理的方法及装置、电子设备、存储介质。
背景技术
目前,针对人脸互换的效果呈现通常采用的是直接贴图的换脸方法,但该方法融合效果不佳,影响换脸效果。相关技术提供了一种通过提取人脸特征点,再将该人脸特征点拟合至其他人脸三维模型的换脸方法,但是该方式需要实时构建换脸的三维模型并进行贴图,算法的运算量较大,对***性能的开销较高。在另一种相关技术中,还提供了一种通过提前采集需换脸人物的脸部图片训练模型,再根据训练后的模型进行换脸的方法,但这种换脸方法需要提前训练模型,不适用于直播过程中的实时换脸。
上述两种换脸方法无法同时兼顾换脸算法的实效性和***的能耗性,并且没有结合直播场景中主播的属性特点来进行设计,并不适用于直播场景中针对不同属性的主播的实时换脸。因而,当在直播场景中进行主播之间的人脸互换时,如何将换脸方法扩展到直播的业务场景下,以达到实时人脸实时互换的效果是现在急需解决的问题。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的直播中数据处理的方法及装置、电子设备、存储介质,包括:
一种直播中数据处理的方法,所述方法包括:
在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
可选地,所述根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式,包括:
获取预置的属性信息集合,并判断所述第一属性信息和所述第二属性信息是否均与所述属性信息集合相匹配;
若是,则确定预置的第一面部互换模式为目标面部互换模式;
否则,则确定预置的第二面部互换模式为目标面部互换模式。
可选地,在所述按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理之前,还包括:
从所述直播连线的视频画面中,获取针对所述第一用户的第一原始面部数据和针对所述第二用户的第二原始面部数据;
所述按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理,包括:
获取所述目标面部互换模式对应的目标面部互换模型;
采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据;
根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
可选地,所述获取所述目标面部互换模式对应的目标面部互换模型,包括:
在所述目标面部互换模式为所述第一面部互换模式时,获取预置的第一面部互换模型为目标面部互换模型;其中,所述第一面部互换模型包括针对所述第一用户的第一解码模型和针对所述第二用户的第二解码模型;
所述采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据,包括:
采用所述第二解码模型,生成所述第一原始面部数据对应的第一互换面部数据;
采用所述第一解码模型,生成所述第二原始面部数据对应的第二互换面部数据。
可选地,所述获取所述目标面部互换模式对应的目标面部互换模型,包括:
在所述目标面部互换模式为所述第二面部互换模式时,采用所述第一原始面部数据,构建针对所述第一用户的第二面部互换模型;
采用所述第二原始面部数据,构建针对所述第二用户的第三面部互换模型;
所述采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据,包括:
采用所述第二面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据;
采用所述第三面部互换模型,生成所述第二原始面部数据对应的第二互换面部数据。
可选地,所述根据所述第一互换面部数据对所述第一原始面部数据作替换处理,包括:
生成所述第一原始面部数据对应的第一面部遮罩数据,并根据所述第一面部遮罩数据和所述第一互换面部数据,得到第一目标面部数据;
采用所述第一目标面部数据替换所述第一原始面部数据;
所述根据所述第二互换面部数据对所述第二原始面部数据作替换处理,包括:
生成所述第二原始面部数据对应的第二面部遮罩数据,并根据所述第二面部遮罩数据和所述第二互换面部数据,得到第二目标面部数据;
采用所述第二目标面部数据替换所述第二原始面部数据。
可选地,所述根据所述第一面部遮罩数据和所述第一互换面部数据得到第一目标面部数据,包括:
根据所述第一面部遮罩数据、所述第一互换面部数据以及所述第一用户的肤色数据,得到第一目标面部数据;
所述根据所述第二面部遮罩数据和所述第二互换面部数据得到第二目标面部数据,包括:
根据所述第二面部遮罩数据、所述第二互换面部数据以及所述第二用户的肤色数据,得到第二目标面部数据。
可选地,所述直播连线过程中,在观众客户端呈现所述直播连线的视频画面,所述视频画面中同时包含所述第一用户的视频画面和所述第二用户的视频画面。
可选地,所述第一面部互换模式为自编码器模式,所述第二面部互换模式为三维重建模式。
一种直播中数据处理的装置,所述装置包括:
属性信息确定模块,用于在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
目标面部互换模式确定模块,用于根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
面部互换处理模块,用于按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的直播中数据处理的方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的直播中数据处理的方法。
本发明实施例具有以下优点:
在本发明实施例中,通过在第一用户和第二用户进行直播连线的过程中,确定针对第一用户的第一属性信息和针对第二用户的第二属性信息,然后根据第一属性信息和第二属性信息,确定目标面部互换模式,进而按照目标面部互换模式,在直播连线的视频画面中对第一用户和第二用户进行面部互换处理,实现了应用于任意直播场景中的面部切换处理,通过针对用户的属性信息确定面部互换模式,可以灵活调整换脸算法进行处理,能够达到主播实时换脸的目的,延迟低、效果好,并且兼顾了***性能,增加了直播的趣味性和娱乐性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种直播中数据处理的方法的步骤流程图;
图2是本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图;
图3a是本发明一实施例提供的一种脸部特征点示例的示意图;
图3b是本发明一实施例提供的一种原始面部图片示例的示意图;
图3c是本发明一实施例提供的一种直播中换脸前处理示例的示意图;
图3d是本发明一实施例提供的一种直播中换脸后处理示例的示意图;
图3e是本发明一实施例提供的一种直播中换脸整体处理示例的示意图;
图4是本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图;
图5a是本发明一实施例提供的一种模型训练示例的示意图;
图5b是本发明一实施例提供的一种模型应用示例的示意图;
图6是本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图;
图7是本发明一实施例提供的另一种模型应用示例的示意图;
图8是本发明一实施例提供的一种直播中数据处理的装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好理解本发明的直播中数据处理的方法,先对本发明实施例使用的网络直播架构进行说明。该直播网络架构可以包括服务端及多个终端。其中,服务端可以称为后台服务器、组件服务器等,用于提供网络直播的后台服务。服务端可以包括服务器、服务器集群或者云平台等。终端可以是具有网络直播功能的智能终端,例如,智能终端可以是计算机、智能手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、多媒体播放器、可穿戴设备等。
参照图1,示出了本发明一实施例提供的一种直播中数据处理的方法的步骤流程图,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该方法具体可以包括如下步骤:
步骤101,在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
作为一示例,第一用户和第二用户可以为直播连线中的主播用户,第一属性信息可以为针对第一用户的身份信息,第二属性信息可以为针对第二用户的身份信息,例如,可以针对直播连线中的主播A和主播B,获取主播A的主播ID,主播B的主播ID。
在直播连线的过程中,可以针对当前直播连线的第一用户和第二用户,获取针对第一用户的第一属性信息和针对第二用户的第二属性信息,以通过属性信息进一步确定用户身份。
例如,可以针对当前直播连线的主播A和主播B,获取两位主播的主播ID,然后可以根据主播ID得到针对两位主播的身份信息,该身份信息可以表征出主播用户为知名主播或非知名主播。
需要说明的是,上述确定第一属性信息和第二属性信息的执行主体可以是服务器也可以是客户端。
在一示例中,第一用户和第二用户可以是同一直播间的主播用户。
在又一示例中,第一用户和第二用户可以是不同直播间的主播用户,在此情况下,直播连线可以为直播连麦模式,不同直播间的主播用户可以进行PK。
例如,针对直播中两位主播连麦进行PK的场景,在该场景下可以由观众送出虚拟礼物,触发针对当前直播中PK的两位主播的脸部互换功能,可以将主播A的脸部替换为主播B的脸部,并保留A主播的脸部姿态,同时可以将主播B的脸部替换为主播A的脸部,并保留B主播的脸部姿态,进而可以通过针对直播中两位主播的换脸效果,增加直播的娱乐性和观众互动性。
步骤102,根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
其中,目标面部互换模式可以为针对第一用户和第二用户进行面部互换处理的模式,该目标面部互换模式可以与第一属性信息和第二属性信息为对应关系,例如,可以针对直播连线中两位主播的身份信息,预置两位主播的身份信息对应的面部互换模式。
在确定第一属性信息和第二属性信息后,可以将第一属性信息和第二属性信息对应的面部互换模式,作为目标面部互换模式,以进行针对第一用户和第二用户的面部互换处理。
在实际应用中,可以获取第一用户的用户ID和第二用户的用户ID,然后可以通过用户ID分别确定两位主播是否为知名主播,进而可以针对知名主播或非知名主播的主播身份,采用对应的面部互换模式进行面部互换处理。
在一示例中,可以针对直播连线的两位主播均为知名主播的情况,预置面部互换模式A;可以针对直播连线的两位主播均为非知名主播,预置面部互换模式B,也可以针对一位为知名主播、另一位为非知名主播的情况,预置面部互换模式B。
在本发明一实施例中,步骤102可以包括如下子步骤:
子步骤11,获取预置的属性信息集合,并判断所述第一属性信息和所述第二属性信息是否均与所述属性信息集合相匹配;
作为一示例,属性信息集合可以为针对指定用户属性信息的集合,例如,可以预置针对知名主播的白名单,该白名单可以包括知名主播的主播ID,通过识别主播ID可以判定是否存在于白名单中。
在确定第一属性信息和第二属性信息后,可以获取预置的属性信息集合,该属性信息集合可以为针对指定用户属性信息的集合,可以针对第一属性信息和第二属性信息判断是否均存在于属性信息集合中,进而可以判断第一属性信息和第二属性信息是否均与属性信息集合相匹配。
子步骤12,若是,则确定预置的第一面部互换模式为目标面部互换模式;
作为一示例,第一面部互换模式可以为自编码器模式,例如,可以针对直播连线的两位主播均为知名主播的情况,预置对应的面部互换模式为自编码器模式。
在具体实现中,可以在第一属性信息和第二属性信息均存在于属性信息集合中时,判定第一属性信息和第二属性信息与属性信息集合相匹配,进而可以将预置的第一面部互换模式作为目标面部互换模式。
例如,可以在识别到直播连线中,主播A的主播ID和主播B的主播ID均存在于针对知名主播的白名单内时,确定采用自编码器模式对直播连线的主播A和主播B进行面部互换处理,即白名单内主播ID可以触发自编码器模式进行面部互换处理。
在一示例中,自编码器模式可以采用自编码器换脸算法进行面部互换处理,该自编码器换脸算法可以针对知名主播,预先采集其脸部图片以进行模型训练,通过预先采集数据训练自编码器模型的方法,可以针对优质的知名主播提供效果较好的换脸算法。
子步骤13,否则,则确定预置的第二面部互换模式为目标面部互换模式。
作为一示例,第二面部互换模式为三维重建模式,例如,可以针对直播连线的两位主播均为非知名主播,预置对应的面部互换模式为三维重建模式;也可以针对一位为知名主播、另一位为非知名主播的情况,预置对应的面部互换模式为三维重建模式。
在具体实现中,可以在第一属性信息和/或第二属性信息未存在于属性信息集合中时,判定第一属性信息和第二属性信息与属性信息集合不相匹配,进而可以将预置的第二面部互换模式作为目标面部互换模式。
例如,可以在识别到直播连线中,主播A的主播ID和主播B的主播ID均未存在于针对知名主播的白名单内时,确定采用三维重建模式对直播连线的主播A和主播B进行面部互换处理;也可以在主播A的主播ID或主播B的主播ID未存在于白名单内时,确定采用三维重建模式对直播连线的主播A和主播B进行面部互换处理,即非白名单内主播ID可以触发三维重建模式进行面部互换处理。
在一示例中,三维重建模式可以采用三维脸部重建互换算法进行面部互换处理,该三维脸部重建互换算法可以通过获取主播的脸部特征点,重建得到针对主播脸部的三维模型,进而可以将待互换目标脸部的图片纹理渲染到该三维模型上,以生成互换后目标脸部,通过采用三维脸部重建互换算法,可以针对普通主播提供效果次优的算法。
步骤103,按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
作为一示例,直播连线过程中,可以在观众客户端呈现直播连线的视频画面,该视频画面中可以同时包含第一用户的视频画面和第二用户的视频画面。
在确定目标面部互换模式后,可以按照目标面部互换模式,采用目标面部互换模式对应的脸部互换算法,针对在直播连线的视频画面中的第一用户和第二用户,进行面部互换处理。
例如,在直播过程中,可以针对直播连线的视频画面中的两位主播进行面部互换处理,并可以将面部互换后的换脸结果下发给观众,以向观众展示针对直播中两位主播连麦PK的换脸效果,从而能够针对直播场景增加直播的趣味性和娱乐性。
在一示例中,针对第一用户和第二用户进行面部互换处理的触发方式,可以为直播过程中观众对主播(即第一用户、第二用户)赠送虚拟礼物,进而可以触发主播间的面部互换。
在又一示例中,由于直播场景中的脸部互换需求对换脸算法的实时性、融合效果的真实性均有较高要求,且每次直播连线的主播用户非固定,直播连线PK场景的任意性也对换脸算法的可扩展性要求较高,通过针对不同主播用户连线情况下的换脸算法切换,可以综合效果较好的自编码器换脸算法和扩展性较好的三维脸部重建互换算法,并充分发挥两种算法的优点以互补,从而能够应用于任意直播场景中进行脸部实时互换处理,并且兼顾了***的性能,提升了针对多种业务场景的适应性。
在本发明实施例中,通过在第一用户和第二用户进行直播连线的过程中,确定针对第一用户的第一属性信息和针对第二用户的第二属性信息,然后根据第一属性信息和第二属性信息,确定目标面部互换模式,进而按照目标面部互换模式,在直播连线的视频画面中对第一用户和第二用户进行面部互换处理,实现了应用于任意直播场景中的面部切换处理,通过针对用户的属性信息确定面部互换模式,可以灵活调整换脸算法进行处理,能够达到主播实时换脸的目的,延迟低、效果好,并且兼顾了***性能,增加了直播的趣味性和娱乐性。
参照图2,示出了本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图,具体可以包括如下步骤:
步骤201,在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
在直播连线的过程中,可以针对当前直播连线的第一用户和第二用户,获取针对第一用户的第一属性信息和针对第二用户的第二属性信息,以通过属性信息进一步确定用户身份。
在一示例中,针对主播A和主播B直播连线的场景,可以通过服务器转码服务功能,将主播A和主播B连麦PK的直播连线视频流进行解码,该直播连线视频流可以为左右分屏形式,例如,左边可以为主播A的直播画面,右边可以为主播B的直播画面,通过针对直播连线视频流采用视频解码算法进行解码,可以将主播A的直播画面和主播B的直播画面从视频形式转换为图片形式,进而可以分别得到针对主播A、主播B的单独直播画面图片。
在得到直播画面图片后,可以将主播A的直播画面图片和主播B的直播画面图片同时输入换脸前处理接口,以通过换脸前处理进一步得到针对主播A和主播B的原始面部图片和脸部特征点信息。
例如,换脸前处理可以包括人脸检测处理和人脸切分处理,以主播A为例,可以采用人脸检测模块得到在直播画面图片中主播A的脸部位置,以及主播A的人脸130个特征点等,然后可以根据得到的主播A脸部位置,裁切出针对主播A原始面部图片。
步骤202,根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
在确定第一属性信息和第二属性信息后,可以将第一属性信息和第二属性信息对应的面部互换模式,作为目标面部互换模式,以进行针对第一用户和第二用户的面部互换处理。
步骤203,从所述直播连线的视频画面中,获取针对所述第一用户的第一原始面部数据和针对所述第二用户的第二原始面部数据;
作为一示例,第一原始面部数据可以为针对第一用户的原始面部图片和面部特征点信息,第二原始面部数据可以为针对第二用户的原始面部图片和面部特征点信息,例如,可以从直播连线的视频画面中,分别获取针对主播A的直播画面和针对主播B的直播画面,进而可以得到主播A的原始面部图片和主播A的面部特征点信息,以及主播B的原始面部图片和主播B的面部特征点信息。
在面部互换的过程中,可以从直播连线的视频画面分别获取针对第一用户的第一原始面部数据和针对第二用户的第二原始面部数据,以采用第一原始面部数据和第二原始面部数据,针对第一用户和第二用户进行面部互换处理。
例如,可以将从直播连线的视频画面中获取的主播A直播画面输入人脸检测模块进行人脸检测,该人脸检测模块可以采用基于深度学习的人脸检测方法,检测出针对主播A的人脸130个特征点、人脸68个特征点(如图3a中脸部的多个标注点)、以及脸部宽度和高度。
在一示例中,130个高级人脸特征点可以包括68个基本人脸特征点,人脸130个特征点可以表征出更多的脸部信息,如包括眼球等脸部细节位置的脸部信息,人脸130个特征点可以用于进行三维脸部重建,人脸68个特征点可以用于切分人脸图片,如从主播A的直播画面中裁切出长宽为128mm的主播A原始面部图片(如图3b所示),人脸68个特征点还可以用于换脸后处理时融合换脸结果。
具体的,针对得到主播A原始面部图片,可以将主播A的人脸68个特征点按照预设规则进行点云匹配,然后可以得到2×3的人脸变换矩阵,采用该人脸变换矩阵可以对主播A的直播画面进行平移、旋转、裁切等仿射变换,进而可以得到128mm×128mm的主播A原始面部图片。
在又一示例中,以主播A为例,可以将得到的人脸130个特征点、人脸68个特征点、人脸变换矩阵、主播A原始面部图片全部存储至结构体数据中,以将存储的数据用于后续的面部互换处理。
步骤204,获取所述目标面部互换模式对应的目标面部互换模型;
作为一示例,目标面部互换模型可以为用于面部互换处理的模型,例如,自编码器模型、三维重建人脸模型。
在确定目标面部互换模式后,可以获取预置的目标面部互换模式对应的面部互换模型,作为目标面部互换模型,以进一步进行面部互换处理。
例如,可以在采用自编码器模式时,通过自编码器模型对主播A和主播B进行面部互换处理;可以在采用三维重建模式时,通过三维重建人脸模型对主播A和主播B进行面部互换处理。
步骤205,采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据;
作为一示例,第一互换面部数据可以为针对第一用户的面部互换处理后面部数据,第二互换面部数据可以为针对第二用户的面部互换处理后面部数据。
在确定目标面部互换模型后,可以采用自编码器模型或三维重建人脸模型,针对第一用户生成第一原始面部数据对应的第一互换面部数据,以及针对第二用户生成第二原始面部数据对应的第二互换面部数据。
例如,通过判断主播A和主播B的个人账号ID是否存在于白名单内,该白名单可以预先在服务器设置,如果主播A和主播B的主播ID均存在于白名单内,则可以采用自编码器换脸算法,通过自编码器模型分别得到针对主播A和主播B的面部互换后图片,否则可以采用三维重建换脸算法,通过三维重建人脸模型分别得到针对主播A和主播B的面部互换后图片。
在一示例中,针对自编码器换脸算法,可以将主播A的128mm原始面部图片和主播B的128mm原始面部图片作为自编码器模型的输入数据,进而可以通过自编码器模型输出生成的主播A换脸图片、主播B换脸图片,即得到针对主播A和主播B面部互换处理后的互换面部数据。
在又一示例中,针对三维重建换脸算法,可以将主播A的128mm原始面部图片和人脸130个特征点、主播B的128mm原始面部图片和人脸130个特征点作为三维重建人脸模型的输入数据,进而可以通过三维重建人脸模型输出生成的主播A换脸图片、主播B换脸图片,即得到针对主播A和主播B面部互换处理后的互换面部数据。
步骤206,根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
在生成第一互换面部数据和第二互换面部数据后,可以采用第一互换面部数据对第一原始面部数据作替换处理,以及可以采用第二互换面部数据对第二原始面部数据作替换处理,以得到针对第一用户和第二用户的面部互换效果。
例如,可以通过将生成的脸部互换结果贴回主播A和主播B的直播画面的方式,进行换脸后处理,可以采用主播A人脸130个特征点和主播B人脸130个特征点,根据特征点位置将换脸后的主播A互换面部图片和主播B互换面部图片贴回换脸前的直播画面中,然后可以分别得到已替换为主播B脸部的主播A直播画面,以及已替换为主播A脸部的主播B直播画面,进而可以通过服务器编码功能,将面部互换后的主播A直播画面和主播B直播画面制作为左右分屏式的直播画面,以下发给观众,展示针对直播中两位主播连麦PK的换脸效果。
在本发明一实施例中,步骤206可以包括如下子步骤:
生成所述第一原始面部数据对应的第一面部遮罩数据,并根据所述第一面部遮罩数据和所述第一互换面部数据,得到第一目标面部数据;采用所述第一目标面部数据替换所述第一原始面部数据;
作为一示例,第一面部遮罩数据可以为针对第一用户用于换脸后处理的面部数据。
在得到第一互换面部数据后,可以通过换脸后处理生成第一原始面部数据对应的第一面部遮罩数据,然后可以采用第一面部遮罩数据和第一互换面部数据,得到第一目标面部数据,进而可以采用第一目标面部数据替换第一原始面部数据,以得到针对第一用户的面部互换效果。
例如,以主播A为例,可以采用换脸前处理得到的主播A人脸68个特征点和人脸变换矩阵,生成针对主播A的脸部遮罩(即第一面部遮罩数据),即可以结合人脸变换矩阵对人脸68个特征点进行映射运算得到脸部遮罩。
在一示例中,为了使换脸后处理中融合换脸结果的边缘融合自然,可以针对生成的脸部遮罩进行边缘腐蚀/模糊和羽化处理。
在本发明一实施例中,所述根据所述第一面部遮罩数据和所述第一互换面部数据得到第一目标面部数据,包括:
根据所述第一面部遮罩数据、所述第一互换面部数据以及所述第一用户的肤色数据,得到第一目标面部数据。
在生成第一面部遮罩数据后,可以采用第一面部遮罩数据、第一互换面部数据以及第一用户的肤色数据,进而可以得到第一目标面部数据。
例如,针对主播A的换脸后处理,可以将主播A面部互换处理得到的换脸图片(即第一互换面部数据)进行肤色迁移,通过结合生成的主播A脸部遮罩(即第一面部遮罩数据)采用Reinhard肤色迁移算法,可以将主播A肤色(即第一用户的肤色数据)迁移到已替换为主播B脸部的主播A换脸图片中,可以得到肤色迁移后的图片(即第一目标面部数据),进而可以采用肤色迁移后的图片替换主播A原始面部图片(即第一原始面部数据),从而能够使融合换脸结果更加自然。
在又一示例中,可以将肤色迁移后的主播A换脸图片融合到主播A直播画面的脸部,即可以采用肤色迁移后的主播A换脸图片、主播A原始面部图片(即第一原始面部数据)和主播A脸部遮罩进行脸部像素点的融合,进而可以运用换脸前处理得到的人脸变换矩阵,将融合后的主播A脸部仿射到主播A的直播原始画面中以进行替换。
步骤206还可以包括如下子步骤:
生成所述第二原始面部数据对应的第二面部遮罩数据,并根据所述第二面部遮罩数据和所述第二互换面部数据,得到第二目标面部数据;采用所述第二目标面部数据替换所述第二原始面部数据。
作为一示例,第二面部遮罩数据可以为针对第二用户用于换脸后处理的面部数据。
在得到第二互换面部数据后,可以通过换脸后处理生成第二原始面部数据对应的第二面部遮罩数据,然后可以采用第二面部遮罩数据和第二互换面部数据,得到第二目标面部数据,进而可以采用第一目标面部数据替换第二原始面部数据,以得到针对第二用户的面部互换效果。
在本发明一实施例中,所述根据所述第二面部遮罩数据和所述第二互换面部数据得到第二目标面部数据,包括:
根据所述第二面部遮罩数据、所述第二互换面部数据以及所述第二用户的肤色数据,得到第二目标面部数据。
在生成第二面部遮罩数据后,可以采用第二面部遮罩数据、第二互换面部数据以及第二用户的肤色数据,进而可以得到第二目标面部数据。
例如,针对主播B的换脸后处理,可以将主播B面部互换处理得到的换脸图片(即第二互换面部数据)进行肤色迁移,通过结合生成的主播B脸部遮罩(即第二面部遮罩数据)采用Reinhard肤色迁移算法,可以将主播B肤色(即第二用户的肤色数据)迁移到已替换为主播A脸部的主播B换脸图片中,可以得到肤色迁移后的图片(即第二目标面部数据),进而可以采用肤色迁移后的图片替换主播B原始面部图片(即第二原始面部数据),从而能够使融合换脸结果更加自然。
在一示例中,通过换脸前处理方法、换脸后处理方法,针对肤色迁移、生成脸部遮罩、换脸结果融合等均采用仅对面部区域操作的方法,从而加快了图片处理速度。
在又一示例中,换脸前处理方法、换脸后处理方法可以为面部互换处理过程中的通用方法,针对接入新的换脸算法无需改动换脸前处理、换脸后处理,实现了根据业务场景进行相应的换脸算法切换。
通过将面部互换处理的相关装置部署于服务端,可以完成从视频解码、换脸处理、至视频编码的全过程,实现了在直播过程中针对两位主播进行脸部互换,并将换脸结果下发给观众,由于能够实时运行在直播服务端,从而可以适应任意直播场景,增加了直播的趣味性和娱乐性。
为了使本领域技术人员能够更好地理解上述步骤,以下结合图3c-3e对本发明实施例加以示例性说明,但应当理解的是,本发明实施例并不限于此。
针对换脸前处理过程(以主播A为例),可以采用如图3c所示的步骤进行处理:
S301:可以获取主播A的直播画面;
S302:采用深度学习人脸检测模块进行检测,可以得到针对主播A的人脸130个特征点、人脸68个特征点、脸部宽高;
S303:可以将主播A的人脸68个特征点进行点云匹配,得到2×3的人脸变换矩阵;
S304:采用人脸变换矩阵可以对主播A的直播画面进行仿射变换,得到128mm的主播A人脸画面(原始面部图片);
S305:可以将换脸前处理得到的前处理信息存储至结构体中。
针对换脸后处理过程(以主播A为例),可以采用如图3d所示的步骤进行处理:
S306:可以采用换脸前处理得到的主播A人脸68个特征点和主播A人脸变换矩阵,生成主播A的脸部遮罩;
S307:可以将主播A肤色迁移到已替换为主播B脸部的主播A换脸图片(生成的直播B脸部);
S308:可以将肤色迁移后的主播A换脸图片融合到主播A直播画面的脸部(换脸结果融合);
S309:可以将融合的换脸结果贴回主播A的原直播画面。
针对换脸的整体过程(以主播A和主播B进行换脸为例),可以采用如图3e所示的步骤进行处理:
S310:在主播A和主播B进行直播连线的过程中,可以解码主播A和主播B的连麦视频流;
S311:通过解码视频流可以得到单独的主播A直播画面和主播B直播画面;
S312:可以采用换脸前处理接口得到脸部画面(原始面部图片)和关键点(人脸特征点);
S313:分别得到主播A的脸部画面和关键点,以及主播B的脸部画面和关键点;
S314:可以判断主播A的主播ID和主播B的主播ID是否都在针对知名主播的白名单内;
S315:当都在白名单内时,可以采用自编码器换脸算法进行面部互换处理;当未都在白名单内时,可以采用三维重建换脸算法进行面部互换处理;
S316:可以通过换脸后处理分别针对主播A、主播B的换脸结果进行融合;
S317:采用换脸后处理可以得到换脸后的主播A直播画面、主播B直播画面;
S318:通过针对换脸后的主播A直播画面、主播B直播画面进行编码,可以得到面部互换后的连麦视频流。
参照图4,示出了本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图,具体可以包括如下步骤:
步骤401,在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
在直播连线的过程中,可以针对当前直播连线的第一用户和第二用户,获取针对第一用户的第一属性信息和针对第二用户的第二属性信息,以通过属性信息进一步确定用户身份。
步骤402,根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
在确定第一属性信息和第二属性信息后,可以将第一属性信息和第二属性信息对应的面部互换模式,作为目标面部互换模式,以进行针对第一用户和第二用户的面部互换处理。
步骤403,在所述目标面部互换模式为所述第一面部互换模式时,获取预置的第一面部互换模型为目标面部互换模型;其中,所述第一面部互换模型包括针对所述第一用户的第一解码模型和针对所述第二用户的第二解码模型;
作为一示例,第一面部互换模型可以包括编码模型、第一用户的第一解码模型,第二用户的第二解码模型,例如,自编码器模型可以具有Encoder模块(即编码模型)和两个Decoder模块(即第一解码模型和第二解码模型)。
在采用第一面部互换模式进行面部互换时,可以获取预置的第一面部互换模型,该第一面部互换模型可以包括针对第一用户的第一解码模型和针对第二用户的第二解码模型,以进一步针对第一用户和第二用户进行面部互换处理。
例如,可以将换脸前处理得到的主播A原始面部图片、主播B原始面部图片输入训练好的自编码器模型中公用Encoder模块。
在一示例中,自编码器模型可以预先针对知名主播的人脸数据进行采集,并训练模型,通过在面部互换处理的部署前进行模型训练,可以在训练完成后直接将模型部署于服务端,以生成换脸结果。
在又一示例中,自编码器算法可以包括一Encoder模块和两个Decoder模块,自编码器算法可以公用Encoder模块,可以采用主播A的人脸数据集训练Decoder_A模块,可以采用主播B的人脸数据集训练Decoder_B模块。
步骤404,采用所述第二解码模型,生成所述第一原始面部数据对应的第一互换面部数据;
在实际应用中,可以将从自编码器模型中公用Encoder模块输出的数据,采用针对第二用户的第二解码模型,生成第一原始面部数据对应的第一互换面部数据。
例如,可以将主播A经过Encoder模型计算后的结果,输入Decoder_B模块,进而可以达到生成主播B脸部的目的,以生成与主播A姿态表情相同,五官与主播B相同的脸部结果。
步骤405,采用所述第一解码模型,生成所述第二原始面部数据对应的第二互换面部数据;
在实际应用中,可以将从自编码器模型中公用Encoder模型输出的数据,采用针对第一用户的第一解码模型,生成第二原始面部数据对应的第二互换面部数据。
例如,可以将主播B经过Encoder模块计算后的结果,输入Decoder_A模块,进而可以达到生成主播A脸部的目的,以生成与主播B姿态表情相同,五官与主播A相同的脸部结果。
在一示例中,自编码器换脸算法可以通过经由不同的Decoder模块计算后生成换脸结果,其换脸处理的核心为输入对方的Decoder模块生成换脸结果。
在又一示例中,可以针对自编码器模型的结构进行改造,以缩小模型尺寸,从而加快了人脸生成算法的运行速度,优化了自编码器换脸算法的运算速度,将自编码器模型部署于服务端时,能够以较快的速度生成换脸结果,满足了直播场景的实时生成结果需求。
步骤406,根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
在生成第一互换面部数据和第二互换面部数据后,可以采用第一互换面部数据对第一原始面部数据作替换处理,以及可以采用第二互换面部数据对第二原始面部数据作替换处理,以得到针对第一用户和第二用户的面部互换效果。
为了使本领域技术人员能够更好地理解上述步骤,以下结合图5a-5b对本发明实施例加以示例性说明,但应当理解的是,本发明实施例并不限于此。
针对自编码器模型训练的过程(以主播A和主播B为例),可以采用如图5a所示的步骤进行处理:
通过预先采集针对主播A的脸部数据集、主播B的脸部数据集可以针对自编码器模型进行训练,训练完成的自编码器模型可以包括公用的Encoder模块,针对主播A的Decoder_A模块和针对主播B的Decoder_B模块。
针对自编码器模型应用过程(以主播A和主播B为例),可以采用如图5b所示的步骤进行处理:
S501:可以获取换脸前处理得到的主播A原始面部图片和主播B原始面部图片;
S502:可以将主播A原始面部图片和主播B原始面部图片输入公用的Encoder模块进行计算处理;
S503:可以将Encoder模块输出的针对主播A的数据输入Decoder_B模块继续计算处理;可以将Encoder模块输出的针对主播B的数据输入Decoder_A模块继续计算处理;
S504:Decoder_B模块可以输出针对主播A的换脸结果(生成替换为主播B的脸部);Decoder_A模块可以输出针对主播B的换脸结果(生成替换为主播A的脸部)。
参照图6,示出了本发明一实施例提供的另一种直播中数据处理的方法的步骤流程图,具体可以包括如下步骤:
步骤601,在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
在直播连线的过程中,可以针对当前直播连线的第一用户和第二用户,获取针对第一用户的第一属性信息和针对第二用户的第二属性信息,以通过属性信息进一步确定用户身份。
步骤602,根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
在确定第一属性信息和第二属性信息后,可以将第一属性信息和第二属性信息对应的面部互换模式,作为目标面部互换模式,以进行针对第一用户和第二用户的面部互换处理。
步骤603,在所述目标面部互换模式为所述第二面部互换模式时,采用所述第一原始面部数据,构建针对所述第一用户的第二面部互换模型;
作为一示例,第二面部互换模型可以为针对第一用户的三维重建人脸模型,例如,可以构建针对主播A的三维重建人脸模型。
在采用第二面部互换模式进行面部互换时,可以采用第一原始面部数据,构建针对第一用户的第二面部互换模型,以进一步针对第一用户进行面部互换处理。
例如,可以获取换脸前处理得到的主播A人脸130个特征点,进而可以采用人脸130个特征点实时构建针对主播A的三维重建人脸模型,该三维重建人脸模型可以模拟出主播A的脸型、五官位置、五官大小、脸部姿态等信息。
步骤604,采用所述第二原始面部数据,构建针对所述第二用户的第三面部互换模型;
作为一示例,第三面部互换模型可以为针对第二用户的三维重建人脸模型,例如,可以构建针对主播B的三维重建人脸模型。
在采用第二面部互换模式进行面部互换时,可以采用第二原始面部数据,构建针对第二用户的第三面部互换模型,以进一步针对第二用户进行面部互换处理。
例如,可以获取换脸前处理得到的主播B人脸130个特征点,进而可以采用人脸130个特征点实时构建针对主播B的三维重建人脸模型,该三维重建人脸模型可以模拟出主播B的脸型、五官位置、五官大小、脸部姿态等信息。
步骤605,采用所述第二面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据;
在实际应用中,可以采用针对第一用户的第二面部互换模型,生成第一原始面部数据对应的第一互换面部数据,例如,可以将主播B的原始面部图片,渲染到针对主播A的三维重建人脸模型上,进而以生成针对主播A的换脸结果。
在一示例中,三维重建换脸算法可以通过将主播B的原始面部图片渲染到针对主播A的三维重建人脸模型上,以及将主播A的原始面部图片渲染到针对主播B的三维重建人脸模型上,进而分别得到针对主播A、主播B的换脸结果,其换脸处理的核心为将对方脸部图片渲染到自己的三维重建人脸模型上生成换脸结果。
步骤606,采用所述第三面部互换模型,生成所述第二原始面部数据对应的第二互换面部数据;
在实际应用中,可以采用针对第二用户的第三面部互换模型,生成第二原始面部数据对应的第二互换面部数据,例如,可以将主播A的原始面部图片,渲染到针对主播B的三维重建人脸模型上,进而以生成针对主播B的换脸结果。
在一示例中,三维重建换脸算法可以仅针对换脸区域生成精细结果,针对其余部分生成非精细结果,从而加快了算法的生成速度,优化了三维重建换脸算法的运算速度,利用三维重建人脸模型和脸部图片渲染方法,可以无需针对未知名主播预先采集脸部图片即可达到换脸的目的,在任意直播场景中均能进行应用。
步骤607,根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
在生成第一互换面部数据和第二互换面部数据后,可以采用第一互换面部数据对第一原始面部数据作替换处理,以及可以采用第二互换面部数据对第二原始面部数据作替换处理,以得到针对第一用户和第二用户的面部互换效果。
为了使本领域技术人员能够更好地理解上述步骤,以下结合图7对本发明实施例加以示例性说明,但应当理解的是,本发明实施例并不限于此。
针对三维重建人脸模型应用的过程(以主播A和主播B为例),可以采用如图7所示的步骤进行处理:
S701:可以获取换脸前处理得到的主播A人脸130个特征点和主播B人脸130个特征点,并分别采用特征点实时构建针对主播A的三维重建人脸模型、针对主播B的三维重建人脸模型;
S702:可以将主播B原始面部图片渲染到主播A的三维重建人脸,得到针对主播A的换脸结果(生成替换为主播B的脸部);可以将主播A原始面部图片渲染到主播B的三维重建人脸,得到针对主播B的换脸结果(生成替换为主播A的脸部)。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明一实施例提供的一种直播中数据处理的装置的结构示意图,具体可以包括如下模块:
属性信息确定模块801,用于在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
目标面部互换模式确定模块802,用于根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
面部互换处理模块803,用于按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
在本发明一实施例中,所述目标面部互换模式确定模块802,包括:
属性信息集合获取子模块,用于获取预置的属性信息集合,并判断所述第一属性信息和所述第二属性信息是否均与所述属性信息集合相匹配;
第一判断子模块,用于若是,则确定预置的第一面部互换模式为目标面部互换模式;
第二判断子模块,用于否则,则确定预置的第二面部互换模式为目标面部互换模式。
在本发明一实施例中,还包括:
原始面部数据获取模块,用于从所述直播连线的视频画面中,获取针对所述第一用户的第一原始面部数据和针对所述第二用户的第二原始面部数据;
所述面部互换处理模块803,包括:
目标面部互换模型获取子模块,用于获取所述目标面部互换模式对应的目标面部互换模型;
互换面部数据生成子模块,用于采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据;
替换处理子模块,用于根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
在本发明一实施例中,所述目标面部互换模型获取子模块,包括:
第一面部互换模型获取单元,用于在所述目标面部互换模式为所述第一面部互换模式时,获取预置的第一面部互换模型为目标面部互换模型;其中,所述第一面部互换模型包括针对所述第一用户的第一解码模型和针对所述第二用户的第二解码模型;
所述互换面部数据生成子模块,包括:
第一面部互换模型生成第一互换面部数据单元,用于采用所述第二解码模型,生成所述第一原始面部数据对应的第一互换面部数据;
第一面部互换模型生成第二互换面部数据单元,用于采用所述第一解码模型,生成所述第二原始面部数据对应的第二互换面部数据。
在本发明一实施例中,所述目标面部互换模型获取子模块,包括:
第二面部互换模型构建单元,用于在所述目标面部互换模式为所述第二面部互换模式时,采用所述第一原始面部数据,构建针对所述第一用户的第二面部互换模型;
第三面部互换模型构建单元,用于采用所述第二原始面部数据,构建针对所述第二用户的第三面部互换模型;
所述互换面部数据生成子模块,包括:
第二面部互换模型生成第一互换面部数据单元,用于采用所述第二面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据;
第三面部互换模型生成第二互换面部数据单元,用于采用所述第三面部互换模型,生成所述第二原始面部数据对应的第二互换面部数据。
在本发明一实施例中,所述替换处理子模块,包括:
第一目标面部数据得到单元,用于生成所述第一原始面部数据对应的第一面部遮罩数据,并根据所述第一面部遮罩数据和所述第一互换面部数据,得到第一目标面部数据;
第一原始面部数据替换单元,用于采用所述第一目标面部数据替换所述第一原始面部数据;
所述替换处理子模块,还包括:
第二目标面部数据得到单元,用于生成所述第二原始面部数据对应的第二面部遮罩数据,并根据所述第二面部遮罩数据和所述第二互换面部数据,得到第二目标面部数据;
第二原始面部数据替换单元,用于采用所述第二目标面部数据替换所述第二原始面部数据。
在本发明一实施例中,第一目标面部数据得到单元包括:
第一目标面部数据得到子单元,用于根据所述第一面部遮罩数据、所述第一互换面部数据以及所述第一用户的肤色数据,得到第一目标面部数据;
所述第二目标面部数据得到单元包括:
第二目标面部数据得到子单元,用于根据所述第二面部遮罩数据、所述第二互换面部数据以及所述第二用户的肤色数据,得到第二目标面部数据。
在本发明一实施例中,所述直播连线过程中,在观众客户端呈现所述直播连线的视频画面,所述视频画面中同时包含所述第一用户的视频画面和所述第二用户的视频画面。
在本发明一实施例中,所述第一面部互换模式为自编码器模式,所述第二面部互换模式为三维重建模式。
在本发明实施例中,通过在第一用户和第二用户进行直播连线的过程中,确定针对第一用户的第一属性信息和针对第二用户的第二属性信息,然后根据第一属性信息和第二属性信息,确定目标面部互换模式,进而按照目标面部互换模式,在直播连线的视频画面中对第一用户和第二用户进行面部互换处理,实现了应用于任意直播场景中的面部切换处理,通过针对用户的属性信息确定面部互换模式,可以灵活调整换脸算法进行处理,能够达到主播实时换脸的目的,延迟低、效果好,并且兼顾了***性能,增加了直播的趣味性和娱乐性。
本发明一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上直播中数据处理的方法。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上直播中数据处理的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的直播中数据处理的方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种直播中数据处理的方法,其特征在于,所述方法包括:
在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式,包括:
获取预置的属性信息集合,并判断所述第一属性信息和所述第二属性信息是否均与所述属性信息集合相匹配;
若是,则确定预置的第一面部互换模式为目标面部互换模式;
否则,则确定预置的第二面部互换模式为目标面部互换模式。
3.根据权利要求1或2所述的方法,其特征在于,在所述按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理之前,还包括:
从所述直播连线的视频画面中,获取针对所述第一用户的第一原始面部数据和针对所述第二用户的第二原始面部数据;
所述按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理,包括:
获取所述目标面部互换模式对应的目标面部互换模型;
采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据;
根据所述第一互换面部数据对所述第一原始面部数据作替换处理,以及根据所述第二互换面部数据对所述第二原始面部数据作替换处理。
4.根据权利要求3所述的方法,其特征在于,所述获取所述目标面部互换模式对应的目标面部互换模型,包括:
在所述目标面部互换模式为所述第一面部互换模式时,获取预置的第一面部互换模型为目标面部互换模型;其中,所述第一面部互换模型包括针对所述第一用户的第一解码模型和针对所述第二用户的第二解码模型;
所述采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据,包括:
采用所述第二解码模型,生成所述第一原始面部数据对应的第一互换面部数据;
采用所述第一解码模型,生成所述第二原始面部数据对应的第二互换面部数据。
5.根据权利要求3所述的方法,其特征在于,所述获取所述目标面部互换模式对应的目标面部互换模型,包括:
在所述目标面部互换模式为所述第二面部互换模式时,采用所述第一原始面部数据,构建针对所述第一用户的第二面部互换模型;
采用所述第二原始面部数据,构建针对所述第二用户的第三面部互换模型;
所述采用所述目标面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据和所述第二原始面部数据对应的第二互换面部数据,包括:
采用所述第二面部互换模型,生成所述第一原始面部数据对应的第一互换面部数据;
采用所述第三面部互换模型,生成所述第二原始面部数据对应的第二互换面部数据。
6.根据权利要求4或5所述的方法,其特征在于,根据所述第一互换面部数据对所述第一原始面部数据作替换处理,包括:
生成所述第一原始面部数据对应的第一面部遮罩数据,并根据所述第一面部遮罩数据和所述第一互换面部数据,得到第一目标面部数据;
采用所述第一目标面部数据替换所述第一原始面部数据;
所述根据所述第二互换面部数据对所述第二原始面部数据作替换处理,包括:
生成所述第二原始面部数据对应的第二面部遮罩数据,并根据所述第二面部遮罩数据和所述第二互换面部数据,得到第二目标面部数据;
采用所述第二目标面部数据替换所述第二原始面部数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一面部遮罩数据和所述第一互换面部数据得到第一目标面部数据,包括:
根据所述第一面部遮罩数据、所述第一互换面部数据以及所述第一用户的肤色数据,得到第一目标面部数据;
所述根据所述第二面部遮罩数据和所述第二互换面部数据得到第二目标面部数据,包括:
根据所述第二面部遮罩数据、所述第二互换面部数据以及所述第二用户的肤色数据,得到第二目标面部数据。
8.根据权利要求1所述的方法,其特征在于,所述直播连线过程中,在观众客户端呈现所述直播连线的视频画面,所述视频画面中同时包含所述第一用户的视频画面和所述第二用户的视频画面。
9.根据权利要求2所述的方法,其特征在于,所述第一面部互换模式为自编码器模式,所述第二面部互换模式为三维重建模式。
10.一种直播中数据处理的装置,其特征在于,所述装置包括:
属性信息确定模块,用于在第一用户和第二用户进行直播连线的过程中,确定针对所述第一用户的第一属性信息和针对所述第二用户的第二属性信息;
目标面部互换模式确定模块,用于根据所述第一属性信息和所述第二属性信息,确定目标面部互换模式;
面部互换处理模块,用于按照所述目标面部互换模式,在所述直播连线的视频画面中对所述第一用户和所述第二用户进行面部互换处理。
11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的直播中数据处理的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的直播中数据处理的方法。
CN202010924402.6A 2020-09-04 2020-09-04 直播中数据处理的方法及装置、电子设备、存储介质 Active CN111986301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010924402.6A CN111986301B (zh) 2020-09-04 2020-09-04 直播中数据处理的方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010924402.6A CN111986301B (zh) 2020-09-04 2020-09-04 直播中数据处理的方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN111986301A true CN111986301A (zh) 2020-11-24
CN111986301B CN111986301B (zh) 2024-06-28

Family

ID=73448340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010924402.6A Active CN111986301B (zh) 2020-09-04 2020-09-04 直播中数据处理的方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN111986301B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106447604A (zh) * 2016-09-30 2017-02-22 北京奇虎科技有限公司 一种变换视频中面部画面的方法和装置
CN106534757A (zh) * 2016-11-22 2017-03-22 北京金山安全软件有限公司 人脸交换方法、装置、主播终端及观众终端
WO2018010682A1 (zh) * 2016-07-15 2018-01-18 腾讯科技(深圳)有限公司 直播方法、直播数据流展示方法和终端
CN108229239A (zh) * 2016-12-09 2018-06-29 武汉斗鱼网络科技有限公司 一种图像处理的方法及装置
CN110533585A (zh) * 2019-09-04 2019-12-03 广州华多网络科技有限公司 一种图像换脸的方法、装置、***、设备和存储介质
US10552977B1 (en) * 2017-04-18 2020-02-04 Twitter, Inc. Fast face-morphing using neural networks
JP2020071851A (ja) * 2018-10-31 2020-05-07 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド アバタによる生放送方法及び装置
CN111314719A (zh) * 2020-01-22 2020-06-19 北京达佳互联信息技术有限公司 直播辅助方法、装置、电子设备及存储介质
CN111586424A (zh) * 2020-04-28 2020-08-25 永康精信软件开发有限公司 一种实现化妆品多维动态展示的视频直播方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018010682A1 (zh) * 2016-07-15 2018-01-18 腾讯科技(深圳)有限公司 直播方法、直播数据流展示方法和终端
CN106447604A (zh) * 2016-09-30 2017-02-22 北京奇虎科技有限公司 一种变换视频中面部画面的方法和装置
CN106534757A (zh) * 2016-11-22 2017-03-22 北京金山安全软件有限公司 人脸交换方法、装置、主播终端及观众终端
CN108229239A (zh) * 2016-12-09 2018-06-29 武汉斗鱼网络科技有限公司 一种图像处理的方法及装置
US10552977B1 (en) * 2017-04-18 2020-02-04 Twitter, Inc. Fast face-morphing using neural networks
JP2020071851A (ja) * 2018-10-31 2020-05-07 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド アバタによる生放送方法及び装置
CN110533585A (zh) * 2019-09-04 2019-12-03 广州华多网络科技有限公司 一种图像换脸的方法、装置、***、设备和存储介质
CN111314719A (zh) * 2020-01-22 2020-06-19 北京达佳互联信息技术有限公司 直播辅助方法、装置、电子设备及存储介质
CN111586424A (zh) * 2020-04-28 2020-08-25 永康精信软件开发有限公司 一种实现化妆品多维动态展示的视频直播方法及装置

Also Published As

Publication number Publication date
CN111986301B (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
CN111402399B (zh) 人脸驱动和直播方法、装置、电子设备及存储介质
CN107707931B (zh) 根据视频数据生成解释数据、数据合成方法及装置、电子设备
CN111988658B (zh) 视频生成方法及装置
CN111464834B (zh) 一种视频帧处理方法、装置、计算设备及存储介质
TWI752502B (zh) 一種分鏡效果的實現方法、電子設備及電腦可讀儲存介質
CN106789991A (zh) 一种基于虚拟场景的多人互动方法及***
CN106713988A (zh) 一种对虚拟场景直播进行美颜处理的方法及***
IL257304A (en) Conversion of 2D to 3D video images
CN110969572A (zh) 换脸模型训练方法、人脸互换方法、装置及电子设备
CN111510769A (zh) 视频图像处理方法、装置及电子设备
CN113395569B (zh) 视频生成方法及装置
Mukhopadhyay et al. Diff2lip: Audio conditioned diffusion models for lip-synchronization
Leduc et al. SoccerNet-Depth: a scalable dataset for monocular depth estimation in sports videos
Li et al. SPGAN: Face forgery using spoofing generative adversarial networks
CN111986301B (zh) 直播中数据处理的方法及装置、电子设备、存储介质
WO2023076648A1 (en) Extraction of user representation from video stream to a virtual environment
CN115035219A (zh) 表情生成方法、装置和表情生成模型的训练方法、装置
CN112449249A (zh) 视频流处理方法及装置、电子设备及存储介质
CN111415397A (zh) 一种人脸重构、直播方法、装置、设备及存储介质
CN116958353B (zh) 一种基于动态捕捉的全息投影方法及相关装置
Chen et al. LPIPS-AttnWav2Lip: Generic audio-driven lip synchronization for talking head generation in the wild
CN116596752B (zh) 脸部图像替换方法、装置、设备及存储介质
Zhang et al. DCM2Net: an improved face recognition model for panoramic stereoscopic videos
Pereira Scientific and Academic Project
CN117173291A (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