掌桥专利:专业的专利平台
掌桥专利
首页

虚拟形象随动控制方法、装置、电子设备和可读存储介质

文献发布时间:2023-06-19 12:02:28


虚拟形象随动控制方法、装置、电子设备和可读存储介质

技术领域

本申请涉及直播技术领域,具体而言,涉及一种虚拟形象随动控制方法、装置、电子设备和可读存储介质。

背景技术

随着直播行业的流行,越来越多的大众想进入直播行业,但部分主播会对自己外貌不够自信,如果能用虚拟形象来辅助这些主播,让虚拟形象跟随主播做生动的表演,那么直播的门槛将会极度地被降低。

现有的方案中,有些主播是直接使用头像贴纸,或者带上头套进行直播,但这些静态的贴纸或者头套无法跟随主播做出生动的表情,这导致和观众的交互效果会大打折扣。另外一种方案是让主播戴上专业的动捕设备,但是这种方式成本较大,而且主播要时刻带着头盔,对主播造成了较大的不适。

发明内容

本申请的目的包括,例如,提供了一种虚拟形象随动控制方法、装置、电子设备和可读存储介质,其能够准确、规范且无干扰地实现虚拟形象的随动控制。

本申请的实施例可以这样实现:

第一方面,本申请提供一种虚拟形象随动控制方法,所述方法包括:

获取主播的人脸图像,并获得所述人脸图像包含的多个人脸特征;

针对每个所述人脸特征,获得预设的与其对应的多个表情基模板;

根据所述人脸特征和所述多个表情基模板,确定所述人脸特征相对于各所述表情基模板的模板系数;

基于各所述表情基模板及各自对应的模板系数,对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

在可选的实施方式中,所述根据所述人脸特征和所述多个表情基模板,确定所述人脸特征相对于各所述表情基模板的模板系数的步骤,包括:

根据预先建立的目标函数、所述人脸特征以及所述多个表情基模板,对所述目标函数进行优化处理,直至满足预设要求时得到所述目标函数中包含的多个模板系数,其中,所述模板系数与所述表情基模板一一对应。

在可选的实施方式中,所述根据预先建立的目标函数、所述人脸特征以及所述多个表情基模板,对所述目标函数进行优化处理的步骤,包括:

将各所述表情基模板进行投影变换,并根据预先建立的目标函数、所述人脸特征以及投影变换后的多个表情基模板,对所述目标函数进行优化处理。

在可选的实施方式中,所述将各所述表情基模板进行投影变换,并根据预先建立的目标函数、所述人脸特征以及投影变换后的多个表情基模板,对所述目标函数进行优化处理的步骤,包括:

利用预设的初始变换系数对各所述表情基模板进行初次投影变换,并根据预先建立的目标函数、所述人脸特征以及初次投影变换后的多个表情基模板,得到所述目标函数中包含的多个模板系数;

以得到的各个模板系数作为各所述表情基模板更新后的变换系数,利用更新后的变换系数对各所述表情基模板进行再次投影变换,并根据所述目标函数、所述人脸特征以及再次投影变换后的多个表情基模板进行所述目标函数的优化处理,直至满足预设要求。

在可选的实施方式中,所述人脸特征包含多个人脸特征点,各所述表情基模板包含多个表情特征点;

所述将各所述表情基模板进行投影变换的步骤,包括:

针对所述人脸特征中的每个所述人脸特征点,确定各所述表情基模板中与所述人脸特征点对应的表情特征点;

根据各所述表情基模板中表情特征点的坐标值以及对应的人脸特征点的坐标值对各所述表情基模板进行投影变换。

在可选的实施方式中,所述人脸特征包含多个人脸特征点,各所述表情基模板包含多个表情特征点;

所述根据预先建立的目标函数、所述人脸特征以及投影变换后的多个表情基模板,对所述目标函数进行优化处理的步骤,包括:

获得所述多个人脸特征点构建的第一数组,并获得各所述表情基模板包含的多个表情特征点构建的第二数组;

基于预先建立的目标函数,将多个第二数组按对应的模板系数进行加权累加后减去所述第一数组,并在所述目标函数满足预设要求时,确定各个模板系数。

在可选的实施方式中,所述基于各所述表情基模板及各自对应的模板系数,对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制的步骤,包括:

将所述多个表情基模板按照对应的模板系数进行加权累加,得到控制信息;

根据所述控制信息对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

在可选的实施方式中,所述控制信息包含多个坐标信息,各所述坐标信息为多个表情基模板包含的对应的表情特征点的坐标的加权结果;

所述根据所述控制信息对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制的步骤,包括:

获得构建的虚拟形象中与所述人脸特征对应的虚拟特征,并获得所述虚拟特征包含的多个虚拟特征点;

将所述虚拟特征中各个虚拟特征点按所述控制信息中对应的坐标信息进行控制,以驱动所述虚拟形象进行状态随动。

第二方面,本申请提供一种虚拟形象随动控制装置,所述装置包括:

第一获得模块,用于获取主播的人脸图像,并获得所述人脸图像包含的多个人脸特征;

第二获得模块,用于针对每个所述人脸特征,获得对应的多个表情基模板;

确定模块,用于根据所述人脸特征和所述多个表情基模板,确定所述人脸特征相对于各所述表情基模板的模板系数;

控制模块,用于基于各所述表情基模板及各自对应的模板系数,对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。

本申请实施例的有益效果包括,例如:

本申请提供一种虚拟形象随动控制方法、装置、电子设备和可读存储介质,通过获取主播的人脸图像,并获得人脸图像包含的多个人脸特征,其中,针对每个人脸特征,可获得预设的与其对应的多个表情基模板,再根据人脸特征和多个表情基模板,确定人脸特征相对于各表情基模板的模板系数。基于各表情基模板及各自对应的模板系数,对构建的虚拟形象中与人脸特征对应的虚拟特征进行状态随动控制。该方案,通过将主播的人脸特征以携带有模板系数的表情基模板来体现,进而控制虚拟形象,可在无需其他辅助设备的情况下实现对虚拟形象的随动控制,并且,该方案是以表情基模板的信息进行控制,使得控制信息更加规范、控制更加精准。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的虚拟形象随动控制方法的应用场景示意图;

图2为本申请实施例提供的虚拟形象随动控制方法的流程图;

图3为本申请实施例提供的人脸模板的示意图;

图4为本申请实施例提供的人脸特征点的示意图;

图5为本申请实施例中表情基模板和人脸特征进行特征点关联的示意图;

图6为图2中步骤S130包含的子步骤的流程图;

图7为图2中步骤S140包含的子步骤的流程图;

图8为本申请实施例提供的虚拟形象的示意图;

图9为本申请实施例提供的电子设备的结构框图;

图10为本申请实施例提供的虚拟形象随动控制装置的功能模块框图。

图标:100-直播提供端;200-直播服务器;300-直播接收端;410-存储器;420-处理器;430-虚拟形象随动控制装置;431-第一获得模块;432-第二获得模块;433-确定模块;434-控制模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。

如图1所示,为本申请实施例提供的虚拟形象随动控制方法的应用场景示意图,该应用场景中可以包括直播提供端100、直播接收端300和与该直播提供端100和该直播接收端300分别通信连接的直播服务器200。

其中,所述直播提供端100可以为主播在直播时使用的终端设备(如手机、平板电脑、电脑等),所述直播接收端300可以为观众在观看直播时使用的终端设备(如手机、平板电脑、电脑等)。

本实施例中,在该场景中还可以包括用于采集主播的视频帧的视频采集设备,该视频采集设备可以是,但不限于摄像头、数码照相机的镜头、监控摄像头或网络摄像头等。

其中,视频采集设备可以直接安装或集成于直播提供端100。例如,视频采集设备可以是配置在直播提供端100上的摄像头,直播提供端100中的其他模块或组件可以经由内部总线接收从视频采集设备处发送的视频、图像等。或者,视频采集设备也可以独立于直播提供端100,两者之间通过有线或无线的方式进行通信。

直播提供端100可以将直播视频流发送至直播服务器200,观众可以通过直播接收端300访问直播服务器200以观看直播视频。

结合图2,本申请实施例还提供一种可应用于电子设备的虚拟形象随动控制方法,用于对直播视频中的虚拟形象进行随动控制。其中,该电子设备可以是上述的直播提供端100,也可以是上述直播服务器200。所述虚拟形象随动控制方法有关的流程所定义的方法步骤可以由所述电子设备实现。下面将对图2所示的具体流程进行详细阐述。

步骤S110,获取主播的人脸图像,并获得所述人脸图像包含的多个人脸特征。

步骤S120,针对每个所述人脸特征,获得预设的与其对应的多个表情基模板。

步骤S130,根据所述人脸特征和所述多个表情基模板,确定所述人脸特征相对于各所述表情基模板的模板系数。

步骤S140,基于各所述表情基模板及各自对应的模板系数,对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

主播在利用直播提供端100进行直播时,视频采集设备可以采集主播的直播视频帧。直播提供端100可将采集的直播视频帧发送至直播服务器200,并通过直播服务器200进行推流,以发送至观看该主播的各个观众所持的直播接收端300。

在主播的直播过程中,主播的脸部信息是主要体现主播状态的信息,实际应用中,主播可能基于各种不同的原因需要利用虚拟形象,例如卡通人物,通过控制虚拟形象同步展示或替代展示自己的脸部状态,以借助虚拟形象进行直播。

在此过程中,如何使虚拟形象能够准确地与主播实时状态保持同步随动尤为重要。

本实施例中,直播提供端100可以采集主播实时的视频帧,主播提供端可以基于采集的视频帧进行后续的处理过程,也可以将采集的视频帧发送至直播服务器200,由直播服务器200基于接收到的视频帧进行后续的处理过程,对此,本实施例不作具体限制。

通过对获取的视频帧进行人脸识别处理,得到视频帧中包含的人脸图像。其中,该过程可以包含识别视频帧中的人脸区域,提取人脸区域以构成人脸图像等过程。

人脸图像中包含多个人脸特征,例如左眼、右眼、鼻子、嘴巴、眉毛等人脸特征。在控制虚拟形象跟随主播状态进行随动时,可以分别针对各个人脸特征进行随动计算。

本实施例中,电子设备中还预存有预设的多个人脸模板,可选地,人脸模板可采用一般的开源模型。各个人脸模板上包含有多个表情基模板,例如,如图3中所示的包含有十个不同的人脸模板。其中,如第一个人脸模板的表情基模板包含如左眼模板、右眼模板、嘴巴模板、鼻子模板等。

需要说明的是,各个人脸模板中均包含有相同类型的表情基模板,只是不同人脸模板中对应的表情基模板可能处于不同的状态,例如有些人脸模板中的左眼模板处于睁眼状态、有些人脸模板中的左眼模板处于闭眼状态。

针对获得的主播的各个人脸特征,可以获得预设的与其对应的多个表情基模板,例如,针对主播的左眼特征,则可以获得各个人脸模板中的左眼模板,获得的多个左眼模板可以处于不同状态,如睁眼状态、闭眼状态、半睁眼状态等。

通过对获得的人脸特征和与其对应的多个表情基模板的信息进行分析,可以确定人脸特征相对与各个表情基模板的模板系数。其中,各个模板系数的取值在范围(0,1)之间,也即,各个模板系数可以表征对应的表情基模板以多大的概率来体现人脸特征。

通过上述计算,主播的人脸特征可以转化为以多个表情基模板来体现,具体地,以携带有各自的模板系数的多个表情基模板来体现。

在此基础上,电子设备中还包含预先构建的虚拟形象,例如,卡通形象、萝莉形象、英雄形象等,具体地,可以根据需求进行相应设置。

同样地,虚拟形象包含有多个虚拟特征,虚拟特征可包含左眼、右眼、鼻子、嘴巴等。主播的人脸特征与虚拟形象的虚拟特征一一对应,如可以基于主播的左眼特征信息对虚拟形象的左眼进行随动控制。当然,在实际过程中,一般是采用对主播的各个人脸特征进行同步并行分析处理,并最终对虚拟形象的各个虚拟特征进行同步控制的方式,也即,基于主播的全脸特征对虚拟形象的全脸特征进行控制。只是在本实施例中进行方案阐述时,是针对各个人脸特征的处理进行阐述。

通过上述过程得到主播某个人脸特征所对应的多个表情基模板以及各自对应的模板系数后,在对虚拟形象进行控制时,则可以基于得到的各个表情基模板及各自对应的模板系数,对虚拟形象中对应的虚拟特征进行状态随动控制。

由于主播的人脸特征转换为以对应的携带模板系数的表情基模板来体现,因此,基于携带有模板系数的表情基模板对虚拟形象进行控制,可以实现虚拟形象跟随主播的人脸状态进行随动的效果。并且,由于表情基模板是预设的信息规范的模板,因此,以预设的模板信息在实际应用中进行控制,可以使得控制信息更加规范、控制更加准确。

本实施例中,将主播的人脸特征转化为以携带模板系数的表情基模板的信息来体现,其中,模板系数表征了表情基模板以多大的概率来体现人脸特征,而该模板系数的准确确定对于表情基模板是否能准确体现人脸特征尤为重要。因为,在本实施例中,为了准确确定模板系数,采用以下方式来确定模板系数:

根据预先建立的目标函数、人脸特征以及多个表情基模板,对目标函数进行优化处理,直至满足预设要求时得到目标函数中包含的多个模板系数。

其中,模板系数与表情基模板一一对应。

本实施例中,可预先构建目标函数,该目标函数包含两个组成部分,第一部分是表情基模板信息和模板系数,第二部分是人脸特征信息。在已知表情基模板和人脸特征的情况下,将表情基模板和人脸特征的信息带入到目标函数中,对目标函数的优化,实质为对其中包含的模板系数的优化。

在一种实现方式中,在对目标函数的优化处理过程中,满足预设要求时,则可以确定此时的模板系数满足预设要求,可以将模板系数固定下来。其中,判定满足预设要求的方式可以是迭代次数达到预设次数,或者是目标函数的函数值低于预设阈值等不限,具体地可以根据需求进行设置。

在本实施例中,电子设备中预先构建的人脸模板为3D模型,相应地,人脸模板中的表情基模板的信息为3D信息,而基于视频帧所获得的人脸图像为二维图像,因此,为了准确地基于表情基模板和人脸特征进行目标函数的优化,首先需要将3D模型信息与人脸特征的二维信息保持一致,因此,本实施例中,在上述对目标函数进行优化处理的过程可以通过以下方式实现:

将各表情基模板进行投影变换,并根据预先建立的目标函数、人脸特征以及投影变换后的多个表情基模板,对目标函数进行优化处理。

本实施例中,考虑到实际应用过程中,主播在直播过程中很多时候脸部可能并未正对向视频采集设备,也即,得到的主播的人脸图像中,脸部区域可能并非为正脸图像。而电子设备中预先建立的各个人脸模板一般是基于正脸图像进行建立的,也即,各个表情基模板也是正对脸部的视角下的特征。

因此,在将表情基模板进行投影变换时,除了需要将表情基模板从3D模型中投影至二维坐标系,以保持坐标系信息的一致外,为了尽量将表情基模板与主播的人脸特征进行对齐,在本实施例中,还可在将表情基模板进行投影后,对投影后的表情基模板进行偏移、缩放等处理,从而,尽量缩小投影后的表情基模板与人脸特征之间的差距。

在本实施例中,主播的人脸图像包含多个人脸特征,而各个人脸特征包含多个人脸特征点,例如,对于主播的左眼而言,该左眼可以由多个眼部特征点构成,如包含构成眼眶轮廓的多个特征点、定位眼珠位置的中心点等。

同理,各个人脸模板包含多个表情基模板,各个表情基模板包含多个表情特征点,同样地,针对表情基模板中的左眼模板而言,各个左眼模板均由多个特征点构成。并且,为了便于对各个所属相同类型(如左眼)但处于不同状态(如睁眼、闭眼、半睁眼等)的表情基模板进行管理,对于相同类型的表情基模板的特征点采用相同的编码方式进行编码,例如,以同样的序号标记各个表情基模板中对应的表情特征点。也即,各个表情基模板中表征特征点的点、边以及点的连接方式均一致,拥有某个序号的点表征同一个语义,例如,各个表情基模板中第N个点固定表征为眼角点。

因此,上述在对各个表情基模板向人脸特征进行投影变换的过程中,首先,可以针对主播的各个人脸特征,可以先提取出构成人脸特征的多个人脸特征点,该多个人脸特征点为2D特征点,例如图4中所示。需要说明的是,人脸特征点的标识方式,可以和表情基模板中的模板特征点的标识方式一致。

在此基础上,针对人脸特征中的每个人脸特征点,则可以确定各个表情基模板中与人脸特征点对应的表情基特征点,也即,将人脸特征点与对应的表情基特征点进行一一绑定。如图5中所示,左边为人脸特征中的人脸特征点、右边为人脸模板中的3D模板特征点。

然后,根据各个表情基模板中表情特征点的坐标值以及对应的人脸特征点的坐标值对各个表情基模板进行投影变换。

也即,先提取出人脸特征中的各个人脸特征点,再将人脸特征点与对应的模板特征点进行绑定,基于绑定关系以及模板特征点的坐标值、人脸特征点的坐标值,实现表情基模板的投影变换。如此,基于对应特征点的坐标值实现投影变换,可以尽量降低投影变换后的表情基模板和人脸特征之间的差距。

本实施例中,在上述对表情基模板进行投影变换的过程中,对于各个表情基模板需要采取对应的变换系数进行变换。在不同的变换系数下变换结果也相应不同,而变换结果将进一步地影响到目标函数的优化过程,也即,表情基模板的投影变换与目标函数的优化之间是相互影响的。基于此考虑,本实施例中,通过利用投影变换和目标函数的各自优化结果以对彼此进行进一步优化的方式,以使得最终得到满足预设要求。

详细地,本实施例中,在进行目标函数的优化处理时,首先,对于表情基模板的投影变换,可以利用预设的初始变换系数对各表情基模板进行初次投影变换,并根据预先建立的目标函数、人脸特征以及初次投影变换后的多个表情基模板,得到目标函数中包含的多个模板系数。

在本实施例中,首次进行表情基模板的投影变换时,例如,针对多个依次为标准状态、闭眼状态、眨眼状态等的表情基模板,其初始变换系数可以为如(1,0,0,…)的系数组。利用该初始变换系数进行首次的投影变换。

在投影变换后,即可将投影变换的表情基模板带入到目标函数中,计算出该轮的模板系数。

在计算出模板系数的基础上,以得到的各个模板系数作为各表情基模板更新后的变换系数,利用更新后的变换系数对各表情基模板进行再次投影变换,并根据目标函数、人脸特征以及再次投影变换后的多个表情基模板极性目标函数的优化处理,直至满足预设要求。

也即,利用前一轮计算出的模板系数对表情基模板进行投影变换,再利用投影变换后的表情基模板带入到目标函数后,计算出新一轮的模板系数。以此方式,进行多轮迭代计算后,在迭代次数达到预设次数,或者目标函数的函数值低于预设阈值时,则可以确定满足预设要求,可以得到此时目标函数中的模板系数,作为最终的模板系数。

本实施例中,通过上述投影变换和目标函数彼此影响下优化的方式,可以进一步地优化得到的模板系数。

本实施例中,由上述可知,目标函数是由模板系数、表情基模板、人脸特征所构成,而人脸特征包含多个人脸特征点、各表情基模板包含多个模板特征点。详细地,请参阅图6,对目标函数进行优化,以确定模板系数的方式如下:

步骤S131,获得所述多个人脸特征点构建的第一数组,并获得各所述表情基模板包含的多个表情特征点构建的第二数组。

步骤S132,基于预先建立的目标函数,将多个第二数组按对应的模板系数进行加权累加后减去所述第一数组,并在所述目标函数满足预设要求时,确定各个模板系数。

本实施例中,多个人脸特征点可构成第一数组,例如,若提取的人脸特征的人脸特征点为100个,则结合各个人脸特征点的坐标值可得到一个二维的100*2的第一数组。相应地,由于表情特征点的定义方式与人脸特征点相似,因此,各个表情基模板可对应一个二维的100*2的第二数组。

作为一种实现方式,预先构建的目标函数可如下所示:

f=||P(V)-L||

其中,V=模板系数1*表情基模板1+模板系数2*表情基模板2+...

上述公式中,P(V)表示投影变换之后的各表情基模板(各第二数组)按模板系数加权累加后的结果,L表示人脸特征点构成的第一数组。通过对目标函数的拟合,从而确定出各个模板系数。

通过上述方式将人脸特征以表情基模板来体现之后,可以进一步基于确定的表情基模板和模板系数,来对构建的虚拟形象进行随动控制。详细地,请参阅图7,该步骤可以通过以下方式实现:

步骤S141,将所述多个表情基模板按照对应的模板系数进行加权累加,得到控制信息。

步骤S142,根据所述控制信息对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

本实施例中,可以将上述得到的多个表情基模板按照对应的模板系数进行加权累加作为控制信息。例如,控制信息可为按以下公式计算得到的累加结果:

模板系数1*表情基模板1+模板系数2*表情基模板2+...

由上述可知,各个表情基模板包含多个模板特征点,虚拟形象中虚拟特征也包含多个虚拟特征点,对虚拟形象的控制,实质为各个虚拟特征点的控制。

也即,得到的控制信息中包含多个坐标信息,各个坐标信息为多个表情基模板包含的对应表情特征点的坐标的加权结果。例如,若针对人脸特征中的左眼进行随动,则得到的各个坐标信息为多个左眼模板中对应的特征点的坐标信息。

在对虚拟形象进行控制时,则可获得构建的虚拟形象中与人脸特征对应的虚拟特征,并获得虚拟特征包含的多个虚拟特征点。例如,虚拟形象的左眼特征,虚拟形象中左眼包含的多个特征点。

再将虚拟特征中各个虚拟特征点按控制信息中对应的坐标信息进行控制,以驱动虚拟形象进行状态随动。也即,利用表情基模板中对应模板特征点按模板系数加权后的坐标信息,对虚拟特征中对应的虚拟特征点的坐标进行控制。

例如,如图8中所示,在主播的嘴巴呈现为某个状态时,该状态可能是由多个表情基模板(嘴巴模板)按不同的模板系数共同体现,例如由张嘴状态的模板和嘟嘴状态的模板共同体现,该状态例如可以表征为0.2*张嘴的表情基模板+0.5*嘟嘴的表情基模板。其中,0.2为张嘴状态的表情基模板的模板系数,0.5为嘟嘴状态的表情基模板的模板系数。

基于上述得到的结果可以对应地控制虚拟形象跟随主播的嘴巴状态,实现嘴部状态随动。

通过上述方式,则可以将主播的人脸特征转化为携带模板系数的表情基模板来体现,进而基于表情基模板按模板系数加权以进行虚拟形象的控制,从而实现虚拟形象跟随主播的人脸特征进行状态随动控制的目的。

在一种实现方式中,若电子设备为上述直播提供端100,则直播提供端100在采集到主播的视频帧,并相应控制虚拟形象后,可生成相应的直播视频流并发送至直播服务器200,由直播服务器200推送给各个直播接收端300,以供观众观看。

在另一种实现方式中,若电子设备为上述的直播服务器200,则直播服务器200可在实现虚拟形象的随动控制后,将包含主播和虚拟形象的视频帧生成推送流,并推送给各个直播接收端300,以供观众观看。

本申请实施例提供的虚拟形象随动控制方法,可以通过将主播的人脸特征转换为以预设的标准的表情基模板来体现,进而基于对应的表情基模板对虚拟形象进行随动控制。在不需要辅助设备的情况下,可成功实现虚拟形象跟随主播状态进行随动控制的目的,并且,转换为预设的标准的表情基模板进行控制,可以使得控制信息更加规范、控制更加准确。

请参阅图9,本申请实施例还提供了一种电子设备。其中,该电子设备可以作为一种直播设备,例如,可以是主播在直播时使用的终端设备(如上述的直播提供端100),也可以是与主播在直播时使用终端设备通信连接的服务器(如上述的直播服务器200)。

详细地,所述电子设备可以包括存储器410、处理器420和虚拟形象随动控制装置430。所述存储器410和处理器420之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述虚拟形象随动控制装置430包括至少一个可以软件或固件(firmware)的形式存储于所述存储器410中的软件功能模块。所述处理器420用于执行所述存储器410中存储的可执行的计算机程序,例如,所述虚拟形象随动控制装置430所包括的软件功能模块及计算机程序等,以实现虚拟形象随动控制方法,进而保证控制虚拟形象跟随主播状态进行直播展示,且保障虚拟形象的跟随效果更加规范和准确。

其中,所述存储器410可以是,但不限于,随机存取存储器410(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器410用于存储程序,所述处理器420在接收到执行指令后,执行所述程序。

所述处理器420可能是一种集成电路芯片,具有信号的处理能力。例如,可以是中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)、数字信号处理器(DSP)等,以实现或者执行本申请实施例中的公开的各方法、步骤。

可以理解,图9所示的结构仅为示意,所述电子设备还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置,例如,还可以包括用于与其它直播设备进行信息交互的通信单元。其中,图9中所示的各组件可以采用硬件、软件或其组合实现。

请参阅图10,为本申请实施例提供的虚拟形象随动控制装置430的功能模块框图。该虚拟形象随动控制装置430包括第一获得模块431、第二获得模块432、确定模块433和控制模块434。

第一获得模块431,用于获取主播的人脸图像,并获得所述人脸图像包含的多个人脸特征。

在本实施例中,所述第一获得模块431可用于执行图2所示的步骤S110,关于所述第一获得模块431的相关内容可以参照前文对步骤S110的描述。

第二获得模块432,用于针对每个所述人脸特征,获得对应的多个表情基模板。

在本实施例中,所述第二获得模块432可用于执行图2所示的步骤S120,关于所述第二获得模块432的相关内容可以参照前文对步骤S120的描述。

确定模块433,用于根据所述人脸特征和所述多个表情基模板,确定所述人脸特征相对于各所述表情基模板的模板系数。

在本实施例中,所述确定模块433可用于执行图2所示的步骤S130,关于所述确定模块433的相关内容可以参照前文对步骤S130的描述。

控制模块434,用于基于各所述表情基模板及各自对应的模板系数,对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

在本实施例中,所述控制模块434可用于执行图2所示的步骤S140,关于所述控制模块434的相关内容可以参照前文对步骤S140的描述。

在一种可能的实现方式中,上述确定模块433具体可以用于:

根据预先建立的目标函数、所述人脸特征以及所述多个表情基模板,对所述目标函数进行优化处理,直至满足预设要求时得到所述目标函数中包含的多个模板系数,其中,所述模板系数与所述表情基模板一一对应。

在一种可能的实现方式中,上述确定模块433可以用于通过以下方式进行优化处理:

将各所述表情基模板进行投影变换,并根据预先建立的目标函数、所述人脸特征以及投影变换后的多个表情基模板,对所述目标函数进行优化处理。

在一种可能的实现方式中,上述确定模块433具体可以用于:

利用预设的初始变换系数对各所述表情基模板进行初次投影变换,并根据预先建立的目标函数、所述人脸特征以及初次投影变换后的多个表情基模板,得到所述目标函数中包含的多个模板系数;

以得到的各个模板系数作为各所述表情基模板更新后的变换系数,利用更新后的变换系数对各所述表情基模板进行再次投影变换,并根据所述目标函数、所述人脸特征以及再次投影变换后的多个表情基模板进行所述目标函数的优化处理,直至满足预设要求。

在一种可能的实现方式中,所述人脸特征包含多个人脸特征点,各所述表情基模板包含多个表情特征点,上述确定模块433可以用于通过以下方式实现投影变换:

针对所述人脸特征中的每个所述人脸特征点,确定各所述表情基模板中与所述人脸特征点对应的表情特征点;

根据各所述表情基模板中表情特征点的坐标值以及对应的人脸特征点的坐标值对各所述表情基模板进行投影变换。

在一种可能的实现方式中,上述确定模块433具体可以用于:

获得所述多个人脸特征点构建的第一数组,并获得各所述表情基模板包含的多个表情特征点构建的第二数组;

基于预先建立的目标函数,将多个第二数组按对应的模板系数进行加权累加后减去所述第一数组,并在所述目标函数满足预设要求时,确定各个模板系数。

在一种可能的实现方式中,上述控制模块434具体可以用于:

将所述多个表情基模板按照对应的模板系数进行加权累加,得到控制信息;

根据所述控制信息对构建的虚拟形象中与所述人脸特征对应的虚拟特征进行状态随动控制。

在一种可能的实现方式中,所述控制信息包含多个坐标信息,各所述坐标信息为多个表情基模板包含的对应的表情特征点的坐标的加权结果,所述控制模块434具体可以用于:

获得构建的虚拟形象中与所述人脸特征对应的虚拟特征,并获得所述虚拟特征包含的多个虚拟特征点;

将所述虚拟特征中各个虚拟特征点按所述控制信息中对应的坐标信息进行控制,以驱动所述虚拟形象进行状态随动。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

在本申请实施例中,对应于上述的虚拟形象随动控制方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述虚拟形象随动控制方法的各个步骤。

其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述虚拟形象随动控制方法的解释说明。

综上所述,本申请实施例提供的虚拟形象随动控制方法、装置、电子设备和可读存储介质,通过获取主播的人脸图像,并获得人脸图像包含的多个人脸特征,其中,针对每个人脸特征,可获得预设的与其对应的多个表情基模板,再根据人脸特征和多个表情基模板,确定人脸特征相对于各表情基模板的模板系数。基于各表情基模板及各自对应的模板系数,对构建的虚拟形象中与人脸特征对应的虚拟特征进行状态随动控制。该方案,通过将主播的人脸特征以携带有模板系数的表情基模板来体现,进而控制虚拟形象,可在无需其他辅助设备的情况下实现对虚拟形象的随动控制,并且,该方案是以表情基模板的信息进行控制,使得控制信息更加规范、控制更加精准。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 虚拟形象随动控制方法、装置、电子设备和可读存储介质
  • 虚拟形象驱动方法、装置、电子设备和可读存储介质
技术分类

06120113146993