首页> 中国专利> 一种生成角色模型舞蹈动画的方法和系统

一种生成角色模型舞蹈动画的方法和系统

摘要

本说明书实施例公开了一种生成角色模型舞蹈动画的方法。所述生成角色模型舞蹈动画的方法包括:获取预定时长的音乐数据,并从所述音乐数据中获取预定格式的音频特征数据;使用训练好的舞蹈生成模型处理所述音频特征数据,得到与所述音乐数据对应的舞蹈动作,以基于所述舞蹈动作确定所述角色模型的舞蹈动画;其中,所述舞蹈动作由所述角色模型的关节点的动作参数表示,所述动作参数至少包括:关节点的位置值与关节点的旋转值;所述角色模型包括:人体模型;其中:所述舞蹈生成模型包括音乐特征提取层和舞蹈动作生成层,所述舞蹈动作生成层用于基于所述音乐特征提取层输出的音乐特征向量获取与所述音乐数据对应的舞蹈动作。

著录项

  • 公开/公告号CN112330779A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

  • 申请/专利权人 北京慧夜科技有限公司;

    申请/专利号CN202011219104.3

  • 发明设计人 渠思源;

    申请日2020-11-04

  • 分类号G06T13/40(20110101);G06T13/20(20110101);G06N3/08(20060101);

  • 代理机构51253 成都七星天知识产权代理有限公司;

  • 代理人杨永梅

  • 地址 100086 北京市海淀区中关村大街甲38号1号楼B座9层214号

  • 入库时间 2023-06-19 09:49:27

说明书

技术领域

本说明书涉及信息技术领域,特别涉及一种生成角色模型舞蹈动画的方法和系统。

背景技术

舞蹈是游戏、动画中的3D角色最常见的表演形式。生成3D角色舞蹈动画常用的方法有:动画师手动逐帧调节3D模型的动作姿态、通过动作捕捉技术用真人演员的舞蹈表演驱动3D模型运动,或者在对真人演员进行动作捕捉后,再由动画师手动微调动作姿态来进行修饰。然而动画师逐帧制作舞蹈动作或者真人表演都需要较长的时间与较高的人力成本,无法满足工业动画制作流程的需求,并且动作捕捉设备比较昂贵,使用动作捕捉设备也会增加制作成本。

因此希望可以提供一种生成角色模型舞蹈动画的方法和系统,以提升舞蹈动画的制作效率。

发明内容

本说明书实施例之一提供一种生成角色模型舞蹈动画的方法,所述方法包括:

获取预定时长的音乐数据,并从所述音乐数据中获取预定格式的音频特征数据;使用训练好的舞蹈生成模型处理所述音频特征数据,得到与所述音乐数据对应的舞蹈动作,以基于所述舞蹈动作确定所述角色模型的舞蹈动画;其中,所述舞蹈动作由所述角色模型的关节点的动作参数表示,所述动作参数至少包括:关节点的位置值与关节点的旋转值;所述角色模型包括:人体模型;其中:所述舞蹈生成模型包括音乐特征提取层和舞蹈动作生成层,所述舞蹈动作生成层用于基于所述音乐特征提取层输出的音乐特征向量获取与所述音乐数据对应的舞蹈动作。

本说明书实施例之一提供一种生成角色模型舞蹈动画的系统,所述系统包括:音频特征获取模块、舞蹈生成模块;所述音频特征获取模块用于获取预定时长的音乐数据,并从所述音乐数据中获取预定格式的音频特征数据;所述舞蹈生成模块用于使用训练好的舞蹈生成模型处理所述音频特征数据,得到与所述音乐数据对应的舞蹈动作,以基于所述舞蹈动作确定所述角色模型的舞蹈动画;其中,所述舞蹈动作由所述角色模型的关节点的动作参数表示,所述动作参数至少包括:关节点的位置值与关节点的旋转值;所述角色模型包括:人体模型;其中:所述舞蹈生成模型包括音乐特征提取层和舞蹈动作生成层,所述舞蹈动作生成层用于基于所述音乐特征提取层输出的音乐特征向量获取与所述音乐数据对应的舞蹈动作。

本说明书实施例之一提供一种生成角色模型舞蹈动画的装置,包括至少一个存储介质和至少一个处理器;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现生成角色模型舞蹈动画的方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书的一些实施例所示的生成角色模型舞蹈动画的系统100的场景示意图;

图2是根据本说明书的一些实施例所示的生成角色模型舞蹈动画的方法的结构化流程图;

图3是根据本说明书的一些实施例所示的舞蹈生成模型训练方法的流程图;

图4是根据本说明书的一些实施例所示的音乐特征提取层的示例性结构图;

图5A是根据本说明书的一些实施例所示的舞蹈动作生成层的示例性结构图;

图5B是根据本说明书的一些实施例所示的舞蹈动作生成层的节点与权重参数的示例性示意图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书的一些实施例所示的生成角色模型舞蹈动画的系统100的场景示意图。

如图1所示,生成角色模型舞蹈动画的系统100可以包括服务器110、处理器120、存储设备130、用户终端140、网络150。

生成角色模型舞蹈动画的系统100可以被广泛应用于各种动画角色的制作场景中,例如:动画剧、电影动画、虚拟偶像直播,或者3D游戏等。生成角色模型舞蹈动画的系统100可以通过实施本说明书中披露的方法和/或过程来生成与音乐对应的角色模型的舞蹈动画。

在一些应用场景中,使用用户终端140的用户可以包括动画角色的制作人员。

在一些实施例中,可以通过用户终端140获取音乐数据,经服务器110处理后生成舞蹈动画,并通过用户终端140呈现给用户。服务器110在处理时可以获取存储设备130上的数据或将数据保存到存储设备130,也可以通过网络150从其他来源读取数据和将数据输出到其他目标对象。在一些实施例中,部分生成角色模型舞蹈动画的操作处理可以在用户终端140上进行。本说明书中的操作可以通过处理器120执行程序指令进行。上述方式仅为方便理解,本系统亦可以其他可行的操作方式实施本说明书中的方法。

在一些实施例中,服务器110、用户终端140以及其他可能的系统组成部分中可以包括存储设备130。

在一些实施例中,服务器110、用户终端140以及其他可能的系统组成部分中可以包括处理器120。

在一些实例中,可以在不同的设备上分别进行不同的功能,比如音乐数据的获取、音频特征数据的提取、模型的训练、模型的执行等等,本说明书对此不作限制。

服务器110可以用于管理资源以及处理来自本系统至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。在一些实施例中,服务器110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器110可以是分布式系统),可以是专用的也可以由其他设备或系统同时提供服务。在一些实施例中,服务器110可以是区域的或者远程的。在一些实施例中,服务器110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。

处理器120可以处理从其他设备或系统组成部分中获得的数据和/或信息。处理器可以基于这些数据、信息和/或处理结果执行程序指令,以执行一个或多个本申请中描述的功能。在一些实施例中,处理器120可以包含一个或多个子处理设备(例如,单核处理设备或多核多芯处理设备)。仅作为示例,处理器120可以包括中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。

存储设备130可以用于存储数据和/或指令。存储设备130可以包括一个或多个存储组件,每个存储组件可以是一个独立的设备,也可以是其他设备的一部分。在一些实施例中,存储设备130可包括随机存取存储器(RAM)、只读存储器(ROM)、大容量存储器、可移动存储器、易失性读写存储器等或其任意组合。示例性的,大容量储存器可以包括磁盘、光盘、固态磁盘等。在一些实施例中,所述存储设备130可在云平台上实现。

数据指对信息的数字化表示,可以包括各种类型,比如二进制数据、文本数据、图像数据、视频数据等。指令指可控制设备或器件执行特定功能的程序。

用户终端140指用户所使用的一个或多个终端设备或软件。在一些实施例中,使用用户终端140的可以是一个或多个用户,可以包括直接使用服务的用户,也可以包括其他相关用户。在一些实施例中,用户终端140可以是移动设备140-1、平板计算机140-2、膝上型计算机140-3、台式计算机140-4等其他具有输入和/或输出功能的设备中的一种或其任意组合。

上述示例仅用于说明所述用户终端140设备范围的广泛性而非对其范围的限制。

网络150可以连接系统的各组成部分和/或连接系统与外部资源部分。网络150使得各组成部分之间,以及与系统之外其他部分之间可以进行通讯,促进数据和/或信息的交换。在一些实施例中,网络150可以是有线网络或无线网络中的任意一种或多种。例如,网络150可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。在一些实施例中,网络150可以包括一个或以上网络接入点。例如,网络150可以包括有线或无线网络接入点,例如基站和/或网络交换点150-1、150-2、…,通过这些进出点系统100的一个或多个组件可连接到网络150上以交换数据和/或信息。

图2是根据本说明书的一些实施例所示的生成角色模型舞蹈动画的方法的结构化流程图。

如图2所示,生成角色模型舞蹈动画的方法200可以在处理设备实现。其包括:

步骤210,获取预定时长的音乐数据,并从音乐数据中获取预定格式的音频特征数据。在一些实施例中,步骤210可以由音频特征获取模块执行。

在一些实施例中,可以由用户终端140通过多种方式获取舞蹈动画的配乐。例如,用户终端140可以从存储设备130获取配乐。又例如,用户终端140可以从网络下载配乐。在一些实施例中,为了便于后续处理,需要将配乐划分为一段或者多段预定时长的音乐数据。音乐数据的时长和舞蹈生成模型的结构相关,在一些实施例中,预定时长可以为2.4秒。在一些实施例中,为了避免直接分段破坏音频的自然度和连续性而导致在提取时频信号时发生频谱泄露问题,可以使用加窗分帧处理的方式来从配乐中获取音乐数据。加窗分帧处理即使用窗函数(例如,汉明窗)平滑的在语音信号上滑动,来将语音信号分段。使用窗函数可以使分段后的信号变得连续,并且每一段都会表现出周期函数的特性,分段可以是连续的,也可以交叠的。加窗的代价是一段信号两端的部分被削弱了,没有像中央的部分那样得到重视,对此问题可以采取的解决办法是:采用交叠分段的方式,即前一段音乐数据和后一帧段音乐数据存在交叠部分,交叠的部分称为帧移,帧移与帧长的比值一般为0~0.5。

因为声音信号是一维的时域信号,较难直接使用机器学习中的神经网络模型来处理,因此,需要从音乐数据中获取预定格式的音频特征数据。在一些实施例中,可以使用时频域分析方法从音乐数据中提取时频信号(频率随时间变化的数据),并将该时频信号作为音频特征数据。时频域分析方法包括但不限于:短时傅里叶变换(short-time Fouriertransform,STFT),小波变换,Wigner分布变换等。在一些实施例中,可以使用STFT提取音乐数据的音频特征数据。STFT是常用的时频域分析方法,通过对声音数据进行分帧、加窗,再对每一帧做傅里叶变换,最后把每一帧的结果堆叠起来,得到二维的时频信号。对于时长为2.4秒的音乐数据,使用STFT提取的音频特征数据的大小可以为256*256。

步骤220,使用训练好的舞蹈生成模型处理音频特征数据,得到与音乐数据对应的舞蹈动作。在一些实施例中,步骤220可以由舞蹈生成模块执行。

在一些实施例中,可以使用训练好的舞蹈生成模型处理步骤210中获取的音频特征数据,生成与音乐数据对应的舞蹈动作。舞蹈生成模型包括音乐特征提取层和舞蹈动作生成层。音乐特征提取层处理音频特征数据,舞蹈动作生成层处理音乐特征提取层输出的音乐特征向量获取与音乐数据对应的舞蹈动作。

在一些实施例中,角色模型可以为三维模型。三维模型是物体的三维多边形表示,通常用电脑或者其它影片设备进行显示,显示的物体是可以是现实世界的实体,也可以是虚构的东西。三维模型经常做成动画,它们可以在三维建模工具中使用或者单独使用。作为动画的人类或者动物的三维模型中有完整的骨骼系统,这样运动时看起来会更加真实。可以通过骨骼系统中的关节点的参数来控制角色模型做出运动姿态。例如:改变角色模型的手腕关节点的位置值和旋转值,角色模型的手腕会相应的移动和旋转,从而生成新的运动姿态。

在一些实施例中,舞蹈动作由角色模型的关节点的动作参数来表示,关节点的动作参数至少包括:关节点的位置值与关节点的旋转值。关节点的位置值使用x坐标值、y坐标值,以及z坐标值来表示,坐标原点可以设置在骨骼系统的某一个关节点上,通常该关节点为骨骼结构的根节点,例如髋部中心(Hip Center)。关节点的旋转值用四元数来表示。四元数是游戏开发中常用的表示旋转的参数,其使用一个3维向量表示转轴和一个角度分量表示绕此转轴的旋转角度,即(i,j,k,w)。

音乐特征提取层可以包括各种模型和结构,例如深度神经网络模型、卷积神经网络模型、自定义的模型结构等,本说明书不做限制。在一些实施例中,音乐特征提取层可以包括卷积神经网络,仅作为示例,音乐特征提取层的结构如图4所示。卷积神经网络可以包含多个网络层,对于输入的音频特征数据可以作以下运算:(一)由卷积运算(Convolution,Conv)、归一化运算(Normalization),以及激活运算(例如,ReLU函数)构成的一组运算,该组运算可以进行至少1次(例如3次),每一次执行该组运算得到的特征映射(feature map),可以作为下一次运算的输入。(二)降维运算。音乐特征提取层可以使用多种方式进行归一化运算,包括但不限于:实例正则化(Instance Normalization,IN)、批量归一化(BatchNormalization,BN)、层归一化(Layer Normalization,LN)等。音乐特征提取层可以使用多种方式进行降维运算,包括但不限于:步长(stride)为N(例如4)的卷积运算、最大池化(maxpolling)运算等。如图4所示的音乐特征提取层的输入层的map size为256*256,因此可以处理大小为256*256的音频特征数据,输出大小为16*16*256的张量,将该张量拼接为一个长向量作为音乐特征向量。音乐特征向量可以作为图5A所示的舞蹈动作生成层的输入。

在一些实施例中,舞蹈动作生成层可以包括如图5A所示的图神经网络,该图神经网络中的节点与角色模型的多个关节点一一对应。在一些实施例中,分别将音乐特征提取层输出的音乐特征向量与多个权重参数作加权运算,得到图神经网络中各个节点的初始特征值,多个权重参数的个数与图神经网络的节点个数相同,多个权重参数中的每一个对应于图神经网络的一个节点。在一些实施例中,角色模型可以为人体模型,根据动画制作的细致程度,通常人体模型关节点的个数可以在20个到30个之间。以关节点的个数为21个作为示例,如图5B所示,舞蹈动作生成层的节点(节点1~节点21)的个数与多个权重参数(w

在一些实施例中,舞蹈动作生成层分别对每个节点的初始特征值进行至少1次加权运算,例如图5A所示的3次(可以根据经验或者训练时模型的效果而定),得到舞蹈动作特征。每1次加权运算包括:

(一)分别将输入特征向量与多个权重参数作加权运算,得到图神经网络中各个节点的特征向量。第i次运算后,各个节点的特征向量可以为:v

(二)将各个节点的特征向量拼接为一个向量,作为下一次加权运算的输入特征向量x

在一些实施例中,舞蹈动作生成层还包括全连接层,全连接层用于处理舞蹈动作特征,生成音乐数据对应的舞蹈动作。全连接层可以包含一层或者多层。在一些实施例中,全连接层可以包含一层,全连接层每个节点输出一个关节点的动作参数的值(例如,关节点位置的x坐标),全连接层的节点个数与音乐数据的时长、角色模型关节点的个数,以及动作参数的值的个数相关。例如:对于2.4秒的音乐数据,需要舞蹈动作生成层输出2.4秒时间段内的舞蹈动作,按照帧率标准为60fps(1秒内60帧图像)来计算,共计需要输出144帧舞蹈动作。如果角色模型共有21个关节点,每一个关节点对应7个动作参数的值:表示关节点位置的x坐标、y坐标、z坐标,关节点的旋转参数(四元数)中的i、j、k、w,那么一帧舞蹈动作需要由21*7个全连接层的节点来表示。最终全连接层的节点个数可以是:7*21*144。在一些实施例中,从配乐中采样音乐数据时(详细内容请参见图2步骤210中的描述),使用了交叠分段的方式,则舞蹈动作生成层输出的舞蹈动作也可以是其他帧数,例如72帧(帧移与帧长的比值为0.5时),相应的全连接层的节点个数可以是:7*21*72。

在一些实施例中,可以基于上述获取到的舞蹈动作,确定角色模型的舞蹈动画。例如:可以将表示舞蹈动作的关节点的动作参数输入角色模型,驱动角色模型生成舞蹈动画。

在角色模型的骨骼结构中,只有相邻的关节点之间存在确定的连通关系,例如:左手腕关节和左肘关节。然而角色模型随着音乐舞蹈时,因为舞蹈动作存在协调性,各个关节点的动作之间会存在某些关联关系,但是这些关联关系难以用常用的邻接关系(例如邻接矩阵、十字链表)来表示。本说明书中所描述的舞蹈生成模型,通过舞蹈动作生成层对于各个节点特征向量的加权运算,然后将运算结果拼接起来作为下一次运算的输入,从而将各个关节点之间的舞蹈动作关联起来,便于最终生成协调而稳定的舞蹈动作。

应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,将步骤210拆分为步骤210-1和步骤210-2,在步骤210-1中获取音乐数据,在步骤210-2中获取音频特征数据。

图3是根据本说明书的一些实施例所示的舞蹈生成模型训练方法的流程图。

步骤310,获取训练得到的音乐特征提取层的参数。

在一些实施例中,音乐特征提取层的参数可以通过训练音乐分类神经网络得到。音乐分类神经网络包含特征提取层和全连接层,特征提取层与舞蹈生成模型中的音乐特征提取层结构相同,将该特征提取层的参数作为音乐特征提取层的参数。音乐分类神经网络的训练过程如下:

(一)获取多个训练样本,训练样本包括从音乐数据中提取的音频特征数据以及音乐数据对应的音乐类别。可以通过多种方式获取音乐数据。例如,可以以爬虫等方式从网络搜集大量有配乐的舞蹈视频,分离该舞蹈视频中的音频,从音频中截取作为训练用的音乐数据。又例如:可以录制真人表演来采集舞蹈动作,保存跳舞时使用的音乐,并从该音乐中截取作为训练用的音乐数据。为音乐数据定义类别,例如乡村音乐、爵士、摇滚、重金属音乐、朋克、电子音乐、灵魂音乐、R&B、英伦摇滚、神游舞曲、匪帮说唱、哥特式音乐、民歌(FOLK)等。将从音乐数据中获取的音频特征数据作为输入数据,将音乐类别作为标签。关于如何从音乐数据中获取音频特征数据请参见图2步骤210中的相关描述,这里不再赘述。

(二)利用输入数据以及对应的标签训练音乐分类神经网络,获得训练好的音乐分类神经网络。可以使用多种方式对音乐分类网络进行训练,比如梯度下降法等,从而可以学习到音乐分类神经网络的参数。

步骤320,获取多个训练样本。

在一些实施例中,训练样本包括从音乐数据中提取的音频特征数据以及与音乐数据对应的多个舞蹈动作。可以使用多种方式获取音乐数据以及舞蹈动作。例如,可以以爬虫等方式从网络搜集大量有配乐的舞蹈视频,分离该舞蹈视频中的音频,从音频中截取作为训练用的音乐数据,并对舞蹈视频中的画面进行三维重建来获得角色模型的舞蹈动作(由多个关节点的动作参数来表示),将其作为标签。三维重建的方法包括但不限于:KinectFusion、Dynamic Fusion,Body Fusion或者Double Fusion等。又例如:可以录制真人的舞蹈表演来采集舞蹈动作,保存跳舞时使用的音乐,并从该音乐中截取作为训练用的音乐数据,并且采用动作捕捉技术采集舞蹈表演对应的角色模型的舞蹈动作(由多个关节点的动作参数来表示)。将音频特征数据作为输入数据,将多个舞蹈动作作为标签。例如:对于某一段2.4秒的音乐数据,将从其中获取的音频特征数据作为输入数据,并将与该段音乐数据对应的144个舞蹈动作作为标签。具体的,每一个舞蹈动作包括:角色模型的多个关节点的位置参数-x坐标、y坐标、z坐标,角色模型的多个关节点的旋转参数-i、j、k、w,如果角色模型共有21个关节点,则每一个舞蹈动作总共包括21*7个参数值,144个舞蹈动作总共包括:144*21*7个参数值,即标签可以为包含144*21*7个参数值的向量,该向量中的每个参数值对应于舞蹈动作生成层的全连接层的一个输出节点。

步骤330,基于所述音乐特征提取层的参数,利用输入数据以及对应的标签训练舞蹈生成模型中的舞蹈动作生成层,获得训练好的舞蹈生成模型。

在一些实施例中,为舞蹈生成模型建立目标函数,保持步骤310中获取的舞蹈生成模型中音乐特征提取层的参数不变,使用优化算法(例如,梯度下降法)调整舞蹈动作生成层的参数,以使舞蹈生成模型的目标函数满足预设条件或者迭代次数达到预设阈值,获得训练好的舞蹈生成模型。

在一些实施例中,舞蹈生成模型的目标函数至少基于位置误差、旋转误差以及相邻舞蹈动作之间的连贯性误差确定。位置误差与舞蹈生成模型输出的关节点的位置参数相关,例如:可以分别计算舞蹈生成模型输出的每一个关节点的位置值与其对应的标签之间的平方误差,并将所有的平方误差相加得到位置误差loss_p。旋转误差与舞蹈生成模型输出的关节点的旋转参数相关,例如:可以分别计算舞蹈生成模型输出的每一个关节点的旋转值与其对应的标签之间的平方误差,并将所有的平方误差相加得到旋转误差loss_r。连贯性误差与所述舞蹈生成模型输出的相邻舞蹈动作之间的位置参数的差值和旋转参数的差值相关,例如:可以计算相邻帧之间的对应关节点(例如,第2帧的左肘关节与第1帧的左肘关节)之间的位置值的差值和旋转值的差值,如果共有N帧舞蹈动作,相邻帧可以为:第2帧与第1帧、第3帧与第2帧、....第N帧与第N-1帧,所有差值相加得到连贯性误差loss_c。最终得到目标函数:Loss=loss_p+loss_r+w*loss_c,其中,w为小于1的小数,需要根据实际情况调整,优选的,可以设为0.1。

应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,将步骤320和步骤310合并为同一个步骤,在同一个步骤中获取训练样本,并训练舞蹈生成模型中的舞蹈动作生成层。

本说明书实施例可能带来的有益效果包括但不限于:(1)本说明书中的实施例,通过设计舞蹈生成模型,将音乐数据与舞蹈动作建立起对应关系,从而可以使用舞蹈生成模型基于音乐数据生成舞蹈动作序列,可以替代真人表演,较大程度上提升了舞蹈动画的制作效率。并且可以在没有动作捕捉设备的情况下,快速获得高精度的舞蹈动作参数,可以以较低的成本完成较高水准的舞蹈动画制作。(2)通过设计损失函数来适配舞蹈生成模型的训练,使得舞蹈生成模型具有更好的效果,可以在输入音乐时准确的输出舞蹈动作序。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。

本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号