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

虚拟形象表情驱动方法和系统与流程

2021-11-05 22:29:00 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体涉及一种虚拟形象表情驱动方法和系统。


背景技术:

2.随着移动互联网新技术新应用的迭代升级,网络直播行业进入了快速发展期,其媒体属性、社交属性、商业属性、娱乐属性日益凸显。网络直播是在现场架设独立的信号采集设备(音频 视频)导入导播端(导播设备或平台),再通过网络上传至服务器,发布至网址供人观看的一种播放形式。
3.使用虚拟形象直播进行社交、表演、直播等已经成为目前互联网上的流行趋势。利用自己定制的卡通化虚拟形象作为自己的代言,既能保证每个人都能拥有自己满意的外形,又能很大程度地保护个人隐私,还能实时捕捉人的表情动作,因此受到人们的追捧。
4.目前主流的虚拟形象直播使用表情捕捉技术来驱动虚拟形象,再将其以视频的形式直播同步到其他设备,但是采用这种虚拟形象表情驱动方式对网络稳定性和带宽的要求较高,流量消耗较大,如果网络稳定性较低或者带宽较小,便会影响直播的时效性和流畅性,因此,为了保证直播的时效性和流畅往往还得做视频的编码压缩,降低传输帧率和分辨率,影响观众体验。
5.因此,如何在不降低直播分辨率和传输帧率的同时,提高直播的时效性和流畅性是本领域技术人员亟需解决的技术问题。


技术实现要素:

6.有鉴于此,本发明的目的在于提供一种虚拟形象表情驱动方法和系统,以解决现有技术中为了保证直播的时效性和流畅往往还得做视频的编码压缩,降低传输帧率和分辨率,影响观众体验的问题。
7.为实现以上目的,本发明采用如下技术方案:
8.一种虚拟形象表情驱动方法,应用于主播客户端,包括:
9.实时获取摄像设备采集的人脸视频数据;
10.利用预先设置的表情捕捉引擎对所述人脸视频数据进行视频帧检测,得到所述人脸视频数据对应的视频帧数据;
11.根据预先设置的表情需求规则,从所述视频帧数据中提取人脸表情动作信息;
12.对所述人脸表情动作信息进行满帧插值处理,得到目标表情动作信息;
13.根据所述目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示;
14.将所述人脸表情动作信息进行传输预处理,得到所述人脸表情动作信息对应的表情动作传输信息;
15.利用预先设置的传输协议将所述表情动作传输信息发送给服务器,以使观众客户端接收并处理所述服务器发送的所述表情动作传输信息,实现所述观众客户端中所述虚拟形象的表情动作展示。
16.进一步地,上述虚拟形象表情驱动方法中,所述将所述人脸表情动作信息进行传输预处理,得到所述人脸表情动作信息对应的表情动作传输信息,包括:
17.对所述人脸表情动作信息标记序号并编码,得到所述人脸表情动作信息对应的表情动作传输信息。
18.进一步地,上述虚拟形象表情驱动方法中,所述预先设置的传输协议包括:udp协议。
19.进一步地,上述虚拟形象表情驱动方法中,所述人脸表情动作信息包括:人脸的方位信息和表情基信息。
20.本发明还提供了一种虚拟形象表情驱动方法,应用于观众客户端,包括:
21.接收服务器从主播客户端转发的表情动作传输信息;
22.对所述表情动作传输信息进行应用预处理,得到所述表情动作传输信息对应的人脸表情动作信息;
23.对所述人脸表情动作信息进行满帧插值处理,得到目标表情动作信息;
24.根据所述目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示。
25.进一步地,上述虚拟形象表情驱动方法中,所述对所述表情动作传输信息进行应用预处理,得到所述表情动作传输信息对应的人脸表情动作信息,包括:
26.对所述表情动作传输信息进行解码操作,得到所述表情动作传输信息对应的解码表情动作信息;
27.按照所述解码表情动作信息中预先标记的序号,对所述解码表情动作信息进行排序,得到所述人脸表情动作信息。
28.本发明还提供了一种虚拟形象表情驱动系统,包括:主播客户端、服务器和观众客户端;
29.所述主播客户端用于执行上述应用于所述主播客户端的虚拟形象表情驱动方法;
30.所述服务器用于将所述主播客户端生成的表情动作传输信息转发给所述观众客户端;
31.所述观众客户端用于执行上述应用于所述观众客户端的虚拟形象表情驱动方法。
32.一种虚拟形象表情驱动方法和系统,应用于主播客户端的方法包括:实时获取摄像设备采集的人脸视频数据;利用预先设置的表情捕捉引擎对人脸视频数据进行视频帧检测,得到人脸视频数据对应的视频帧数据;根据预先设置的表情需求规则,从视频帧数据中提取人脸表情动作信息;对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息;根据目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示;将人脸表情动作信息进行传输预处理,得到人脸表情动作信息对应的表情动作传输信息;利用预先设置的传输协议将表情动作传输信息发送给服务器,以使观众客户端接收并处理服务器发送的表情动作传输信息,实现观众客户端中虚拟形象的表情动作展示。采用本发明的技术方案,直接将人脸表情动作信息传输到观众客户端,观众客户端再利用人脸表情动作信息驱动虚拟形象显示,能够保证显示的帧率和分辨率,无需传输视频数据,降低了传输的数据量,提高了传输速率,保证直播的时效性,并且对人脸表情动作信息进行满帧插值处理,能够保证表情动作的连续性,提高直播的流畅性。
33.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本发明。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本发明的应用于主播客户端的虚拟形象表情驱动方法一种实施例提供的流程图;
36.图2是本发明的应用于观众客户端的虚拟形象表情驱动方法一种实施例提供的流程图;
37.图3是本发明的虚拟形象表情驱动系统一种实施例提供的结构示意图。
具体实施方式
38.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
39.图1是本发明的应用于主播客户端的虚拟形象表情驱动方法一种实施例提供的流程图,如图1所示,本实施例的应用于主播客户端的虚拟形象表情驱动方法具体包括如下步骤:
40.s101、实时获取摄像设备采集的人脸视频数据。
41.本实施例中,主播方可以利用摄像设备采集主播方的人脸视频数据,主播方采用的主播客户端可以实时获取摄像设备采集的人脸视频数据。
42.s102、利用预先设置的表情捕捉引擎对人脸视频数据进行视频帧检测,得到人脸视频数据对应的视频帧数据。
43.本实施例可以利用预先设置的表情捕捉引擎对人脸视频数据进行视频帧检测,得到人脸视频数据对应的视频帧数据,其中,为了考虑性能影响,这里采用较低的帧率10

15帧/s。本实施例的表情捕捉引擎优选采用三方avatar sdk(优选采用的国内商汤科技的服务)。
44.s103、根据预先设置的表情需求规则,从视频帧数据中提取人脸表情动作信息。
45.从检测出的视频帧数据中按照预先设置的表情需求规则提取出人脸表情动作信息,其中,预先设置表情需求规则是为了从视频帧数据中提取出关键的人脸表情动作信息。人脸表情动作信息包括:人脸的方位信息和表情基信息,其中人脸的方位信息优选为3d方位信息,即头的x,y,z轴向的转角大小;表情基是一种通用的3d表情表示的方法,又叫blend shape,比如笑,皱眉都是一种表情基,表情基的参数大小表示笑或者皱眉的程度。本实施例中的人脸表情动作信息中优选包括52组表情基信息。人脸表情动作信息可以用如下的结构体来表示:
46.struct action{
47.float x;
48.float y;
49.float z;
50.}
51.//表情动作信息
52.struct avataractionexpressions{
53.action action;//人脸的方位信息
54.float expressionblendshapes[52];//表情基信息
[0055]
}
[0056]
s104、对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息。
[0057]
现有技术中采用的表情捕捉无法实现满帧率,从而使得虚拟形象呈现表情动作会出现卡顿感的问题,本实施例可以对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息,从而可以实现在不提高表情捕捉帧率的基础上达成满帧率(60帧/s)渲染的效果,即使在普通的延迟、丢包等情况下,也能保证表情动作的连续性。
[0058]
本实施例中为了使虚拟形象进行表情动作渲染展示能够达到60帧/s的满帧率效果,优选采用时间线性插值的办法来处理,具体步骤是:
[0059]
首先,利用表情捕捉引擎检测视频帧时计算出的帧数计为fps(一般是10

15帧/s),每一次计算帧数的间隔时间deltat=1.0/fps,将提取出来的人脸表情动作信息带上前置时间戳t,前置时间戳t=当前时间戳t deltat
×
α,前置时间戳这个参数表示这个人脸表情动作信息是将来t时间的表情动作结果,这里的α系数参数根据不同的手机性能做动态设置,手机性能差α系数越大,前置时间越长。
[0060]
然后,人脸表情动作信息带上前置时间戳t之后缓存起来,缓存2帧左右的前置数据,对虚拟形象进行表情动作渲染时,从缓存中找出包含当前时间戳t的两组人脸表情动作信息进行线性插值。
[0061]
s105、根据目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示。
[0062]
本实施例中,主播客户端中预先创建了虚拟形象,通过上述步骤得到了目标表情动作信息后,需要利用目标表情动作信息对虚拟形象进行表情动作渲染,从而驱动虚拟形象按照目标表情动作信息进行表情动作展示。这样,便实现了主播客户端中虚拟形象按照摄像设备拍摄到的主播的表情动作进行展示。
[0063]
s106、将人脸表情动作信息进行传输预处理,得到人脸表情动作信息对应的表情动作传输信息。
[0064]
通过步骤s103提取出了人脸表情动作信息后,为了将人脸表情动作信息传输给观众客户端,需要先对人脸表情动作信息进行传输预处理,得到人脸表情动作信息对应的表情动作传输信息,方便服务器的信息传输。
[0065]
进一步地,该步骤地具体执行方式为:
[0066]
对人脸表情动作信息标记序号并编码,得到人脸表情动作信息对应的表情动作传输信息。
[0067]
本实施例需要对人脸表情动作信息进行序号标记,然后再完成人脸表情动作信息的编码工作,从而得到人脸表情动作信息对应的表情动作传输信息。本实施例对每一帧的
人脸表情动作信息进行编号,接收方(即观众客户端)收到的时候根据编号进行排序,以保证数据的前后顺序。本实施例中,表情基信息使用byte(1个字节)来编码表示,而不是使用float(4个字节)编码,进一步缩小传输的数据量,编码后的表情动作信息结构如下:
[0068]
//编码后的表情动作信息
[0069]
struct encodedavataractionexpressions{
[0070]
int seqno;//编号
[0071]
action action;//人脸的方位信息
[0072]
byte expressionblendshapes[52];//表情基信息
[0073]
}
[0074]
s107、利用预先设置的传输协议将表情动作传输信息发送给服务器,以使观众客户端接收并处理服务器发送的表情动作传输信息。
[0075]
本实施例需要利用预先设置的传输协议将表情动作传输信息发送给服务器,服务器接收到了该表情动作传输信息后,需要将其转发给观众客户端,以使观众客户端对表情动作传输信息进行处理,从而实现观众客户端中虚拟形象的表情动作展示。其中,预先设置的传输协议优选为udp协议。使用udp协议来发送数据,更加容易实现,同时具有轻量迅速的特点,但是udp是无连接,不可靠的传输协议,接收方(观众客户端)可能收到的信息的顺序并不是发送方(主播客户端)的发送顺序,或者出现丢包、抖动(一会儿突然收到很多包,一会儿又收不到包)的情况,因此需要对人脸表情动作信息进行序号标记,以使主播客户端可以根据标记的序号进行排序,完成观众客户端中虚拟形象的表情动作展示。
[0076]
本实施例的应用于主播客户端的虚拟形象表情驱动方法,实时获取摄像设备采集的人脸视频数据;利用预先设置的表情捕捉引擎对人脸视频数据进行视频帧检测,得到人脸视频数据对应的视频帧数据;根据预先设置的表情需求规则,从视频帧数据中提取人脸表情动作信息;对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息;根据目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示;将人脸表情动作信息进行传输预处理,得到人脸表情动作信息对应的表情动作传输信息;利用预先设置的传输协议将表情动作传输信息发送给服务器,以使观众客户端接收并处理服务器发送的表情动作传输信息,实现观众客户端中虚拟形象的表情动作展示。采用本实施例的技术方案,直接将人脸表情动作信息传输到观众客户端,观众客户端再利用人脸表情动作信息驱动虚拟形象显示,能够保证显示的帧率和分辨率,无需传输视频数据,降低了传输的数据量,提高了传输速率,保证直播的时效性,并且对人脸表情动作信息进行满帧插值处理,能够保证表情动作的连续性,提高直播的流畅性。
[0077]
图2是本发明的应用于观众客户端的虚拟形象表情驱动方法一种实施例提供的流程图,如图2所示,本实施例的应用于观众客户端的虚拟形象表情驱动方法,具体步骤如下所述:
[0078]
s201、接收服务器从主播客户端转发的表情动作传输信息。
[0079]
本实施例中,服务器会将主播客户端发送的表情动作传输信息转发给观众客户端,观众客户端则接收该表情动作传输信息。
[0080]
s202、对表情动作传输信息进行应用预处理,得到表情动作传输信息对应的人脸表情动作信息。
[0081]
接收到表情动作传输信息后,由于表情动作传输信息是经过传输预处理的,因此,观众客户端需要针对经过传输预处理的表情动作传输信息进行应用预处理,从而得到表情动作传输信息对应的人脸表情动作信息。
[0082]
进一步地,本步骤的具体执行过程如下所述:
[0083]
第一,对表情动作传输信息进行解码操作,得到表情动作传输信息对应的解码表情动作信息。
[0084]
由于表情动作传输信息是经过编码生成的,因此,本实施例中观众客户端在接收到表情动作传输信息后,需要对其进行解码操作,得到对应的解码表情动作信息。
[0085]
第二,按照解码表情动作信息中预先标记的序号,对解码表情动作信息进行排序,得到人脸表情动作信息。
[0086]
表情动作传输信息在传输过程中,内部的信息顺序可能会发生改变,或者出现数据丢失等情况,但是由于主播客户端中预先进行了序号标记,因此,本实施例可以按照解码表情动作信息中预先标记的序号,对解码表情动作信息进行排序,从而得到人脸表情动作信息。
[0087]
s203、对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息。
[0088]
得到了人脸表情动作信息后,需要对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息。具体的满帧插值处理过程与上述实施例中步骤s104相同,本实施例不再具体阐述。
[0089]
s204、根据目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示。
[0090]
得到目标表情动作信息后,需要按照目标表情动作信息对虚拟形象进行表情动作渲染,从而驱动虚拟形象进行表情动作展示。其中,观众客户端中创建的虚拟形象与主播客户端中创建的虚拟形象相同。本步骤具体的执行过程与上述实施例中步骤s105相同,本实施例不再具体阐述。
[0091]
本实施例的应用于观众客户端的虚拟形象表情驱动方法,接收服务器从主播客户端转发的表情动作传输信息;对表情动作传输信息进行应用预处理,得到表情动作传输信息对应的人脸表情动作信息;对人脸表情动作信息进行满帧插值处理,得到目标表情动作信息;根据目标表情动作信息,驱动预先创建的虚拟形象进行表情动作展示。采用本实施例的技术方案,观众客户端直接接收主播客户端发送的人脸表情动作信息,无需传输视频数据,降低了传输的数据量,提高了传输速率,保证直播的时效性,再利用人脸表情动作信息驱动虚拟形象显示,能够保证显示的帧率和分辨率,并且对人脸表情动作信息进行满帧插值处理,能够保证表情动作的连续性,提高直播的流畅性。
[0092]
图3是本发明的虚拟形象表情驱动系统一种实施例提供的结构示意图。如图3所示,本实施例的虚拟形象表情驱动系统包括:主播客户端11、服务器12和观众客户端13。其中,主播客户端11和观众客户端13分别与服务器12相连。本实施例中,主播客户端11用于执行上述实施例中应用于主播客户端11的虚拟形象表情驱动方法;服务器12用于将主播客户端11生成的表情动作传输信息转发给观众客户端13;观众客户端用于执行上述实施例中应用于观众客户端11的虚拟形象表情驱动方法。
[0093]
本实施例的虚拟形象表情驱动系统,观众客户端直接接收主播客户端发送的人脸表情动作信息,无需传输视频数据,降低了传输的数据量,提高了传输速率,保证直播的时
效性,再利用人脸表情动作信息驱动虚拟形象显示,能够保证显示的帧率和分辨率,并且对人脸表情动作信息进行满帧插值处理,能够保证表情动作的连续性,提高直播的流畅性。
[0094]
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0095]
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0096]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0097]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0098]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0099]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0100]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0101]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0102]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献