一种表情生成方法、装置、计算设备及存储介质与流程

文档序号:19421687发布日期:2019-12-14 01:34阅读:175来源:国知局
一种表情生成方法、装置、计算设备及存储介质与流程
本申请涉及互联网
技术领域
,特别涉及一种表情生成方法、装置、计算设备及计算机可读存储介质。
背景技术
:网络改变的不仅仅是人类信息传播的速度和质量,还极大地丰富了人类表情传意的方式,形成了独特的网络语言,其中又以大量的非言语的表情符号为其特征。表情符号用来生动呈现和描摹日常面对面交际中的非言语信息,使双方如闻其声,如见其人。目前,现有的网络表情系统均比较固定,通过调用表情设计者预先设计好的表情包中的表情,进行表情的输出。但是,用户所能调用的表情数量是有限的,风格是类似的,且不同用户所使用的表情包也都是相同的,缺乏个性化。技术实现要素:有鉴于此,本申请实施例提供了一种表情生成方法、装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。本申请实施例公开了一种表情生成方法,包括:采集用户面部特征点的位置数据;基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据;基于获得的所述虚拟角色的面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量;基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情。进一步地,所述采集用户面部特征点的位置数据,包括:按照预先划分的骨骼区域,分别采集每个所述骨骼区域中的用户面部特征点的位置数据。进一步地,所述用户面部特征点的位置数据包括所述用户面部特征点的实时坐标;所述采集用户面部特征点的位置数据,包括:按照预设的时间间隔定时采集每个所述骨骼区域内所述用户面部特征点的实时坐标;基于所述用户面部特征点的实时坐标,得到所述用户面部特征点的位置数据。进一步地,所述基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据,包括:将每个所述骨骼区域内所述用户面部特征点的实时坐标转换为每个骨骼区域内相对应的所述虚拟角色面部骨骼特征点的实时坐标,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。进一步地,所述面部骨骼特征点的初始位置数据包括所述虚拟角色面部骨骼特征点的初始坐标;所述基于获得的所述虚拟角色面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量,包括:基于所述虚拟角色面部骨骼特征点的实时坐标和预设的虚拟角色面部骨骼特征点的初始坐标,计算虚拟角色的面部骨骼偏移量。进一步地,所述基于所述虚拟角色面部骨骼特征点的实时坐标和预设的虚拟角色面部骨骼特征点的初始坐标,计算虚拟角色的面部骨骼偏移量,包括:计算所述虚拟角色面部骨骼特征点的实时坐标与初始坐标的差值,得到所述虚拟角色面部骨骼特征点的偏移距离;为所述虚拟角色面部骨骼特征点配置权重值;将所述骨骼区域内所述虚拟角色面部骨骼特征点的偏移距离、权重值相乘,得到所述虚拟角色面部骨骼特征点的偏移量;将所述骨骼区域内的每个所述虚拟角色面部骨骼特征点的偏移量相加,得到每个所述骨骼区域的面部骨骼偏移量。进一步地,所述为所述虚拟角色面部骨骼特征点配置权重值,包括:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点;基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重值。进一步地,所述为所述虚拟角色面部骨骼特征点配置权重值,包括:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点;基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重参数;统计所述骨骼区域内权重值相同的虚拟角色面部骨骼特征点的数量,并将所述骨骼区域内所述权重值相同的虚拟角色面部骨骼特征点的数量与所述骨骼区域内虚拟角色面部骨骼特征点的总数量相比,得到所述虚拟角色面部骨骼特征点的聚集参数;将所述虚拟角色面部骨骼特征点的权重参数与聚集参数相乘,得到所述虚拟角色面部骨骼特征点的权重值。进一步地,所述基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情,包括:按照预设的时间间隔记录每个所述骨骼区域的面部骨骼偏移量;基于所述面部骨骼偏移量的变化计算并更新每个所述骨骼区域的位置数据,并输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。进一步地,所述基于所述面部骨骼偏移量的变化计算并更新每个所述骨骼区域的位置数据,包括:基于所述骨骼区域的面部骨骼偏移量的变化,计算所述骨骼区域的位置数据的变化;基于所述骨骼区域的位置数据的变化,获得所述骨骼区域的位置序列;将所述骨骼区域的位置序列输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。进一步地,所述虚拟角色脸部模型包括至少两种不同类型的脸部骨骼蒙皮模型。进一步地,所述表情生成方法,还包括:接收用户指令,并根据所述用户指令对所述虚拟角色的表情进行处理,所述用户指令包括存储指令、删除指令或发送指令;在接收到存储指令的情况下,存储所述虚拟角色表情;在接收到删除指令的情况下,删除所述虚拟角色表情;在接收到发送指令的情况下,将所述虚拟角色表情发送至目标客户端。本申请实施例公开了一种表情生成装置,包括:采集模块,被配置为采集用户面部特征点的位置数据;处理模块,被配置为基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据;计算模块,被配置为基于获得的所述虚拟角色的面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量;生成模块,被配置为基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情。可选地,所述采集模块,进一步地被配置为:按照预先划分的骨骼区域,分别采集每个所述骨骼区域中的用户面部特征点的位置数据。可选地,所述用户面部特征点的位置数据包括所述面部特征点的实时坐标;所述采集用户面部特征点的位置数据,包括:按照预设的时间间隔定时采集每个所述骨骼区域内所述用户面部特征点的实时坐标;基于所述用户面部特征点的实时坐标,得到所述用户面部特征点的位置数据。可选地,所述处理模块,进一步地被配置为:将每个所述骨骼区域内所述用户面部特征点的实时坐标转换为每个骨骼区域内相对应的所述虚拟角色面部骨骼特征点的实时坐标,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。可选地,所述面部骨骼特征点的初始位置数据包括所述虚拟角色面部骨骼特征点的初始坐标;所述计算模块,进一步地被配置为:基于所述虚拟角色面部骨骼特征点的实时坐标和预设的虚拟角色面部骨骼特征点的初始坐标,计算虚拟角色的面部骨骼偏移量。可选地,所述计算模块,进一步地被配置为:计算所述虚拟角色面部骨骼特征点的实时坐标与初始坐标的差值,得到所述虚拟角色面部骨骼特征点的偏移距离;为所述虚拟角色面部骨骼特征点配置权重值;将所述骨骼区域内所述虚拟角色面部骨骼特征点的偏移距离、权重值相乘,得到所述虚拟角色面部骨骼特征点的偏移量;将所述骨骼区域内的每个所述虚拟角色面部骨骼特征点的偏移量相加,得到每个所述骨骼区域的面部骨骼偏移量。可选地,所述计算模块,进一步地被配置为:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点;基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重值。可选地,所述计算模块,进一步地被配置为:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点;基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重参数;统计所述骨骼区域内权重值相同的虚拟角色面部骨骼特征点的数量,并将所述骨骼区域内所述权重值相同的虚拟角色面部骨骼特征点的数量与所述骨骼区域内虚拟角色面部骨骼特征点的总数量相比,得到所述虚拟角色面部骨骼特征点的聚集参数;将所述虚拟角色面部骨骼特征点的权重参数与聚集参数相乘,得到所述虚拟角色面部骨骼特征点的权重值。可选地,所述生成模块,进一步地被配置为:按照预设的时间间隔记录每个所述骨骼区域的面部骨骼偏移量;基于所述面部骨骼偏移量的变化计算并更新每个所述骨骼区域的位置,并输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。可选地,所述生成模块,进一步地被配置为:基于所述骨骼区域的面部骨骼偏移量的变化,计算所述骨骼区域的位置数据的变化;基于所述骨骼区域的位置数据的变化,获得所述骨骼区域的位置序列;将所述骨骼区域的位置序列输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。可选地,所述虚拟角色脸部模型包括至少两种不同类型的的脸部骨骼蒙皮模型。可选地,所述表情生成装置,还包括:接收模块,被配置为接收用户指令,并根据所述用户指令对所述虚拟角色的表情进行处理,所述用户指令包括存储指令、删除指令或发送指令;在接收到存储指令的情况下,存储所述虚拟角色表情;在接收到删除指令的情况下,删除所述虚拟角色表情;在接收到发送指令的情况下,将所述虚拟角色表情发送至目标客户端。本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述表情生成方法的步骤。本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述表情生成方法的步骤。本申请提供的一种表情生成方法、装置、计算设备及计算机可读存储介质,可以实时根据用户的面部表情,生成相对应的虚拟角色的动画表情,且生成的动画表情以用户的表情为基础参照,可以更好的反应用户的喜怒哀乐等情绪,使生成的虚拟角色的动画表情更加的个性化、生动化。附图说明图1是本申请一实施例所述的计算设备的结构示意图;图2是本申请一实施例所述的表情生成方法的流程示意图;图3是本申请一实施例所述的表情生成方法中骨骼偏移量计算方法的流程示意图;图4是本申请一实施例所述的表情生成装置的结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在本申请中,提供了一种表情生成方法、装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。其中,数据库150保存的数据可以是在本申请一实施例中所述表情生成方法过程中产生的各种数据。计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。其中,处理器120可以执行图2所示方法中的步骤。如图2所示,图2是示出了根据本申请一实施例的表情生成方法的示意性流程图,包括步骤s210~步骤s240。步骤s210:采集用户面部特征点的位置数据。实际应用中,可以按照预先划分的骨骼区域,分别采集每个所述骨骼区域中的用户面部特征点的位置数据。其中,骨骼区域是通过对用户的面部进行划分得到的若干区域,骨骼区域的数量可以是一个也可以是多个,既可以将用户的面部看作一个整体的骨骼区域,也可以按照用户的面部特征将用户的面部划分为多个骨骼区域。例如,可以根据用户面部的中线将用户的面部划分为左右或上下两个骨骼区域,可以根据用户面部五官的分布将用户的面部划分为眼部、嘴部等若干骨骼区域,本申请对此不做限制。对骨骼区域的划分既可以是平均划分也可以是不平均划分,即对每一个骨骼区域的面积大小是否必须相等本申请不做限制。用户面部特征点是采集用户面部数据的一种基准点,且均匀的分布在每一个骨骼区域中,用户面部特征点的数量、位置、大小等本申请均不做限制。采集用户面部特征点的方式可以是通过各种设备的摄像装置进行录制采集,如通过手机等移动设备的前置摄像装置或后置摄像装置采集、通过笔记本电脑等pc设备的摄像装置采集等,也可以是根据网络上的或存储的视频、动图提取采集人物的面部表情,或其他各种方式均可,本申请对此不做限制。具体地,所述用户面部特征点的位置数据包括所述用户面部特征点的实时坐标。按照预设的时间间隔定时采集每个所述骨骼区域内所述用户面部特征点的实时坐标;基于所述用户面部特征点的实时坐标,得到所述用户面部特征点的位置数据。用户面部特征点的实时坐标可以是用户面部特征点的实时位置数据的一种表示方式,按照预设的时间间隔定时采集用户面部特征点的实时坐标,预设的时间间隔可以根据实际需求确定,即在进行录制采集的时间内,每秒或每分钟采集用户面部特征点实时坐标的次数可以根据实际需求确定,本申请对此不做限制。例如,假设以用户面部为基准建立一个三维坐标系,以任意一个用户面部特征点为例,以每秒采集三次的频率采集该用户面部特征点的实时坐标,共录制采集10秒,其中,假设第一秒采集到的该特征点的实时坐标分别为(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),则上述三个实时坐标即为在第一秒中该用户面部特征点的位置数据。步骤s220:基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。实际应用中,可以将每个所述骨骼区域内所述用户面部特征点的实时坐标转换为每个骨骼区域内相对应的所述虚拟角色面部骨骼特征点的实时坐标,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。其中,虚拟角色面部骨骼特征点是预先设置的虚拟角色面部骨骼模型上与用户面部特征点的位置相对应的点,可以通过分别为用户面部和虚拟角色面部骨骼模型建立相对应的坐标系等方法,将用户面部特征点的实时坐标转换为虚拟角色面积骨骼特征点的实时坐标,得到虚拟角色面部骨骼特征点的位置数据,本申请对此不做限制。例如,假设用户面部的眉心处设置有一个用户面部特征点a,则在虚拟角色面部骨骼模型上的眉心处有与用户面部特征点a相对应的虚拟角色面部骨骼特征点b,以用户面部为基准建立一个面部三维坐标系,采集到某一时刻用户面部特征点a的实时坐标为(xa1,ya1,za1),将上述以用户面部为基准建立的面部三维坐标系转换至虚拟空间中,即以虚拟角色面部骨骼模型为基准建立一个与上述面部三维坐标系相对应的虚拟三维坐标系,在虚拟三维坐标系中获取与用户面部特征点a的实时坐标相对应的坐标位置,假设获取到的坐标为(xb1,yb1,zb1),则(xb1,yb1,zb1)为虚拟角色面部骨骼特征点b的实时坐标(位置数据)。步骤s230:基于获得的所述虚拟角色的面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量。具体地,所述面部骨骼特征点的初始位置数据包括所述虚拟角色面部骨骼特征点的初始坐标;基于所述虚拟角色面部骨骼特征点的实时坐标和预设的虚拟角色面部骨骼特征点的初始坐标,计算虚拟角色的面部骨骼偏移量。其中,虚拟角色的面部骨骼偏移量是虚拟角色的面部骨骼模型表情变化的一种呈现形式。例如,当用户在做微笑的表情时,对应的虚拟角色的面部骨骼模型同样做出微笑的表情,其嘴角上扬的弧度及高度等均可以通过计算出的虚拟角色的面部骨骼偏移量体现出来。实际应用中,计算虚拟角色的面部骨骼偏移量包括步骤s231~步骤s234,如图3所示。步骤s231:计算所述虚拟角色面部骨骼特征点的实时坐标与初始坐标的差值,得到所述虚拟角色面部骨骼特征点的偏移距离。虚拟角色面部骨骼特征点的偏移距离可以表示虚拟角色面部骨骼特征点的位置变化。步骤s232:为所述虚拟角色面部骨骼特征点配置权重值。为虚拟角色面部骨骼特征点配置的权重值可以表示该面部骨骼特征点在其所在的骨骼区域中的重要程度。实际应用中,可以计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点;基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重值。其中,骨骼区域的中心点是相对于该骨骼区域中所有虚拟角色面部骨骼特征点的位置而言的中心点,其位置并不一定位于骨骼区域的正中心。可以通过比较位于同一骨骼区域内的虚拟角色面部骨骼特征点与中心点之间的距离大小,为虚拟角色面部骨骼特征点配置权重值,虚拟角色面部骨骼特征点与中心点之间的距离越小,权重值越大,虚拟角色面部骨骼特征点与中心点之间的距离越大,权重值越小,且所有虚拟角色面部骨骼特征点的权重值之和为1。步骤s233:将所述骨骼区域内所述虚拟角色面部骨骼特征点的偏移距离、权重值相乘,得到所述虚拟角色面部骨骼特征点的偏移量。虚拟角色面部骨骼特征点的偏移量是虚拟角色面部骨骼特征点位置变化程度的一种表示方式,虚拟角色面部骨骼特征点的位置变化幅度大,则偏移量大,反之成立。步骤s234:将所述骨骼区域内的每个所述虚拟角色面部骨骼特征点的偏移量相加,得到每个所述骨骼区域的面部骨骼偏移量。例如,假设以虚拟角色面部骨骼模型为基准建立一个三维坐标系,录制5秒,按照每秒采集1次的频率采集在录制过程中所有虚拟角色面部骨骼特征点的初始坐标和实时坐标,以其中任意一个骨骼区域为例,假设骨骼区域q中包括q个虚拟角色面部骨骼特征点,取骨骼区域q中的虚拟角色面部骨骼特征点a,采集到虚拟角色面部骨骼特征点a的初始坐标为(xa0,ya0,za0),经过一秒后,采集到的虚拟角色面部骨骼特征点a的实时坐标为(xa1,ya1,za1)。经过计算得到虚拟角色面部骨骼特征点a的实时坐标与初始坐标之间的距离为m1,则m1为虚拟角色面部骨骼特征点a的偏移距离。其他虚拟角色面部骨骼特征点偏移距离的计算方法相类似,在此不再赘述。计算骨骼区域q中虚拟角色面部骨骼特征点a的初始坐标(xa0,ya0,za0)和其他各虚拟角色面部骨骼特征点初始坐标的平均值,得到骨骼区域q的中心点c的坐标为(xc,yc,zc),其中,xc=(xa0+xb0+……xq0)/q,yc=(ya0+yb0+……yq0)/q,zc=(za0+zb0+……zq0)/q。分别计算骨骼区域q中每个虚拟角色面部骨骼特征点的初始坐标与中心点c的坐标之间的距离,并基于该距离大小,为每个虚拟角色面部骨骼特征点配置权重值。假设为虚拟角色面部骨骼特征点a配置的权重值为n1,则在第一秒虚拟角色面部骨骼特征点a的偏移量为m1*n1,其他虚拟角色面部骨骼特征点偏移量的计算方法相类似,在此不再赘述。将虚拟角色面部骨骼点a所在的骨骼区域内的所有的面部骨骼特征点在第一秒内的偏移量相加,得到该骨骼区域在第一秒的面部骨骼偏移量为m1*n1+m2*n2+……+mq*nq,其他情况相类似,在此不再赘述。实际应用中,还可以通如下所述的方法在面部骨骼偏移量的计算过程中为虚拟角色面部骨骼特征点配置权重值。计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点。基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重参数。统计所述骨骼区域内权重参数相同的虚拟角色面部骨骼特征点的数量,并将所述骨骼区域内所述权重参数相同的虚拟角色面部骨骼特征点的数量与所述骨骼区域内虚拟角色面部骨骼特征点的总数量相比,得到所述虚拟角色面部骨骼特征点的聚集参数。将所述虚拟角色面部骨骼特征点的权重参数与聚集参数相乘,得到所述虚拟角色面部骨骼特征点的权重值。具体地,骨骼区域中心点的确定方法和权重参数的配置方法可以参考上述步骤s232,在此不再赘述。虚拟角色面部骨骼特征点的聚集参数可以表示权重参数相同的虚拟角色面部骨骼特征点所占的比重。其中,可以将权重参数看作虚拟角色面部骨骼特征点的第一层权重;聚集参数可以看作是为虚拟角色面部骨骼特征点在第一层权重基础上配置的第二层权重,将权重参数与聚集参数相乘得到最终的权重值,可以有效提高每一个虚拟角色面部骨骼特征点权重值的精确性。其中,虚拟角色面部骨骼特征点与中心点之间的距离越小,权重参数越大,距离越大,权重参数越小,同一骨骼区域内每一个虚拟角色面部骨骼特征点的权重参数之和为1,且每一个虚拟角色面部骨骼特征点的聚集参数的值均小于等于1。例如,以骨骼区域q为例,假设骨骼区域q中包括q个虚拟角色面部骨骼特征点,其中,虚拟角色面部骨骼特征点a的初始坐标为(xa0,ya0,za0),计算骨骼区域q中虚拟角色面部骨骼特征点a的初始坐标和其他各虚拟角色面部骨骼特征点初始坐标的平均值,得到骨骼区域q的中心点c的坐标为(xc,yc,zc),其中,xc=(xa0+xb0+……xq0)/q,yc=(ya0+yb0+……yq0)/q,zc=(za0+zb0+……zq0)/q。分别计算骨骼区域q中每个虚拟角色面部骨骼特征点的初始坐标与中心点c的坐标之间的距离,并基于计算得到的距离分别为每个虚拟角色面部骨骼特征点配置权重参数,假设为虚拟角色面部骨骼特征点a配置的权重参数为i1,其他虚拟角色面部骨骼特征点配置的权重参数分别为i2、i3……iq。假设骨骼区域q内与虚拟角色面部骨骼特征点a的权重参数i1相同的虚拟角色面部骨骼特征点的数量为n个,则虚拟角色面部骨骼特征点a的聚集参数为n/q,虚拟角色面部骨骼特征点a的权重值为i1*(n/q)。步骤s240:基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情。实际应用中,可以按照预设的时间间隔记录每个所述骨骼区域的面部骨骼偏移量;基于所述面部骨骼偏移量的变化计算并更新每个所述骨骼区域的位置,并输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。具体地,可以基于所述骨骼区域的面部骨骼偏移量的变化,计算所述骨骼区域的位置数据的变化;基于所述骨骼区域的位置数据的变化,获得所述骨骼区域的位置序列;将所述骨骼区域的位置序列输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。其中,预设的时间间隔可以是预先设置的每秒对每一个骨骼区域的面部骨骼偏移量记录n次,也可以与上述采集用户面部特征点实时坐标的时间间隔相对应,即采集一次用户面部特征点的实时坐标,计算并记录一次面部骨骼偏移量,可视具体情况确定,本申请对此不做限制。在开始采集用户的面部特征点数据之后,结合采集并经过计算后得到的骨骼区域的第一个面部骨骼偏移量与该骨骼区域的原始位置数据,得到骨骼区域的第一个实时位置数据,以此类推,可以得到后续若干骨骼区域的位置数据,将骨骼区域的位置数据按照顺序依次进行记录,得到骨骼区域的位置序列,将骨骼区域的位置序列输入至预设的虚拟角色脸部模型中,即可生成动态的虚拟角色的表情。例如,以任意一个骨骼区域为例,假设该骨骼区域的初始位置数据为m0,开启录制采集后录制采集5秒,每秒采集一次虚拟角色面部骨骼特征点的位置数据并计算骨骼区域的骨骼偏移量,经过采集并计算后,得到该骨骼区域在第一秒、第二秒、第三秒、第四秒、第五秒内的骨骼偏移量分别为n1、n2、n3、n4、n5,则分别在第一秒、第二秒、第三秒、第四秒、第五秒时该骨骼区域的位置数据为m0±n1,m0±n1±n2,m0±n1±n2±n3,m0±n1±n2±n3±n4,m0±n1±n2±n3±n4±n5,得到如表1所述的骨骼区域的位置序列。将位置序列输入至预设的虚拟角色脸部模型中,即可生成连续的动态虚拟角色表情。表1序号骨骼区域的位置数据1m02m0±n13m0±n1±n24m0±n1±n2±n35m0±n1±n2±n3±n46m0±n1±n2±n3±n4±n5需要注意的是,骨骼区域的位置数据的表示方式既可以是坐标也可以是阿拉伯数字,两者之间可以通过计算互相转换,同样地,骨骼偏移量的表示方式既可以是通过坐标展现每个方向上的偏移量,也可以是通过阿拉伯数字展现综合偏移量,两者之间可以通过计算互相转换。在计算骨骼区域位置数据的变化时,骨骼区域的位置数据和骨骼偏移量采用同样的表示方式以方便计算。实际应用中,所述虚拟角色脸部模型包括至少两种不同类型的脸部骨骼蒙皮模型。脸部骨骼蒙皮模型可以是各种卡通人物形象的模型、各种卡通动物形象的模型等,如卡通婴儿的脸部骨骼蒙皮模型、卡通小狗的脸部骨骼蒙皮模型等,脸部骨骼蒙皮模型的风格也可以包括多种,如可爱型、搞怪型等等,本申请对此不做限制。本申请一实施例所述的表情生成方法还包括如下所述的步骤:接收用户指令,并根据所述用户指令对所述虚拟角色的表情进行处理,所述用户指令包括存储指令、删除指令或发送指令。在接收到存储指令的情况下,存储所述虚拟角色表情;在接收到删除指令的情况下,删除所述虚拟角色表情;在接收到发送指令的情况下,将所述虚拟角色表情发送至目标客户端。本申请一实施例所述的表情生成方法,可以实时根据用户的面部表情,生成多种不同风格不同类型的虚拟角色的动画表情供用户进行选择存储或输出,且生成的动画表情以用户的表情为基础参照,可以更好的反应用户的喜怒哀乐等情绪,使生成的虚拟角色的动画表情更加的个性化。本申请一实施例所述的表情生成方法,以虚拟角色的面部骨骼偏移量来体现虚拟角色脸部模型随着用户表情的变化而产生的变化,并基于此来实时更新虚拟角色脸部骨骼区域的位置,生成虚拟角色的表情,可以有效提高生成的虚拟角色表情与用户表情之间的贴合度,表情更加精准且生动。如图4所示,本申请一实施例公开了一种表情生成装置,包括:采集模块410,被配置为采集用户面部特征点的位置数据。处理模块420,被配置为基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。计算模块430,被配置为基于获得的所述虚拟角色的面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量。生成模块440,被配置为基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情。可选地,所述采集模块410,进一步地被配置为:按照预先划分的骨骼区域,分别采集每个所述骨骼区域中的用户面部特征点的位置数据。可选地,所述用户面部特征点的位置数据包括所述面部特征点的实时坐标;所述采集用户面部特征点的位置数据,包括:按照预设的时间间隔定时采集每个所述骨骼区域内所述用户面部特征点的实时坐标。基于所述用户面部特征点的实时坐标,得到所述用户面部特征点的位置数据。可选地,所述处理模块420,进一步地被配置为:将每个所述骨骼区域内所述用户面部特征点的实时坐标转换为每个骨骼区域内相对应的所述虚拟角色面部骨骼特征点的实时坐标,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。可选地,所述面部骨骼特征点的初始位置数据包括所述虚拟角色面部骨骼特征点的初始坐标。所述计算模块430,进一步地被配置为:基于所述虚拟角色面部骨骼特征点的实时坐标和预设的虚拟角色面部骨骼特征点的初始坐标,计算虚拟角色的面部骨骼偏移量。可选地,所述计算模块430,进一步地被配置为:计算所述虚拟角色面部骨骼特征点的实时坐标与初始坐标的差值,得到所述虚拟角色面部骨骼特征点的偏移距离。为所述虚拟角色面部骨骼特征点配置权重值。将所述骨骼区域内所述虚拟角色面部骨骼特征点的偏移距离、权重值相乘,得到所述虚拟角色面部骨骼特征点的偏移量。将所述骨骼区域内的每个所述虚拟角色面部骨骼特征点的偏移量相加,得到每个所述骨骼区域的面部骨骼偏移量。可选地,所述计算模块430,进一步地被配置为:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点。基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重值。可选地,所述计算模块430,进一步地被配置为:计算所述骨骼区域内所有所述虚拟角色面部骨骼特征点的初始坐标的平均值,得到所述骨骼区域中心点的坐标,确定所述骨骼区域的中心点。基于所述骨骼区域内所述虚拟角色面部骨骼特征点与所述中心点之间的距离,为所述虚拟角色面部骨骼特征点配置权重参数。统计所述骨骼区域内权重值相同的虚拟角色面部骨骼特征点的数量,并将所述骨骼区域内所述权重值相同的虚拟角色面部骨骼特征点的数量与所述骨骼区域内虚拟角色面部骨骼特征点的总数量相比,得到所述虚拟角色面部骨骼特征点的聚集参数。将所述虚拟角色面部骨骼特征点的权重参数与聚集参数相乘,得到所述虚拟角色面部骨骼特征点的权重值。可选地,所述生成模块440,进一步地被配置为:按照预设的时间间隔记录每个所述骨骼区域的面部骨骼偏移量。基于所述面部骨骼偏移量的变化计算并更新每个所述骨骼区域的位置,并输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。可选地,所述生成模块440,进一步地被配置为:基于所述骨骼区域的骨骼偏移量的变化,计算所述骨骼区域的位置数据的变化。基于所述骨骼区域的位置数据的变化,获得所述骨骼区域的位置序列。将所述骨骼区域的位置序列输入至预设的虚拟角色脸部模型中,生成虚拟角色的表情。可选地,所述虚拟角色脸部模型包括至少两种不同类型的的脸部骨骼蒙皮模型。可选地,所述表情生成装置,还包括:接收模块,被配置为接收用户指令,并根据所述用户指令对所述虚拟角色的表情进行处理,所述用户指令包括存储指令、删除指令或发送指令。在接收到存储指令的情况下,存储所述虚拟角色表情。在接收到删除指令的情况下,删除所述虚拟角色表情。在接收到发送指令的情况下,将所述虚拟角色表情发送至目标客户端。本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:采集用户面部特征点的位置数据。基于所述用户面部特征点的位置数据,获得与所述用户面部特征点对应的虚拟角色面部骨骼特征点的位置数据。基于获得的所述虚拟角色的面部骨骼特征点的位置数据和预设的面部骨骼特征点的初始位置数据,计算虚拟角色的面部骨骼偏移量。基于所述虚拟角色的面部骨骼偏移量,更新虚拟角色的面部骨骼位置数据,并生成虚拟角色的表情。本申请一实施例所述的表情生成装置,可以实时根据用户的表情生成虚拟角色的表情,可以使虚拟角色表情更加生动形象、更加个性化。本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述表情生成方法的步骤。上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的表情生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述表情生成方法的技术方案的描述。所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属
技术领域
技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1