一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

主播虚拟形象生成方法及装置与流程

2022-04-30 13:20:55 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种主播虚拟形象生成方法。本技术同时涉及一种主播虚拟形象生成装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.在直播技术中,根据主播真人的动作和表情,在视频帧中展示与主播真人具有相同或相近动作及表情的虚拟形象,可以极大地提升直播内容的丰富度。
3.相关技术中,通常在直播过程中通过专业的捕捉设备捕捉主播真人的动作和表情。但是,上述专业的捕捉设备往往操作复杂,并且,需要配置专门的使用场地。因此,需要提供更加便捷的方案。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种主播虚拟形象生成方法。本技术同时涉及一种主播虚拟形象生成装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的主播虚拟形象生成不够便捷的问题。
5.根据本技术实施例的第一方面,提供了一种主播虚拟形象生成方法,包括:
6.获取图像采集设备采集的目标主播的人体图像,所述人体图像中至少包括目标主播的人脸和上半身;
7.对所述人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征;
8.基于所述人脸特征和所述肢体特征,设置所述目标主播的虚拟形象参数,根据所述虚拟形象参数,生成所述目标主播对应的虚拟形象。
9.根据本技术实施例的第二方面,提供了一种主播虚拟形象生成装置,包括:
10.图像获取模块,被配置为获取图像采集设备采集的目标主播的人体图像,所述人体图像中至少包括目标主播的人脸和上半身;
11.特征获取模块,被配置为对所述人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征;
12.虚拟形象生成模块,被配置为基于所述人脸特征和所述肢体特征,设置所述目标主播的虚拟形象参数,根据所述虚拟形象参数,生成所述目标主播对应的虚拟形象。
13.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述主播虚拟形象生成方法的步骤。
14.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述主播虚拟形象生成方法的步骤。
15.本技术一实施例实现了获取图像采集设备采集的目标主播的人体图像,人体图像中至少包括目标主播的人脸和上半身;对人体图像分别进行人脸识别及上半身的肢体识
别,获得人脸特征和肢体特征;基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,根据虚拟形象参数,生成目标主播对应的虚拟形象。其中,上半身的肢体动作通常具有变化幅度和变化速度相对较小的特点。并且,人体图像中至少包括目标主播的人脸和上半身。因此,直接获取图像采集设备采集的人体图像,可以对人体图像分别进行人脸识别及上半身的肢体识别,获得人脸特征和肢体特征。并且,人脸特征和肢体特征表征了目标主播的头部和上半身的特质,可以反映目标主播的动作和表情。因此,本实施例可以实现通过图像采集设备直接捕捉目标主播的动作和表情的效果,无需依赖专门的捕捉设备。在此基础上,基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,根据虚拟形象参数,生成目标主播对应的虚拟形象,可以保证生成的虚拟形象与目标主播的动作和表情对应,以保证直播的内容丰富度。因此,本方案无需依赖专门的捕捉设备即可实现主播虚拟形象的生成,可以兼顾直播的便捷性以及内容丰富度。
附图说明
16.图1是本技术一实施例提供的一种主播虚拟形象生成方法的流程图;
17.图2是本技术另一实施例提供的一种主播虚拟形象生成方法中,头部的滚转角、偏航角以及俯仰角的示意图;
18.图3是本技术另一实施例提供的一种主播虚拟形象生成方法中,头部姿态参数的更新流程示意图;
19.图4是本技术另一实施例提供的一种主播虚拟形象生成方法中,表情特征点的示意图;
20.图5是本技术另一实施例提供的一种主播虚拟形象生成方法中,人脸表情参数的更新流程示意图;
21.图6是本技术另一实施例提供的一种主播虚拟形象生成方法中,肢体姿态参数的更新流程示意图;
22.图7是本技术另一实施例提供的一种主播虚拟形象生成方法的流程示意图;
23.图8是本技术一实施例提供的一种主播虚拟形象生成装置的结构示意图;
24.图9是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
25.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
26.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
27.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。
例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
28.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
29.动作捕捉:跟踪物体的关键部位,通过计算机对跟踪结果进行处理,得到三维空间坐标系中表征动作的数据。
30.面部捕捉:跟踪面部轮廓及特征点,经过处理后得到面部的位置及关键点坐标数据。
31.rgb摄像头:也称彩色摄像头,rgb代表红、绿、蓝三个通道的颜色,该摄像头可以用于进行非常精确的彩色图像采集。
32.反向运动(ik,inverse kinematics):也称逆向运动学,是指在给定末端的空间位置的前提下,求解关节需要成多少角度。
33.机器学习(ml,machine learning):一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
34.感兴趣区域(roi,region of interest):机器视觉、图像处理中,被处理的图像中需要处理的区域。在一种情况中,可以采用指定形状,例如方框、圆、椭圆、不规则多边形等形状勾勒出感兴趣区域,以方便对感兴趣区域的利用。
35.回归算法:一种用于连续型分布预测的机器学习算法。回归算法针对的是数值型的样本,回归算法可以针对给定的输入预测出一个数值,这样可以预测连续型数据而不仅仅是离散的类别标签。
36.姿态:位置和旋转数据。
37.虚拟形象驱动:利用姿态和表情数据使虚拟形象呈现与摄像头所捕获真人相同或相近的动作或表情。
38.在本技术中,提供了一种主播虚拟形象生成方法,本技术同时涉及一种主播虚拟形象生成装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
39.图1示出了根据本技术一实施例提供的一种主播虚拟形象生成方法的流程图,具体包括以下步骤:
40.s102,获取图像采集设备采集的目标主播的人体图像,人体图像中至少包括目标主播的人脸和上半身。
41.在具体应用中,本技术实施例提供的主播虚拟形象生成方法,可以应用于直播的客户端或者直播的服务端。并且,图像采集设备具体可以是多种的。示例性的,图像采集设备可以为安装在直播的客户端上的摄像头,例如,移动终端上的摄像头。或者,示例性的,图像采集设备可以为与直播的客户端通信连接、且独立于该客户端的图像采集设备,例如,可以与该客户端通信连接的rgb摄像头、摄像机等等。并且,获取图像采集设备采集的目标主播的人体图像的方式,具体可以是多种的。示例性的,若本技术实施例应用于直播的客户端,则可以直接接收图像采集设备采集的目标主播的人体图像;或者,若本技术实施例应用于直播的服务端,则可以直接接收直播的客户端发送的、由图像采集设备采集的目标主播
的人体图像,这都是合理的。另外,在图像采集设备采集的数据为直播视频的情况下,可以从直播视频中采集至少包括目标主播的人脸和上半身的视频帧,得到人体图像。
42.s104,对人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征。
43.在具体应用中,与专门的捕捉设备不同的是,上述图像采集设备本身通常无法实现长距捕捉,且易受干扰。并且,主播大部分时间是坐姿直播,针对这个细分使用场景,本实施例通过人体图像中至少包括目标主播的人脸和上半身,对人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征。这样,可以利用上半身的肢体动作通常具有变化幅度和变化速度相对较小的特点,保证通过本步骤获得的人脸特征和肢体特征可以分别表征目标主播的面部和姿态。并且,目标主播上半身的姿态是指目标主播上半身的位置和旋转数据,可以反映目标主播的上半身肢体动作。因此,本步骤可以实现以图像采集设备对主播进行面部捕捉和动作捕捉的效果。
44.并且,对人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征的方式可以是多种的。示例性的,可以根据人脸器官的形状数据,以及人脸器官之间的距离关系,设置人脸模板;将人体图像中与人脸模板匹配的部分,确定为人脸特征。类似的,可以根据上半身肢体的形状数据,以及上半身肢体之间的距离关系,设置上半身肢体模板;将人体图像中与上半身肢体模板匹配的部分,确定为肢体特征。或者,示例性的,可以从人体图像中识别存在人脸的人脸区域,识别人脸区域中的人脸特征点,获得人脸特征;从人体图像中识别存在上半身肢体的肢体区域,识别肢体区域中的肢体特征点,获得肢体特征。为了便于理解和合理布局,后续以可选实施例的形式对第二种示例进行具体说明。
45.另外,人脸特征和肢体特征具体可以是多种的,例如,人脸特征和肢体特征可以为特征点、感兴趣区域、纹理、灰度等等,这都是合理的。
46.s106,基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,根据虚拟形象参数,生成目标主播对应的虚拟形象。
47.其中,目标主播的虚拟形象参数是指表征目标主播的虚拟形象的上半身姿态和面部表情的参数,该上半身姿态可以包括头部姿态和肢体姿态。
48.在具体应用中,基于人脸特征和肢体特征,设置目标主播的虚拟形象参数的方式可以是多种的。示例性的,可以从预先建立的虚拟形象参数与人脸特征的对应关系中,查找与人脸特征匹配的虚拟形象参数,作为目标主播的头部形象参数;从预先建立的虚拟形象参数与肢体特征的对应关系中,查找与肢体特征匹配的虚拟形象参数,作为目标主播的肢体形象参数;将头部形象参数和肢体形象参数确定为目标主播的虚拟形象参数。或者,示例性的,可以对人脸特征分别进行头部姿态、人脸表情和肢体的解析,基于解析结果获得目标主播的虚拟形象参数。为了便于理解和合理布局,后续以可选实施例的形式对第二种示例进行具体说明。
49.并且,根据虚拟形象参数,生成目标主播对应的虚拟形象的方式具体可以是多种的。示例性的,可以获取预设虚拟形象,利用目标主播的虚拟形象参数更新预设虚拟形象,得到目标主播对应的虚拟形象。或者,示例性的,可以从预先建立的虚拟形象与虚拟形象参数的对应关系中,查找目标主播的虚拟形象参数对应的虚拟形象,作为目标主播对应的虚拟形象。任何可以根据虚拟形象参数,生成目标主播对应的虚拟形象的方式,均可用于本申
请,本实施例对此不作限制。
50.本技术一实施例中,上半身的肢体动作通常具有变化幅度和变化速度相对较小的特点。并且,人体图像中至少包括目标主播的人脸和上半身。因此,直接获取图像采集设备采集的人体图像,可以对人体图像分别进行人脸识别及上半身的肢体识别,获得人脸特征和肢体特征。并且,人脸特征和肢体特征表征目标主播的头部和上半身的特质,可以反映目标主播的动作和表情。因此,本实施例可以实现通过图像采集设备直接捕捉目标主播的动作和表情的效果,无需依赖专门的捕捉设备。在此基础上,基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,根据虚拟形象参数,生成目标主播对应的虚拟形象,可以保证生成的虚拟形象与目标主播的动作和表情对应,以保证直播的内容丰富度。因此,本方案无需依赖专门的捕捉设备即可实现主播虚拟形象生成,可以兼顾直播的便捷性以及内容丰富度。
51.在一种可选的实施方式中,上述对人体图像分别进行人脸识别及上半身的肢体识别,获得人脸特征和肢体特征,具体可以包括如下步骤:
52.从人体图像中识别人脸区域,基于人脸区域确定人脸特征;
53.从人体图像中识别上半身肢体区域,基于上半身肢体区域确定肢体特征。
54.在具体应用中,人脸特征具体可以是多种的,例如,人脸特征可以为人脸区域的特征点、感兴趣区域、纹理、灰度等等。其中,人脸区域的特征点也就是人脸特征点具体可以为人脸区域中的像素点,或者该像素点在人脸区域中的位置信息。类似的,肢体特征具体可以是多种的,例如,肢体特征可以为上半身肢体区域的特征点、感兴趣区域、纹理、灰度等等。其中,上半身肢体区域的特征点也就是肢体特征点具体可以为肢体区域中的像素点,或者该像素点在肢体区域中的位置信息。并且,从人体图像中识别人脸区域,以及从人体图像中识别上半身肢体区域类似,均为识别感兴趣区域。区别在于所识别的感兴趣区域中的内容不同,人脸区域中的内容为人脸,上半身肢体区域中的内容为上半身肢体。本实施例通过先识别感兴趣区域,再基于感兴趣区域确定特征,例如人脸特征和肢体特征,可以减少直接对整个人体图像进行特征识别造成的效率降低和误识别,从而提高效率和准确度。
55.并且,主播直播的场景通常较为固定。因此,上述识别感兴趣区域可以通过比较人体图像与参考图像实现。其中,参考图像为不包括人体、且与主播直播的场景相同或相似的图像。具体的,可以识别人体图像与参考图像中存在差异、且面积大于面积阈值的目标区域,作为感兴趣区域。在一种情况中,目标区域可能为多个相互独立的区域。并且,人脸和上半身肢体具有特定形状和面积区间。因此,可以利用目标区域的边缘点绘制目标区域的轮廓,将轮廓符合指定形状、且面积属于指定区间的目标区域作为感兴趣区域。其中,若感兴趣区域为人脸区域,则指定形状可以为椭圆形、圆形等等,指定区间为根据经验或者样本人脸确定的人脸面积区间。若感兴趣区域为人脸区域,则指定形状可以为矩形、与人脸区域连接的矩形等等,指定区间为根据经验或者样本上半身确定的上半身面积区间。或者,可以基于机器学习实现本实施例的步骤,下面以可选实施例的形式进行具体说明。
56.在一种可选的实施方式中,上述从人体图像中识别人脸区域,基于人脸区域确定人脸特征,具体可以包括如下步骤:
57.将人体图像输入预先训练得到的人脸识别模型,获得人体图像中的人脸区域;
58.确定人脸特征点在人脸区域中的第一位置信息,根据第一位置信息确定人脸特
征。
59.在具体应用中,人脸识别模型为利用样本人体图像、样本人脸在样本人体图像中的区域标签、以及样本人脸特征点在样本人脸中的位置标签训练得到的。第一位置信息可以为人脸特征点在人脸区域中的坐标。其中,人脸特征点可以是人脸器官对应的像素点,例如,人脸的五官、面部轮廓等等器官对应的像素点。并且,人脸特征点的数量通常为多个,因此,上述根据第一位置信息确定人脸特征具体可以包括:将各第一位置信息的坐标集合,确定为人脸特征。并且,上述人脸识别模型可以是基于通过机器学习,推断3d对象例如目标主播的人脸表面几何形状的模型。因此,本实施例可以保证本技术对人体图像的采集无需使用专用的深度传感器,进一步提高便捷性。
60.具体的,人脸识别模型包含用于识别人脸区域的人脸区域检测子模型,以及人脸特征检测子模型。人脸特征检测子模型可以基于人脸区域检测子模型输出的人脸区域,确定人脸特征点的第一位置信息。其中,人脸区域检测子模型为利用样本人体图像和样本人体图像中人脸的位置标签训练得到。人脸特征检测子模型为利用样本人脸图像和样本人脸特征点在样本人脸图像中的坐标标签训练得到。也就是说,人脸识别模型包含一个从完整人体图像中识别人脸位置的人脸区域检测子模型,该子模型可以看作人脸检测器,以及一个对人脸位置处的区域进行操作的人脸特征检测子模型。示例性的,人脸特征检测子模型具体可以利用回归算法预测人脸表面几何形状的坐标,得到面部的特征点坐标集合。
61.另外,本技术实施例提供的主播虚拟形象生成方法,还可以包括如下步骤:
62.若识别人脸区域中的人脸特征点失败,则返回执行获取图像采集设备采集的目标主播的人体图像。也就是说,当人脸特征检测子模型无法识别人脸,表明当前的图像也就是当前视频帧中很可能不存在人脸。因此,可以获取新的视频帧即新的人体图像,进而调用人脸区域检测子模型重新定位人脸。
63.在一种可选的实施方式中,从人体图像中识别上半身肢体区域,基于上半身肢体区域确定肢体特征,具体可以包括如下步骤:
64.将人体图像输入预先训练得到的肢体识别模型,获得人体图像中的上半身肢体区域;
65.确定肢体特征点在上半身肢体区域中的第二位置信息,
66.根据第二位置信息确定肢体特征。
67.在具体应用中,肢体特征是指表征目标主播上半身的姿态的数据,肢体特征点是指肢体特征中的像素点。目标主播上半身的姿态是指目标主播上半身的位置和旋转数据。肢体识别模型为利用样本人体图像、样本上半身肢体在样本人体图像中的区域标签、以及样本肢体特征点在样本上半身肢体中的位置标签训练得到的。其中,第二位置信息可以为肢体特征点在上半身肢体区域中的坐标。并且,目标主播上半身的位置和旋转数据均可以由肢体特征点的第二位置信息反映。例如,肢体特征点包括肘部特征点和手部末尾(例如最长手指的指尖)特征点,则肘部特征点和手部末尾特征点的第二位置信息可以反映目标主播胳膊的位置和旋转数据。并且,肢体特征点的数量通常为多个。因此,上述根据第二位置信息确定肢体特征具体可以包括:将各肢体特征点的第二位置信息例如坐标的集合,确定为肢体特征。并且,与上述人脸特征点的识别类似的,肢体识别模型包含用于识别肢体区域的肢体区域检测子模型,以及肢体跟踪子模型。肢体跟踪子模型可以基于肢体区域检测子
模型输出的肢体区域,确定肢体特征点的第二位置信息。其中,肢体区域检测子模型为利用样本人体图像和样本人体图像中肢体的位置标签训练得到的。肢体跟踪子模型为利用样本肢体图像和样本肢体特征点在样本肢体图像中的坐标标签训练得到的。也就是说,首先使用肢体区域检测子模型,在图像帧内定位上半身姿态的感兴趣区域(roi);随后肢体跟踪子模型使用roi裁剪帧作为输入来识别roi内的姿态特征点也就是肢体特征。其中,肢体区域检测子模型可以看作检测器,肢体跟踪子模型可以看作跟踪器。
68.在一种情况中,若识别肢体区域中的肢体特征点失败,或者,不存在前一帧的肢体特征点,则返回执行从人体图像中识别上半身肢体区域。
69.其中,前一帧是指在当前处理的人体图像的前一次人体图像获取中,获取的人体图像。另外,不存在前一帧的肢体特征点表明当前处理的人体图像很可能为所获取的人体图像所属直播的第一帧图像。因此,可以调用检测器也就是肢体识别模型重新定位roi。对于除上述肢体特征点识别失败和不存在前一帧的肢体特征点以外的情况,由于姿态很可能与前一帧的相同、相似或者关联,因此,可以直接利用前一帧的肢体特征点所属的roi,也就是从前一帧的姿势坐标导出roi。其中,姿势坐标即肢体特征点在人体图像中的位置坐标。
70.在一种可选的实施方式中,虚拟形象参数,包括:头部姿态参数、人脸表情参数、以及肢体姿态参数;
71.基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,具体可以包括如下步骤:
72.对人脸特征进行头部姿态的解析,获得头部姿态参数;
73.对人脸特征进行人脸表情的解析,获得人脸表情参数;
74.解析肢体特征,获得参考肢体姿态参数。
75.在具体应用中,头部姿态参数可以表征目标主播的头部姿态;人脸表情参数可以表征目标主播的表情;肢体姿态参数可以表征目标主播的上半身姿态。因此,可以将头部姿态参数用于表征目标主播的虚拟形象的头部姿态;人脸表情参数用于表征目标主播的虚拟形象的表情;肢体姿态参数用于表征目标主播的虚拟形象的上半身姿态。因此,本实施例可以提高目标主播的虚拟形象与目标主播真人的相似度,从而提高虚拟形象的准确度。
76.在一种可选的实施方式中,人脸特征包括:人脸特征点在人体图像的人脸区域中的第一位置信息;
77.相应地,上述对人脸特征进行头部姿态的解析,获得头部姿态参数,具体可以包括如下步骤:
78.从第一位置信息中,分别确定多个指定人脸特征点的位置信息;
79.根据多个指定人脸特征点的位置信息,按照多个指定人脸特征点在目标主播的头部形成的空间位置关系,确定头部的滚转角、偏航角以及俯仰角;
80.基于滚转角、偏航角以及俯仰角,确定头部姿态参数。
81.在具体应用中,如图2本技术另一实施例提供的一种主播虚拟形象生成方法中,头部的滚转角、偏航角以及俯仰角的示意图所示:滚转角(roll)是指头部绕三维坐标系中y轴旋转产生的角度;偏航角(yaw)是指头部绕三维坐标系中z轴旋转产生的角度;俯仰角(pitch)是指头部绕三维坐标系中x轴旋转产生的角度。这样,本实施例基于滚转角、偏航角以及俯仰角,确定头部姿态参数,可以保证头部姿态参数表征的头部姿态的准确度。这样,
本实施例即实现了头部姿态估计,也就是对欧拉角的计算与应用。其中,欧拉角是三个一组独立角参量,用于唯一地确定定点转动的刚体的位置。
82.并且,根据多个指定人脸特征点的位置信息,按照多个指定人脸特征点在目标主播的头部形成的空间位置关系,确定头部的滚转角,具体可以包括:获取第一位置信息中,处于人脸边缘、且为左右镜像关系的第一人脸特征点和第二人脸特征点的位置信息,作为第一指定位置信息;将第一指定位置信息处理为第一人脸向量,其中,第一人脸向量的端点分别为第一人脸特征点和第二人脸特征点;计算第一人脸向量的反正切值,得到滚转角。例如,滚转角roll:取在轮廓的边缘,也就是两个太阳穴附近特征点a和b连接向量vectorab(x,y,z)的滚转角facerollrad。公式为:facerollrad=arctan(y/x)。
83.并且,根据多个指定人脸特征点的位置信息,按照多个指定人脸特征点在目标主播的头部形成的空间位置关系,确定头部的偏航角,具体可以包括:获取第一位置信息中,表征嘴部中心的第三人脸特征点的位置信息,作为第二指定位置信息;将第一指定位置信息和第二指定位置信息处理为第二人脸向量和第三人脸向量,其中,第二人脸向量的端点分别为第一人脸特征点和第三人脸特征点,第三人脸向量的端点分别为第二人脸特征点和第三人脸特征点;计算第二人脸向量的模与第三人脸向量的模之间的比值,得到偏航角。例如,偏航角yaw:确定左右轮廓a和b分别与嘴部中心c形成的偏移量diffleft和diffright,计算两个偏移量的比值faceyawrate,得到偏航角,公式如下:计算两个偏移量的比值faceyawrate,得到偏航角,公式如下:faceyawrate=diffleft/diffright。
84.并且,根据多个指定人脸特征点的位置信息,按照多个指定人脸特征点在目标主播的头部形成的空间位置关系,确定头部的俯仰角,具体可以包括:获取第一位置信息中,表征左眼中心的第四人脸特征点、表征右眼中心的第五人脸特征点的位置信息,作为第三指定位置信息,表征人脸左边缘的第六人脸特征点、表征人脸右边缘的第七人脸特征点的位置信息,作为第四指定位置信息;基于第三指定位置信息,计算左眼中心和右眼中心的第一高度平均值;基于第四指定位置信息,计算人脸左边缘和人脸右边缘的第二高度平均值;计算第一高度平均值与第二高度平均值之间的差值,以及预设差值,并获取差值与预设差值间的比值,得到俯仰角。例如,俯仰角pitch:取左右眼中心点的高度平均值ey与左右轮廓高度平均值的fy的差值,计算该差值与预设差值efm的比值作为facepitchrate。facepitchrate=(ey-fy)/efm。其中,取左眼的左、右、上、下四个方向处指定点,例如中心点的纵坐标求和,并对求和结果除以4得到左眼高度eyl。类似的,可以获得右眼高度eyr,区别在于针对的是右眼。计算左眼高度eyl和右眼高度eyr的平均值,可以得到左右眼中心点的高度平均值ey。轮廓高度平均值即人脸左右轮廓也就是人脸左边缘的第六人脸特征点的纵坐标,与人脸右边缘的第七人脸特征点的纵坐标的平均值fy。例如,第六人脸特征点可以为与人脸左太阳穴之间的差异值小于差异阈值的特征点,第七人脸特征点可以为与人脸右太阳穴之间的差异值小于差异阈值的特征点。预设差值efm可以为通过试验采集的第一高度和第二高度之间的最大差值。第一高度为左眼和右眼的平均高度,第二高度为左脸边缘和右脸边缘的平均高度。
85.为了便于理解,下面以图3为例进行示例性说明。示例性的,如图3本技术另一实施例提供的一种主播虚拟形象生成方法中,头部姿态参数的更新流程示意图所示:上述头部
姿态估计,可以包括如下步骤:
86.滚转角:取轮廓的边缘,也就是与左太阳穴之间的位置差异小于差异阈值的人脸特征点a,以及与右太阳穴之间的位置差异小于差异阈值的人脸特征点b,连接得到的向量ab的滚转角;
87.偏航角:取左右轮廓即人脸特征点a和人脸特征点b,与嘴部中心偏移量间的比值;其中,嘴部中心即mousecenter;
88.俯仰角:取左右眼角的距离与轮廓距离的比值;
89.坐标系转换与角度修正;插值平滑外理并应用于虚拟形象头部节点。
90.下面以可选实施例的形式,对坐标系转换与角度修正,以及插值平滑外理进行具体说明。
91.在一种可选的实施方式中,上述基于滚转角、偏航角以及俯仰角,确定头部姿态参数,具体可以包括如下步骤:
92.分别将滚转角、偏航角以及俯仰角,转换至二维坐标系中,得到坐标转换结果;
93.对坐标转换结果进行角度值修正以及插值平滑处理,得到头部姿态参数。
94.在具体应用中,滚转角、偏航角以及俯仰角为三维坐标系中的角度。并且,在一种情况中,虚拟形象为二维图像。因此,可以根据空间映射关系,将滚转角、偏航角以及俯仰角从三维坐标系中至二维坐标系。在另一种情况中,虚拟形象为三维图像。因此,无需进行坐标系的转换,直接对滚转角、偏航角以及俯仰角进行修正以及插值平滑处理即可得到头部姿态参数。并且,角度值修正具体可以包括:比较滚转角与滚转角阈值之间的差异值,比较偏航角与偏航角阈值之间的差异值,比较俯仰角与俯仰角阈值之间的差异值;若任一角度对应的差异值大于角度差异阈值,则调整该角度至调整后的角度对应的差异值小于或者等于角度差异阈值。其中,插值平滑处理是指:根据已知的数据序列(也可以理解为坐标中一连串离散的点),找到其中的规律;然后根据找到的这个规律,来对其中尚未有数据记录的点进行数值估计,从而对数据中的缺失进行合理的补偿。另外,头部姿态参数的变化可以体现出虚拟形象的头部转动过程。因此,在具体应用中,为了减少头部转动的速率异常引起的虚拟形象不符合人体动作逻辑的问题,可以对头部姿态参数的变化率进行修正。具体的,可以确定当前的头部姿态参数与上一个头部姿态参数的差异值,计算该差异值与预设时长的比值,获得变化率;在变化率大于转动速率阈值的情况下,将变化率调整为小于或者等于转动速率阈值。例如,可以确定处于当前的头部姿态参数与上一个头部姿态参数之间的至少一个中间头部姿态参数,将中间头部姿态参数确定为当前的头部姿态参数。这样,可以通过中间头部姿态参数,实现头部姿态参数以符合人体动作逻辑的变化率进行变化,也就实现了虚拟形象的头部转动的速率的正常化。
95.本实施例通过坐标转换和角度修正可以实现3d数据在二维虚拟形象上的应用,以及通过插值平滑处理进一步提高虚拟形象参数的准确度。
96.在一种可选的实施方式中,人脸特征包括:人脸特征点在人体图像的人脸区域中的第一位置信息;
97.相应地,上述对人脸特征进行人脸表情的解析,获得人脸表情参数,具体可以包括如下步骤:
98.从第一位置信息中,确定表情特征点的参考位置信息,其中,表情特征点为目标主
播的人脸中随表情变化的人脸特征点;
99.获取表征基础人脸特征点的指定表情参数;
100.基于参考位置信息和指定表情参数,确定表情特征点的变化系数,作为人脸表情参数。
101.在具体应用中,如图4本技术另一实施例提供的一种主播虚拟形象生成方法中,表情特征点的示意图所示:指定表情参数可以为基础嘴部特征点,参考位置信息相应的为参考嘴部特征点的位置信息。基于参考位置信息和指定表情参数,确定表情特征点的变化系数,作为人脸表情参数,具体可以包括:在二维坐标系中,利用参考位置信息和指定表情参数,对基础人脸特征点和表情特征点进行对齐,得到对齐结果;根据对齐结果中的位置信息,确定表情特征点的变化系数,作为人脸表情参数。
102.并且,根据对齐结果中的位置信息,确定表情特征点的变化系数,作为人脸表情参数,可以包括:针对关键姿态和当前帧的嘴部关键点做中心对齐,然后求解嘴部表情系数;分别取单侧眉毛中心与眼睛中心的偏移量与鼻长的比值计算眉毛系数;取上下眼眶距离与鼻长的比值计算眨眼系数;计算其它表情系数并做混合。示例性的,如图5本技术另一实施例提供的一种主播虚拟形象生成方法中,人脸表情参数的更新流程示意图所示:表情系数的求解与应用,可以包括如下步骤:
103.确定上嘴唇中心与下嘴唇中心对齐的偏移量,计算该偏移量与鼻子长度的比值,得到嘴部变化系数;
104.针对每一侧眉毛,确定该侧眉毛的中心与眼睛中心的偏移量,计算该偏移量与鼻子长度的比值,得到眉毛变化系数;
105.针对每个眼睛,计算该眼睛上下眼眶的距离与鼻子长度的比值,得到眼睛变化系数;
106.分别利用嘴部变化系数、眉毛变化系数及眼睛变化系数,调整相应的虚拟形象的基础表情参数。
107.通过上述图3和图5实施例,本技术可以实现根据面部特征点的坐标集合计算头部的姿态数据和表情数据,进而利用得到的数据生成虚拟形象的头部和面部的效果。
108.在一种可选的实施方式中,肢体特征包括:肢体特征点在上半身肢体区域中的第二位置信息;
109.相应地,上述解析肢体特征,获得肢体姿态参数,具体可以包括如下步骤:
110.根据第二位置信息,确定肢体节点的位置信息;
111.基于肢体节点的位置信息,按照预设的肢体运动规则,确定肢体节点的变动参数,获得肢体姿态参数。
112.在具体应用中,上述基于肢体节点的位置信息,按照预设的肢体运动规则,确定肢体节点的变动数据,可以包括如下步骤:将属于同一肢体的目标肢体节点的位置信息处理为肢体特征向量,其中,肢体特征向量的端点为目标肢体节点;将肢体特征向量转换为单位方向向量,得到肢体节点的变动数据。具体的,可以获取当前肢体姿态数据中的各当前肢体长度,以及各当前肢体节点的位置信息;确定各当前肢体节点中存在运动关联关系的肢体节点对,其中,任一肢体节点对包括一个固定肢体节点和一个运动肢体节点;针对每个肢体节点对,基于该肢体节点对中固定肢体节点的位置信息,利用该肢体节点对对应的肢体节
点的变动数据和该肢体节点对形成的肢体长度,计算该肢体节点对中运动肢体节点的目标位置信息;利用目标位置信息,更新当前肢体姿态数据中相应运动肢体节点的当前位置信息。例如,获取虚拟形象的骨骼节点数据并计算所有骨骼节点间的骨骼长度,以骨骼节点d和骨骼节点e为例:
113.计算其骨骼长度de:计算对应特征点f和g的单位方向向量nfg:则以d为基准,骨骼节点e的目标位置为:e=d nfg*de。
114.在一种情况中,本技术实施例提供的主播虚拟形象生成方法,还可以包括如下步骤:修正各肢体节点的位置和角度。
115.在具体应用中,可以比较相邻肢体节点的位置差异是否大于差异阈值,若大于,则调整相邻肢体节点的位置至差异小于或者等于关节差异阈值。并且,如果肢体节点形成的角度大于角度阈值,则调整肢体节点形成的角度至小于或者等于角度阈值。这样,可以通过关节差异阈值和角度阈值的限制,减少关节扭曲、穿模等问题。另外,与参考头部姿态参数类似的,参考肢体姿态参数的变化可以体现肢体的运动速率。因此,在可以确定参考肢体姿态参数的变化率,若变化率大于肢体速率阈值,则调整参考肢体姿态参数的变化率至小于或者等于肢体速率阈值。
116.示例性的,如图6本技术另一实施例提供的一种主播虚拟形象生成方法中,肢体姿态参数的更新流程示意图所示:上半身姿态驱动,具体可以包括如下步骤:
117.获取虚拟形象骨骼节点的位置信息,并计算骨骼长度;基于肢体节点的位置信息,计算表征肢体动作方向的方向向量;基于方向向量和骨骼长度,计算虚拟形象骨骼节点的目标位置信息;修正骨骼节点的目标位置信息和角度;反向驱动虚拟形象的上半身;计算并修正虚拟形象的上半身整体的方向。
118.本实施例中虚拟形象的肢体节点具体为骨骼节点。虚拟形象骨骼节点为e,并且骨骼节点e的目标位置=d nfg*de。将骨骼节点e调整至目标位置,并按照骨骼节点e与关联骨骼点之间的运动关系,调整关联骨骼点的位置。其中,关联骨骼点是指与骨骼节点e形成关节带动关系的骨骼点,例如,手部末端的关联骨骼点包括手肘和肩部。
119.在一种可选的实施方式中,根据虚拟形象参数,生成目标主播对应的虚拟形象,具体可以包括如下步骤:
120.确虚拟形象参数对应的虚拟形象是否达到预设异常条件;
121.若达到,则修正虚拟形象,得到目标主播对应的虚拟形象。
122.本实施例在虚拟形象参数对应的虚拟形象达到预设异常条件的情况下,修正虚拟形象,从而可以进一步提高目标主播对应的虚拟形象的准确度。并且,若虚拟形象参数对应的虚拟形象未达到预设异常条件,则直接将虚拟形象参数对应的虚拟形象作为目标主播对应的虚拟形象,与每次都对虚拟形象进行修正相比,可以提高效率。
123.在具体应用中,虚拟形象参数对应的虚拟形象达到预设异常条件,可以包括:获取虚拟形象参数对应的头部位置信息和两侧肩部的位置信息;根据头部位置信息,确定虚拟形象的头部偏转方向;根据两侧肩部的位置信息,确定虚拟形象的上半身偏转方向;若头部偏转方向和上半身偏转方向的差异值大于偏转方向阈值,则调整上半身的偏转方向至小于
或者等于偏转方向阈值。并且,为了保证上半身的转动速率符合人体运动逻辑,可以获取两侧肩部的位置信息的变化率,在该变化率大于预设转身速率阈值的情况下,将该变化率调整至小于或者等于预设转身速率阈值。
124.为了便于理解,下面结合图7对上述本技术部分实施例进行整合描述。示例性的,如图7本技术另一实施例提供的一种主播虚拟形象生成方法的流程示意图所示,该方法可以包括如下步骤:
125.摄像头采集图像;使用面部模型获取面部特征点;使用肢体模型获取肢体特征点;计算头部姿态和表情驱动面部;计算人体骨骼节点ik驱动上身肢体。
126.具体的,先是获取摄像头采集的图像纹理,使用预先训练得到的面部模型识别摄像头采集图像中人体的面部并获取面部特征点坐标集合;使用预先训练得到的肢体模型识别摄像头采集图像中人体的上半身肢体并获取肢体的特征点坐标集合;根据面部特征点坐标集合计算头部的姿态数据和表情数据驱动虚拟形象的面部,根据肢体特征点坐标集合计算人体骨骼节点相对位移数据并利用ik驱动虚拟形象上身肢体。其中,驱动虚拟形象上身肢体可以保证虚拟形象具有与目标主播相同或者相似的上半身肢体动作。本实施例中各步骤与上述图1实施例及图1可选实施例中作用相同的步骤为相似步骤,区别在于本实施例为了简洁描述采用不同的表述。本实施例的面部模型即上述图1可选实施例中的人脸识别模型,肢体模型即上述图1可选实施例中的肢体识别模型。对于相同部分可以参见上述图1实施例及图1可选实施例的描述,在此不再赘述。
127.与上述方法实施例相对应,本技术还提供了主播虚拟形象生成装置实施例,图8示出了本技术一实施例提供的一种主播虚拟形象生成装置的结构示意图。
128.如图8所示,该装置包括:
129.图像获取模块802,被配置为获取图像采集设备采集的目标主播的人体图像,所述人体图像中至少包括目标主播的人脸和上半身;
130.特征获取模块804,被配置为对所述人体图像分别进行人脸识别及上半身肢体识别,获得人脸特征和肢体特征;
131.虚拟形象生成模块806,被配置为基于所述人脸特征和所述肢体特征,设置所述目标主播的虚拟形象参数,根据所述虚拟形象参数,生成所述目标主播对应的虚拟形象。
132.本技术一实施例中,上半身的肢体动作通常具有变化幅度和变化速度相对较小的特点。并且,人体图像中至少包括目标主播的人脸和上半身。因此,直接获取图像采集设备采集的人体图像,可以对人体图像分别进行人脸识别及上半身的肢体识别,获得人脸特征和肢体特征。并且,人脸特征和肢体特征表征了目标主播的头部和上半身的特质,可以反映目标主播的动作和表情。因此,本实施例可以实现通过图像采集设备直接捕捉目标主播的动作和表情的效果,无需依赖专门的捕捉设备。在此基础上,基于人脸特征和肢体特征,设置目标主播的虚拟形象参数,根据虚拟形象参数,生成目标主播对应的虚拟形象,可以保证生成的虚拟形象与目标主播的动作和表情对应,以保证直播的内容丰富度。因此,本方案无需依赖专门的捕捉设备即可实现主播虚拟形象的生成,可以兼顾直播的便捷性以及内容丰富度。
133.在一种可选的实施方式中,特征获取模块804,进一步被配置为:
134.从人体图像中识别人脸区域,基于人脸区域确定人脸特征;
135.从人体图像中识别上半身肢体区域,基于上半身肢体区域确定肢体特征。
136.在一种可选的实施方式中,特征获取模块804,进一步被配置为:
137.将人体图像输入预先训练得到的人脸识别模型,获得所述人体图像中的人脸区域;
138.确定人脸特征点在人脸区域中的第一位置信息,根据第一位置信息确定人脸特征。
139.在一种可选的实施方式中,特征获取模块804,进一步被配置为:
140.将人体图像输入预先训练得到的肢体识别模型,获得所述人体图像中的上半身肢体区域;
141.确定肢体特征点在上半身肢体区域中的第二位置信息,根据第二位置信息确定肢体特征。
142.在一种可选的实施方式中,虚拟形象参数,包括:头部姿态参数、人脸表情参数、以及肢体姿态参数;
143.相应地,特征获取模块804,进一步被配置为:
144.对人脸特征进行头部姿态的解析,获得头部姿态参数;
145.对人脸特征进行人脸表情的解析,获得人脸表情参数;
146.解析肢体特征,获得肢体姿态参数。
147.在一种可选的实施方式中,人脸特征包括:人脸特征点在人体图像的人脸区域中的第一位置信息;
148.相应地,特征获取模块804,进一步被配置为:
149.从第一位置信息中,分别确定多个指定人脸特征点的位置信息;
150.根据多个指定人脸特征点的位置信息,按照多个指定人脸特征点在目标主播的头部形成的空间位置关系,确定头部的滚转角、偏航角以及俯仰角;
151.基于滚转角、偏航角以及俯仰角,确定头部姿态参数。
152.在一种可选的实施方式中,特征获取模块804,进一步被配置为:
153.分别将滚转角、偏航角以及俯仰角,转换至二维坐标系中,得到坐标转换结果;
154.对坐标转换结果进行角度值修正以及插值平滑处理,得到头部姿态参数。
155.在一种可选的实施方式中,人脸特征包括:人脸特征点在人体图像的人脸区域中的第一位置信息;
156.相应地,特征获取模块804,进一步被配置为:
157.从第一位置信息中,确定表情特征点的参考位置信息,其中,表情特征点为目标主播的人脸中随表情变化的人脸特征点;
158.获取表征基础人脸特征点的指定表情参数;
159.基于参考位置信息和指定表情参数,确定表情特征点的变化系数,作为人脸表情参数。
160.在一种可选的实施方式中,肢体特征包括:肢体特征点在上半身肢体区域中的第二位置信息;
161.相应地,特征获取模块804,进一步被配置为:
162.根据第二位置信息,确定肢体节点的位置信息;
163.基于肢体节点的位置信息,按照预设的肢体运动规则,确定肢体节点的变动参数,获得肢体姿态参数。
164.在一种可选的实施方式中,虚拟形象生成模块806,进一步被配置为:
165.确定虚拟形象参数对应的虚拟形象是否达到预设异常条件;
166.若达到,则修正虚拟形象,得到目标主播对应的虚拟形象。
167.上述为本实施例的一种主播虚拟形象生成装置的示意性方案。需要说明的是,该主播虚拟形象生成装置的技术方案与上述的主播虚拟形象生成方法的技术方案属于同一构思,主播虚拟形象生成装置的技术方案未详细描述的细节内容,均可以参见上述主播虚拟形象生成方法的技术方案的描述。
168.图9示出了根据本技术一实施例提供的一种计算设备的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
169.计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(pstn,public switched telephone network)、局域网(lan,local area network)、广域网(wan,wide area network)、个域网(pan,personal area network)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,network interface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wireless local area networks)无线接口、全球微波互联接入(wi-max,worldwide interoperability for microwave access)接口、以太网接口、通用串行总线(usb,universal serial bus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,near field communication)接口,等等。
170.在本技术的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
171.计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
172.其中,处理器920执行所述计算机指令时实现所述的主播虚拟形象生成方法的步骤。
173.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的主播虚拟形象生成方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述主播虚拟形象生成方法的技术方案的描述。
174.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述主播虚拟形象生成方法的步骤。
175.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存
储介质的技术方案与上述的主播虚拟形象生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述主播虚拟形象生成方法的技术方案的描述。
176.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
177.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
178.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
179.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
180.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献