CN115035221B - 一种舞蹈动画合成方法、装置、设备及存储介质 - Google Patents
一种舞蹈动画合成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115035221B CN115035221B CN202210691472.0A CN202210691472A CN115035221B CN 115035221 B CN115035221 B CN 115035221B CN 202210691472 A CN202210691472 A CN 202210691472A CN 115035221 B CN115035221 B CN 115035221B
- Authority
- CN
- China
- Prior art keywords
- dance
- joint
- determined
- designated
- rhythm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 11
- 230000033764 rhythmic process Effects 0.000 claims abstract description 134
- 230000033001 locomotion Effects 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 8
- 210000003108 foot joint Anatomy 0.000 claims description 51
- 210000002478 hand joint Anatomy 0.000 claims description 30
- 239000013598 vector Substances 0.000 claims description 25
- 230000015572 biosynthetic process Effects 0.000 claims description 12
- 238000003786 synthesis reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000001020 rhythmical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种舞蹈动画合成方法、装置、设备及存储介质,所述方法包括:获取每帧舞蹈动画中三维虚拟人像指定关节的空间位置,并针对每个指定关节,确定每个指定关节的运动速度与舞蹈动画帧数的对应关系;基于上述对应关系及该指定关节在舞蹈过程中的运动特点确定舞蹈节奏点的待定帧区间,该指定关节在舞蹈节奏点的运动速度不超过第一预设阈值;根据该指定关节确定的待定帧区间与其他至少一个指定关节确定的待定帧区间的交集确定舞蹈节奏点,以根据各舞蹈节奏点构生成目标节奏序列;将指定音乐与目标节奏序列匹配,基于匹配结果合成目标舞蹈动画。基于舞蹈节奏序列与音乐的匹配程度合成舞蹈动画,提高舞蹈复用率的同时扩展了舞蹈动画的多样性。
Description
技术领域
本申请涉及技术领域,尤其涉及一种舞蹈动画合成方法、装置、设备及存储介质。
背景技术
针对三维虚拟人像进行舞蹈动画合成时,需要基于音乐进行舞蹈编排,使舞蹈节奏与音乐的节奏相契合,舞蹈节奏由舞蹈中的关键动作组成,同一首音乐可以对应多支舞蹈节奏不同的舞蹈。但目前的舞蹈编排依赖于编舞师,一方面编舞师需要针对每一首音乐分别进行编排,编排效率较低且同一支舞蹈的利用率低;另一方面编舞师针对同一首音乐可编排的舞蹈数量有限,不利于舞蹈动画多样性的扩展。
发明内容
为克服相关技术中存在的问题,本申请提供了一种舞蹈动画合成方法、装置、设备及存储介质。
根据本申请实施例的第一方面,提供一种舞蹈动画合成方法,所述方法包括:获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集,并根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
根据本申请实施例的第二方面,提供一种舞蹈动画合成装置,包括:
第一获取模块,用于获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
第一确定模块,用于针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
第二确定模块,用于基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
第二获取模块,用于获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集;
第三确定模块,用于根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
匹配模块,用于将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
根据本申请实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述第一方面所述的方法。
根据本申请实施例的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成前述第一方面所述的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例通过检测舞蹈的节奏点,能够获取已有舞蹈的舞蹈节奏,基于指定的音乐与检测出的舞蹈节奏序列之间的匹配程度合成舞蹈动画,一方面使得同一支舞蹈可对应多首音乐,提高了舞蹈的复用率;另一方面使得同一首音乐对应的舞蹈不再局限于编舞师针对该首音乐编排的舞蹈,提高了舞蹈动画的多样性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1A是本申请根据一示例性实施例示出的一种舞蹈节奏点的示意图。
图1B是本申请根据一示例性实施例示出的一种舞蹈动画合成方法的流程图。
图2A是本申请根据一示例性实施例示出的一种指定关节的运动速度与舞蹈动画的帧数的对应关系的示意图。
图2B是本申请根据一示例性实施例示出的一种待定帧区间的示意图。
图2C是本申请根据一示例性实施例示出的一种手部关节的运动速度与舞蹈动画帧数对应关系的曲线图。
图2D是本申请根据一示例性实施例示出的一种脚部关节的运动速度与舞蹈动画帧数对应关系的示意图。
图3是本申请实施例的舞蹈动画合成装置所在计算机设备的一种硬件结构图。
图4是本申请根据一示例性实施例示出的一种舞蹈动画合成装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了克服相关技术中存在的问题,本申请提出一种舞蹈动画合成方法,对已有舞蹈进行舞蹈节奏序列检测,基于指定的音乐与检测出的舞蹈节奏序列匹配,从而将匹配成功的舞蹈和音乐合成舞蹈动画。根据舞蹈节奏序列及音乐的节奏的匹配程度合成舞蹈动画,一方面使得同一支舞蹈可对应多首音乐,提高了舞蹈的复用率;另一方面使得同一首音乐对应的舞蹈不再局限于编舞师针对该首音乐编排的舞蹈,提高了舞蹈动画的多样性。上述舞蹈动画合成方法适用于舞蹈动画应用的各种场景,例如舞蹈类游戏、虚拟主播斗舞、虚拟偶像的舞蹈视频等等。
接下来对本申请实施例进行详细说明。
舞蹈节奏体现在舞蹈动作的速度变化,在节奏点处舞蹈动作的速度相比于非节奏点处更低,舞蹈动画中的节奏点即为展现舞蹈动作的三维虚拟人像的关键身体关节的运动速度相对较低时所对应的动画帧。关键身体关节包括但不限于头部关节、手部关节、脚部关节、腰部关节、肘部关节。对舞蹈节奏点的检测实质上是对舞蹈动画中节奏点对应的动画帧进行检测。如图1A所示为本申请根据一示例性实施例示出的一种舞蹈节奏点的示意图,舞蹈动画中的第10、30、50、65及85帧为节奏点。
如图1B所示,图1B是本申请根据一示例性实施例示出的一种舞蹈动画合成方法的流程图,包括以下步骤:
步骤102,获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
指定关节包括但不限于手部关节、脚部关节和头部关节,指定关节的空间位置即为指定关节在世界坐标系下的三维坐标。可以采用正运动学公式,基于三维虚拟人像的指定关节在世界坐标系下的x轴、y轴以及z轴方向上的转动角度和平移距离计算得到指定关节在世界坐标系下的三维坐标。
步骤104,针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
一般来说,动画的帧率不少于30fps,即每一秒动画至少包括30帧动画帧,相邻两帧之间的时间差不超过1/30秒。在确定每一帧动画帧对应的运动速度时,可以基于指定关节在该帧动画帧的前一帧和后一帧中空间位置的变化计算得到。计算公式可以表达为,其中/>为指定关节在第t帧的运动速度,/>为指定关节在第t+1帧的空间位置,/>为指定关节在第t-1帧的空间位置,t为正整数。此外,还可以采用其他方式确定,例如基于指定关节在第t+1帧和第t帧中空间位置的变化确定,本申请对此不作限制。运动速度的单位可以基于实际情况自行设置。
指定关节的运动速度与舞蹈动画帧数的对应关系可以以曲线的形式展现,如图2A所示为本申请根据一示例性实施例示出的一种指定关节的运动速度与舞蹈动画帧数对应关系的曲线图,横坐标为帧数,纵坐标为运动速度。可以理解的是,舞蹈过程中的运动速度快慢交替,故图2A所示的曲线图存在交替出现的波峰和波谷。舞蹈具有连续性,舞蹈动作的速度变化也具有连续性,故尽管帧数均为正整数,但仍以连续曲线表示速度-帧数曲线。此外,指定关节的运动速度与舞蹈动画的帧数的对应关系还可以以其他形式展现,例如表格。
步骤106,基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
待定帧区间为可能存在舞蹈节奏点的若干连续动画帧组成的集合,例如待定帧区间由第20帧至第25帧组成,可以表示为[20,25]。其中,第20帧和第25帧分别为待定帧区间的起始帧和结束帧。基于指定关节在舞蹈节奏点处的速度相比于非节奏点的运动速度较低设置确定待定帧区间的条件,运动速度的相对高低通过第一预设阈值来划分,不超过第一预设阈值则运动速度相对较低,有可能是节奏点所在。基于此,根据人体的各个指定关节所确定的待定帧区间至少满足的条件为,指定关节在待定帧区间中的运动速度不超过第一预设阈值。为了更直观地说明待定帧区间所满足的条件,以如图2B所示的曲线图进行说明,即待定帧区间210为第一预设阈值线以下的曲线段所对应的横坐标组成的集合,位于波谷区域。
由于在舞蹈过程中身体各个关节的运动模式(如运动范围、运动角度、运动限制)不同,故仅根据上述条件确定的待定帧区间不够准确,故针对不同的身体关节确定的待定帧区间还可能满足其他条件,不同的身体关节所对应的第一预设阈值的取值也有所不同。
对于头部关节和手部关节而言,在舞蹈过程中运动时所受约束较小,运动自由,可灵活变换各种舞蹈动作。鉴于上述运动特点可知,头部关节和手部关节运动速度的变化幅度较大,节奏点与非节奏点之间的运动速度差较大。本申请采用双阈值来表征节奏点与非节奏点之间的运动速度差,通过设置第二预设阈值,将第二预设阈值与第一预设阈值之间的差值作为上述运动速度差。基于此,待定帧区间还应该满足的条件为,与该待定帧区间的起始帧相邻的若干连续动画帧中,头部关节或手部关节的运动速度从不低于第二预设阈值持续下降,或从该待定帧区间的结束帧开始的若干相邻连续动画帧中,头部关节或手部关节的运动速度持续上升至不低于第二预设阈值,其中,第二预设阈值大于第一预设阈值。由此能够排除如噪声影响、或身体未稳定站立产生晃动所导致的手部或头部运动速度的变化,从而能够提高对头部和手部确定的待定帧区间的识别准确率。基于运动模式与头部关节和手部关节类似的其他关节确定的待定帧区间可以满足类似的条件。
如图2C所示为本申请根据一示例性实施例示出的一种手部关节的运动速度与舞蹈动画帧数对应关系的曲线图,第一预设阈值线将曲线划分为五个波谷区域(波谷1至波谷5),六个波峰区域(波峰1至波峰6),波谷区域所对应的运动速度均不超过第一预设阈值,波峰区域所对应的运动速度均高于第一预设阈值。首先根据指定关节在待定帧区间中的运动速度不超过第一预设阈值,能够确定5个帧区间,即5个波谷区域分别对应的动画帧集合。随后针对上述确定的每一个波谷区域,判断与其相邻的两个波峰区域中手部关节的运动速度是否存在不低于第二预设阈值的情况,若至少一个波峰区域中存在不低于第二预设阈值的运动速度,则认为该波谷区域对应的帧区间为待定帧区间。以波谷3区域为例,与其相邻的波峰3区域对应的部分曲线段高于第二预设阈值线,说明波峰3区域存在手部关节的运动速度不低于第二预设阈值的情况,故波谷3区域对应的帧区间为待定帧区间。以波谷4区域为例,与其相邻的波峰4区域和波峰5区域所对应的曲线段均低于第二预设阈值线,说明波谷4区域对应的帧区间不是待定帧区间。图2C所示的曲线中确定的待定帧区间210为波谷1、波谷2、波谷3及波谷5区域所对应的帧区间。需要说明的是,手部关节包括左手关节和右手关节,分别针对二者进行待定帧区间的检测。
对于脚部关节而言,由于脚部与地面接触起到支撑人体的作用,通常呈现出一只脚静止,另一只脚运动的状态,故脚部关节的运动受到的约束相较于头部关节和手部关节而言更大。鉴于上述运动特点可知,脚部关节的运动速度变化幅度较小,且在舞蹈过程中可能会出现单脚站立的情况,从而导致身体晃动。为保持平衡会产生滑步的动作,使得脚部关节的运动速度提高,若滑步的动作发生在节奏点附近则会导致节奏点处的脚部关节的速度高于第一预设阈值,从而使得该节奏点无法被检测出而导致漏检。此外,噪声的存在也可能使得脚部关节在节奏点及节奏点附近的运动度高于第一预设阈值。考虑到在舞蹈过程中,脚部关节在变换动作时脚部关节移动的距离相较于稳定身体所作出的滑步动作脚部关节移动的距离而言更大,故可以基于脚部关节的移动距离确定待定帧区间以排除上述情况的干扰。
也就是说,脚部关节的待定帧区间可以基于脚部关节的运动速度确定,也可以基于脚部关节的移动距离确定。如图2D所示为本申请根据一示例性实施例示出的一种脚部关节的运动速度与舞蹈动画帧数对应关系的曲线图,第一预设阈值线将曲线划分为三个波谷区域和四个波峰区域。波谷区域所对应的运动速度均不超过第一预设阈值,波峰区域所对应的运动速度均高于第一预设阈值。首先根据脚部关节的运动速度不超过第一预设阈值,能够确定3个待定帧区间,即3个波谷区域分别对应的动画帧集合。其次,针对脚部关节的运动速度超过第一预设阈值的波峰区域,根据脚部关节的移动距离不超过第三预设阈值继续确定待定帧区间。第三预设阈值可以是三维虚拟人物腿部长度的四分之一,上述取值为本申请基于本申请的测试条件优化后得到的参数,并不代表本领域技术人员可取的唯一值。脚部关节的移动距离可以通过计算波峰区域与第一预设阈值线构成的封闭区域220的面积得到,若脚部关节的移动距离不超过第三预设阈值,则将该波峰区域所对应的帧区间也确定为待定帧区间。假设波峰2区域和波峰3区域与阈值线构成的封闭区域的面积没有超过三维虚拟人物腿部长度的四分之一,则波峰2区域和波峰3区域所对应的帧区间为待定帧区间。与手部关节类似,脚部关节包括左脚关节和右脚关节,分别针对二者进行待定帧区间的检测。
除了上述几种身体关节之外,还可以通过分析舞蹈过程中如肩部、肘部、腰部等其他身体关节的运动模式以确定其他身体关节对应的待定帧区间。此外,考虑到某些日常动作如走路,身体的各个部分如头部、手部或脚部的运动速度一直处于较低状态,且脚部的移动距离也较小,但此时人体仍处于持续运动的状态。在舞蹈过程中,在头部、手部和脚部均处于运动速度相对较低的状态时,其他关节可能仍处于运动速度较快的状态,即从整体上看身体未处于相对静止的状态,不满足节奏点的定义。因此,除了根据指定关节的运动状态确定待定帧区间以确定节奏点之外,还可以根据人体几何中心的运动状态确定待定帧区间以确定节奏点。
人体几何中心指的是人体中各个关节在空间位置中的平均位置,能够体现出人体整体的运动状态,根据人体几何中心的运动状态确定待定帧区间以确定节奏点能够提高对节奏点的识别准确率。针对每帧舞蹈动画计算基于各个指定关节的空间位置确定平均空间位置即得到人体几何中心的空间位置,基于该平均空间位置确定人体几何中心的运动速度与舞蹈动画的帧数的对应关系,基于该对应关系及人体几何中心在舞蹈过程中的运动特点确定舞蹈节奏点的待定帧区间。
人体几何中心的运动模式与头部以及双手的运动模式类似,基于人体几何中心确定的待定帧区间所满足的条件与前述头部关节和手部关节确定的待定帧区间所满足的条件类似,包括:人体几何中心在该待定帧区间中运动速度不超过第一预设阈值,且与该待定帧区间的起始帧相邻的若干连续动画帧中,人体几何中心的运动速度从不低于第二预设阈值持续下降,或从该待定帧区间的结束帧开始的若干相邻连续动画帧中,人体几何中心的运动速度持续上升至不低于第二预设阈值,其中,第二预设阈值大于第一预设阈值。具体解释参见前述对头部关节和手部关节的阐述,在此不再赘述。
第一预设阈值或第二预设阈值可基于指定关节或人体几何中心在舞蹈动画中的平均运动速度确定,例如为平均运动速度的倍数。可以采用以下公式表示:T1=α1Vm,T2=α2Vm,其中T1为第一预设阈值,T2为第二预设阈值,Vm为指定关节或人体几何中心在舞蹈动画中的平均运动速度,α1和α2为倍数。针对不同的指定关节确定待定帧区间时,对应的第一预设阈值可以相同也可以不同,α1可以取相同的数值也可以取不同的数值。确定头部关节或手部关节或人体几何中心的待定帧区间时,α1可以为0.8,α2可以为1.2;确定脚部关节的待定帧区间时,α1可以为0.2。需要说明的是,上述α1和α2的取值为本申请基于本申请的测试条件优化后得到的参数,并不代表本领域技术人员可取的唯一值。
步骤108,获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集,并根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
舞蹈过程中身体各个关节在节奏点处的运动速度相比于非节奏点较低,由此可知针对每一个指定关节,取该指定关节对应的待定帧区间与其他至少一个指定关节所对应的待定帧区间之间的交集,在该交集所对应的若干连续动画帧中至少有两个指定关节处于运动速度较低的状态。举个例子,假设头部关节对应3个待定帧区间,分别表示为[12,16]、[20,25]及[36,48],左脚关节对应的三个待定帧区间分别为[10,20]、[22,30]及[50,60],对头部关节和左脚关节的待定帧区间求交集得到[12,16]和[22,25]这两个交集,那么头部关节和左脚关节在舞蹈动画中的第12帧至第16帧,第22帧至第25帧的运动速度均处于相对较低的状态,不超过第一预设阈值,头部关节所对应的第一预设阈值与左脚关节所对应的第一预设阈值的具体数值可以相同也可以不同。
容易理解的是,交集所对应的若干连续动画帧中运动速度处于较低状态的指定关节的数量越多,则越接近相对静止状态,节奏点位于该交集的概率越高,对节奏点的识别越准确。那么在指定关节的数量为三个或三个以上的情况下,首先可以基于预设规则对获取到的所有交集进行筛选,然后根据筛选后的交集确定舞蹈节奏点。预设规则可以是对交集所对应的若干连续动画帧中运动速度处于较低状态的指定关节的数量进行限定,例如至少三个不同指定关节的待定帧区间包含该交集对应的动画帧。举个例子,假设指定关节为头部关节、左手关节和左脚关节,三者所对应的待定帧区间分别为[12,20]、[10,25]及[15,30],上述三个待定帧区间存在的所有交集分别为[12,20] 、[15,20]及[15,25],基于上述预设规则进行筛选,只有交集[15,20]对应的动画帧均包含于头部关节、左手关节和左脚关节的待定帧区间,说明在该交集中上述三个指定关节均处于运动速度较低的状态,基于交集[15,20]确定节奏点。
若还根据人体几何中心的运动状态确定了待定帧区间,则在确定节奏点时,除了根据不同指定关节的待定帧区间之间的交集确定舞蹈节奏点以外,还可以获取人体几何中心确定的待定帧区间与至少一个指定关节所确定的待定帧区间的交集,并根据该交集确定舞蹈节奏点。假设人体几何中心确定的待定帧区间与至少一个指定关节所确定的待定帧区间的交集记为交集A,指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集记为交集B,这种情况下基于交集A和交集B确定节奏点。获取人体几何中心确定的待定帧区间与至少一个指定关节所确定的待定帧区间的交集的过程与获取不同指定关节的待定帧区间交集待定过程类似,在此不再赘述。
除了基于交集中包含的指定关节的数量进行限定之外,还可以设置其他的规则对交集进行筛选以提高对节奏点的识别准确率。在本申请一实施例中,根据人体几何中心的运动状态确定了待定帧区间的情况下,指定关节至少包括头部关节、手部关节及脚部关节,确定舞蹈节奏点的交集至少满足以下条件:所述交集同时包含于所述人体几何中心、所述脚部关节及其他至少一个指定关节确定的待定帧区间,所述脚部关节包括左脚关节和右脚关节。换句话说就是,交集可以是人体几何中心、左脚关节、右脚关节及其他至少一个关节分别对应的待定帧区间均包含的若干连续动画帧组成的集合,例如人体几何中心、左脚关节、右脚关节及左手关节分别对应的待定帧区间均包含的若干连续动画帧组成的集合。人体几何中心的运动状态能够体现三维虚拟人物整体的运动状态,保证交集对应的若干连续动画帧中人体几何中心的运动速度处于较低状态能够更为准确地确定节奏点。
三维虚拟人像在交集中的每一帧动画帧的运动速度均处于相对较低的状态,在用于确定舞蹈节奏点的交集确定之后可以取该交集中的任意一帧作为节奏点,例如取交集中的中位数作为节奏点,假设交集的起始帧和结束帧分别为26帧和30帧,表示为[26,30], 26与30之和的一半即为该交集的中位数,那么该交集内的节奏点为第28帧。每一个交集对应一个节奏点,所有节奏点则构成舞蹈动画的目标节奏序列。
步骤110,将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
为了便于匹配,可以基于指定音乐的音乐小节将舞蹈动画平均划分为若干片段,每个片段包含目标节奏序列中的若干舞蹈节奏点,针对每一个音乐小节,将该音乐小节分别与各个片段中包含的若干舞蹈节奏点进行匹配。可以采用多维向量的形式表示每个片段中包含的若干舞蹈节奏点,一般来说一个音乐小节有8个节拍,故可以采用8维向量来表示,表示为y=[y1,y2,…y8]。
下面以8维向量表示每个舞蹈动画片段中包含的舞蹈节奏点为例,对指定音乐与目标节奏序列的匹配过程进行阐述。假设指定音乐有4个小节,那么舞蹈动画被划分为4个片段,每一片段对应舞蹈动画的第t帧到t+n帧,且该n帧动画中包括若干个节奏点,将该n帧动画平均划分为8组,每一组中若包含节奏点则该组对应的yi记为1,若不包含节奏点则yi记为0(i=[1,8]),由此可以得到舞蹈动画的每个片段所包含的舞蹈节奏序点对应的8维向量y,例如01010101,其中1的数量越多表示该段舞蹈节奏越快、越明显。指定音乐的音乐小节中包含的节奏点也以8维向量x的形式表示,x=[ x1,x2,…x8],将一个音乐小节的时间平均划分为8段,每一段中若存在节奏点(节拍点或乐器击打点)则该段对应的xi记为1,否则xi记为0(i=[1,8])。下文中的向量x均指代各个音乐小节中包含的音乐节奏点对应的8维向量,向量y均指代各个舞蹈动画片段中包含的舞蹈节奏点对应的8维向量。
将指定音乐与目标节奏序列匹配时,以音乐小节为单位分别与舞蹈动画的各个片段中包含的舞蹈节奏点进行匹配。针对每一个音乐小节而言,该音乐小节与各个片段中包含的舞蹈节奏点是否匹配基于该音乐小节的8维向量x与舞蹈节奏点对应的8维向量y之间的匹配程度确定。匹配程度可以基于向量x与向量y的8位数字中匹配的比例表示,例如向量x和向量y中每一位数字均相同属于完全匹配,或向量x和向量y中有7位数字相同则属于87.5%匹配,以此类推。若向量x和向量y的匹配程度达到预设条件(如完全匹配),则确定该向量y对应的舞蹈节奏点与该音乐小节匹配。同一个音乐小节可能匹配多个片段所包含的舞蹈节奏点,在合成目标舞蹈动画时,可以任选一个匹配的片段,在该音乐小节内驱动三维虚拟人像做出该片段中包含的舞蹈节奏点所对应的舞蹈动作。
下面结合一实施例阐述指定音乐与目标节奏序列的匹配过程。假设要基于音乐A合成舞蹈动画,音乐A分为小节1、小节2、小节3及小节4四个小节,舞蹈动画B划分为a、b、c、d四个片段。其中,小节1中包含的音乐节奏点对应的8维向量x1为01010111,舞蹈动画的四个片段中包含的目标节奏序列中的舞蹈节奏点对应的8维向量分别为ya=01010111,yb=11010001,yc=10101000,yd=01010110。将小节1与舞蹈动画的各个片段进行匹配时,分别判断向量x1与ya、yb、yc及yd是否匹配,匹配条件为匹配程度不低于80%。由此可确定与小节1匹配的为ya和yd分别对应的两个片段中包含的舞蹈节奏点,那么后续在合成舞蹈动画时在小节1内驱动三维虚拟人像做出ya或yd对应的舞蹈节奏点所对应的舞蹈动作。其他小节的匹配过程与上述过程类似。
若小节2对应的8维向量x2为10010000,与ya、yb、yc及yd均不匹配,那么小节2可以与其他舞蹈动画的节奏序列进行匹配,例如与小节2匹配的是舞蹈动画C中某一个片段对应的舞蹈节奏点。也就是说,基于指定音乐合成舞蹈动画时,以音乐小节为单位匹配与音乐节奏契合的舞蹈时能够将不同支舞蹈中的舞蹈动作整合为一支与指定音乐契合的舞蹈,从而进一步扩展了舞蹈动画的多样性。
此外,还可以建立指定音乐的时间点与舞蹈动画帧数之间的对应关系,通过比较音乐节奏点出现的时间点与目标节奏序列中各个节奏点对应的帧数是否对应来判断指定音乐与目标节奏序列是否匹配。
与前述方法的实施例相对应,本申请还提供了一种舞蹈动画合成装置及其所应用的终端的实施例。
本申请文件舞蹈动画合成装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请实施例舞蹈动画合成装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本申请根据一示例性实施例示出的一种舞蹈动画合成装置的框图,所述装置包括:
第一获取模块410,用于获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
第一确定模块420,用于针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
第二确定模块430,用于基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
第二获取模块440,用于获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集;
第三确定模块450,用于根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
匹配模块460,用于将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
相应的,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述任一方法实施例所述的方法。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成前述任一方法实施例所述的方法。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种舞蹈动画合成方法,其特征在于,包括:
获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集,并根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于各所述指定关节的空间位置确定平均空间位置;
基于所述平均空间位置确定人体几何中心的运动速度与所述舞蹈动画的帧数的对应关系;
基于所述人体几何中心在舞蹈过程中的运动特点及所述人体几何中心的运动速度与所述舞蹈动画的帧数的对应关系,确定舞蹈节奏点的待定帧区间,所述人体几何中心在所述舞蹈节奏点的运动速度不超过所述第一预设阈值;
获取所述人体几何中心确定的待定帧区间与至少一个指定关节所确定的待定帧区间的交集,并根据所述交集确定所述舞蹈节奏点。
3.根据权利要求2所述的方法,其特征在于,所述指定关节为头部关节或手部关节,所述头部关节、所述手部关节或所述人体几何中心确定的待定帧区间满足的条件包括:
所述头部关节、所述手部关节或所述人体几何中心在所述待定帧区间中运动速度不超过第一预设阈值;
且在与所述待定帧区间的起始帧相邻的若干连续动画帧中,所述头部关节、所述手部关节或所述人体几何中心的运动速度从不低于第二预设阈值持续下降,或从所述待定帧区间的结束帧开始的若干相邻连续动画帧中,所述头部关节、所述手部关节或所述人体几何中心的运动速度持续上升至不低于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值。
4.根据权利要求3所述的方法,其特征在于,所述第一预设阈值或所述第二预设阈值为所述指定关节或所述人体几何中心在所述舞蹈动画中的平均运动速度的倍数。
5.根据权利要求4所述的方法,其特征在于,确定所述头部关节、手部关节或所述人体几何中心的待定帧区间时,确定所述第一预设阈值的倍数为0.8,确定所述第二预设阈值的倍数为1.2。
6.根据权利要求4所述的方法,其特征在于,所述指定关节为脚部关节,确定所述第一预设阈值的倍数为0.2。
7.根据权利要求1所述的方法,其特征在于,所述指定关节为脚部关节,所述脚部关节确定的待定帧区间满足的条件包括:
所述脚部关节在所述待定帧区间中运动速度不超过所述第一预设阈值;
或所述脚部关节在所述待定帧区间中运动速度超过所述第一预设阈值,且所述脚部关节在所述待定帧区间中移动距离不超过第三预设阈值。
8.根据权利要求7所述的方法,其特征在于,所述第三预设阈值为所述三维虚拟人像腿部长度的四分之一。
9.根据权利要求2所述的方法,其特征在于,所述指定关节至少包括头部关节、手部关节及脚部关节,确定所述舞蹈节奏点的交集至少满足以下条件:
所述交集同时包含于所述人体几何中心、所述脚部关节及其他至少一个指定关节确定的待定帧区间,所述脚部关节包括左脚关节和右脚关节。
10.根据权利要求1所述的方法,其特征在于,所述将指定音乐与所述目标节奏序列匹配包括:
基于所述指定音乐的音乐小节将所述舞蹈动画划分为若干片段,各所述片段包含所述目标节奏序列中的若干舞蹈节奏点;
针对每一个音乐小节,将所述音乐小节分别与各所述片段中包含的若干舞蹈节奏点进行匹配。
11.根据权利要求10所述的方法,其特征在于,各所述片段中包含的若干舞蹈节奏点以多维向量的形式表示。
12.一种舞蹈动画合成装置,其特征在于,包括:
第一获取模块,用于获取每帧舞蹈动画中三维虚拟人像的指定关节的空间位置;
第一确定模块,用于针对每一个指定关节,基于所述空间位置确定所述指定关节的运动速度与所述舞蹈动画的帧数的对应关系;
第二确定模块,用于基于所述指定关节在舞蹈过程中的运动特点及所述对应关系确定舞蹈节奏点的待定帧区间,所述指定关节在所述舞蹈节奏点的运动速度不超过第一预设阈值;
第二获取模块,用于获取所述指定关节确定的待定帧区间与其他至少一个指定关节所确定的待定帧区间的交集;
第三确定模块,用于根据所述交集确定所述舞蹈节奏点,以根据各个所述舞蹈节奏点生成目标节奏序列;
匹配模块,用于将指定音乐与所述目标节奏序列匹配,并基于匹配结果合成目标舞蹈动画。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1至权利要求11任意一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成权利要求1至权利要求11任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691472.0A CN115035221B (zh) | 2022-06-17 | 2022-06-17 | 一种舞蹈动画合成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691472.0A CN115035221B (zh) | 2022-06-17 | 2022-06-17 | 一种舞蹈动画合成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115035221A CN115035221A (zh) | 2022-09-09 |
CN115035221B true CN115035221B (zh) | 2024-06-21 |
Family
ID=83124487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210691472.0A Active CN115035221B (zh) | 2022-06-17 | 2022-06-17 | 一种舞蹈动画合成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115035221B (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100463819B1 (ko) * | 2002-07-18 | 2004-12-29 | 한국과학기술원 | 율동의 리듬분석방법, 연속성을 고려한 동작전이방법 및그를 이용한 비트분석 기반의 율동과 음악의 동기화방법 |
CN111104964B (zh) * | 2019-11-22 | 2023-10-17 | 北京永航科技有限公司 | 音乐与动作的匹配方法、设备及计算机存储介质 |
CN110992449B (zh) * | 2019-11-29 | 2023-04-18 | 网易(杭州)网络有限公司 | 舞蹈动作合成方法、装置、设备及存储介质 |
CN111179385B (zh) * | 2019-12-31 | 2021-04-02 | 网易(杭州)网络有限公司 | 一种舞蹈动画的处理方法及装置、电子设备、存储介质 |
CN111641861B (zh) * | 2020-05-27 | 2022-08-02 | 维沃移动通信有限公司 | 视频播放方法及电子设备 |
CN111773690B (zh) * | 2020-06-30 | 2021-11-09 | 完美世界(北京)软件科技发展有限公司 | 任务的处理方法和装置、存储介质、电子装置 |
CN114093021A (zh) * | 2020-08-06 | 2022-02-25 | 上海哔哩哔哩科技有限公司 | 舞蹈视频的动作提取方法、装置、计算机设备及存储介质 |
CN114053688A (zh) * | 2020-08-06 | 2022-02-18 | 上海哔哩哔哩科技有限公司 | 在线体感斗舞方法、装置、计算机设备及存储介质 |
CN112700521A (zh) * | 2021-01-26 | 2021-04-23 | 上海交通大学 | 音乐驱动的人体骨骼舞蹈动作生成系统 |
CN113158914B (zh) * | 2021-04-25 | 2022-01-18 | 胡勇 | 一种舞蹈动作姿态、节奏和表情的智能评估方法 |
CN113781609A (zh) * | 2021-08-26 | 2021-12-10 | 河南科技学院 | 一种基于音乐节奏的舞蹈动作实时生成系统 |
CN114419734A (zh) * | 2022-01-27 | 2022-04-29 | 广州艾美网络科技有限公司 | 舞蹈的音乐匹配方法、装置及娱乐设备 |
CN114582029B (zh) * | 2022-05-06 | 2022-08-02 | 山东大学 | 一种非专业舞蹈运动序列增强方法及系统 |
-
2022
- 2022-06-17 CN CN202210691472.0A patent/CN115035221B/zh active Active
Non-Patent Citations (2)
Title |
---|
动作与音乐的节奏特征匹配模型研究;常超;;赤峰学院学报(汉文哲学社会科学版);20160225(第02期);全文 * |
基于过渡帧插值的音乐驱动舞蹈动作合成;方丹芳;李学明;柳杨;李荣锋;;复旦学报(自然科学版);20180615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115035221A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Estimation of missing markers in human motion capture | |
Tautges et al. | Motion reconstruction using sparse accelerometer data | |
US11721114B2 (en) | Method, system, and device of generating a reduced-size volumetric dataset | |
Liu et al. | Realtime human motion control with a small number of inertial sensors | |
Ren et al. | Learning silhouette features for control of human motion | |
US6944315B1 (en) | Method and apparatus for performing scale-invariant gesture recognition | |
Liu et al. | A system for analyzing and indexing human-motion databases | |
US20120086855A1 (en) | Video content generation system, video content generation device, and storage media | |
Çeliktutan et al. | Graph-based analysis of physical exercise actions | |
Wang et al. | Computing the duration of motion transitions: an empirical approach | |
US20120058824A1 (en) | Scalable real-time motion recognition | |
CN111127598B (zh) | 动画播放速度的调整方法、装置、电子设备和介质 | |
JP7468871B2 (ja) | 3d位置取得方法及び装置 | |
Huang et al. | Human motion synthesis from 3d video | |
CN115035221B (zh) | 一种舞蹈动画合成方法、装置、设备及存储介质 | |
Achard et al. | A novel approach for recognition of human actions with semi-global features | |
So et al. | Entropy‐based motion extraction for motion capture animation | |
Pantrigo et al. | Combining particle filter and population-based metaheuristics for visual articulated motion tracking | |
CN114467113A (zh) | 运动识别方法、运动识别程序以及信息处理装置 | |
Kim et al. | Realtime performance animation using sparse 3D motion sensors | |
CN111353347A (zh) | 动作识别纠错方法、电子设备、存储介质 | |
CN111353345A (zh) | 提供训练反馈的方法、装置、系统、电子设备、存储介质 | |
Nakazawa et al. | Matching and blending human motions temporal scaleable dynamic programming | |
Ngan et al. | Similarity measure of human body movement through 3D chaincode | |
Eftakhar et al. | An effective directional motion database organization for human motion recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |