热词 | 动画 相位 变量 编码器 编码 角色 序列 动作 运动 数据 | ||
专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; |
专利有效性 | 实质审查 | 当前状态 | 实质审查 |
申请号 | CN202310312640.5 | 申请日 | 2023-03-28 |
公开(公告)号 | CN116342767A | 公开(公告)日 | 2023-06-27 |
申请人 | 复旦大学; | 申请人类型 | 学校 |
发明人 | 张洋瑞; 凌力; | 第一发明人 | 张洋瑞 |
权利人 | 复旦大学 | 权利人类型 | 学校 |
当前权利人 | 复旦大学 | 当前权利人类型 | 学校 |
省份 | 当前专利权人所在省份:上海市 | 城市 | 当前专利权人所在城市:上海市杨浦区 |
具体地址 | 当前专利权人所在详细地址:上海市杨浦区邯郸路220号 | 邮编 | 当前专利权人邮编:200433 |
主IPC国际分类 | G06T13/40 | 所有IPC国际分类 | G06T13/40 |
专利引用数量 | 0 | 专利被引用数量 | 0 |
专利权利要求数量 | 1 | 专利文献类型 | A |
专利代理机构 | 上海正旦专利代理有限公司 | 专利代理人 | 陆飞; 陆尤; |
摘要 | 本 发明 属于图形学技术领域,具体为一种基于 动作捕捉 数据隐变量傅里叶分析的 角 色动画自 编码器 。本发明的角色动画自编码器包括其结构包括编码器、 解码器 ,两者中还有一个特别设计的隐变量序列正弦重建层;即角色动画序列经编码器生成隐变量序列x(n),再经过隐变量序列正弦重建层重构,最后进入解码器进行解码。隐变量序列正弦重建层尝试用一个 正弦波 Acos(2πfn‑p)+b去近似x(n),幅值A和 相移 p能够描述运动的幅度和时机,构成运动的 相位 空间表示。用相位空间表示和角色动作捕捉数据一起训练一个动作合成网络,能够使得动作合成网络生成逼真的角色动画动作。 | ||
权利要求 | 1.一种基于动作捕捉数据隐变量傅里叶分析的角色动画自编码器,其特征在于,其结构包括:编码器、解码器,两者中还有一个特别设计的隐变量序列正弦重建层;即角色动画序列经编码器生成隐变量序列x(n),再经过隐变量序列正弦重建层进行重建,最后进入解码器进行解码;其中,隐变量序列正弦重建层的具体实现如下: |
||
说明书全文 | 基于动作捕捉数据隐变量傅里叶分析的角色动画自编码器技术领域[0001] 本发明属于图形学技术领域,具体涉及一种角色动画自编码器。 背景技术[0002] 动画数据通常以关键帧序列的方式进行表示,且序列的每帧将姿势参数化(比如关节的角度或位置)。这种表示其实是冗余的,合理的动作数据所形成的矢量空间只是上述空间的一个子空间。比如让关节以不可能的角度进行旋转,或者让相邻帧之间的姿势发生巨大变化,都是不合理的。寻找这种运动子空间,或者说运动流形(Motion Manifold),对许多应用都有所帮助。这种带有先验知识的分布可以帮助神经网络更好的生成动作,比如合理的内插(由于运动的非线性性,直接线性内插有时是不合理的)。也可以定义更合理的测地线距离,并以此在动作匹配时更精确地寻找到最近邻。 [0003] 目前,最常见的学习运动数据的技术是卷积自编码器,但是用它做运动生成,常常产生滑步甚至飘行的动作。这是因为神经网络注意到人体在前进时有时左脚向前,有时右脚向前,并决定将它们平均,输出两只脚一起向前的动画,这就是滑步与飘行的原因。为此,PFNN技术(Holden D,Komura T,Saito J.Phase‑functioned neural networks for character control[J].ACM Transactions on Graphics,2017,36(4CD):1‑13.)提出用相位这一概念以帮助神经网络学习到人体在行走过程中左、右脚交替前进的周期性。具体而言,初始时相位设为0,迈出的左脚刚好着地时相位为π,随后迈出的右脚着地时相位为2π。以此类推,人在行走时相位将在[0,2π]区间内不断循环。PFNN的不足之处在于,它只注意到了双脚运动中的周期性,没有考虑身体其他部分的运动特性。本发明用自编码器学习运动的高维相位表示,能够更准确地描述运动的时机。 发明内容[0004] 本发明的目的在于提供一种能够准确地描述运动的时机的角色动画自编码器。 [0005] 本发明提供的角色动画自编码器,是基于角色动画动作捕捉数据隐变量傅里叶分析技术的。在机器学习中,原始数据编码后的表示(即特征向量)称为隐变量,隐变量所在的空间称为隐空间。由于人体的运动存在周期性,所以其隐变量也应存在周期性,故能用正弦波对其进行近似。据此,本发明设计的角色动画自编码器,其结构包括:常规的编码器、解码器,两者中还有一个特别设计的隐变量序列正弦重建层;即角色动画序列经编码器生成隐变量序列x(n),不直接进入解码器,而是经过隐变量序列正弦重建层,然后进入解码器进行解码。其中,隐变量序列正弦重建层,具体内容如下: [0006] 假设角色动画数据的采样率为fs,共N帧,则每一个隐变量通道都编码出一个长度为N的隐变量序列;对于某个隐变量通道的序列x(n),采用一个正弦波去近似它,设正弦波为:Acos(2πfn‑p)+b,其中有四个参数需要确定:幅值A、平均频率f、相位p、直流偏置b;其中,幅值A按照能量守恒得出: [0007] [0008] 直流偏置b为: [0009] [0010] 为了计算平均频率和相位,对x(n)做傅里叶(FFT)变换,得到X(k),则得到对应的频谱能量: [0011] P(k)=|X(k)|2, (3) [0012] 由于频率分辨率为 所以P(k)代表频率为kΔf的分量所具有的频谱能量。 [0013] 按照能量加权来计算平均频率: [0014] [0015] 为了计算相位p,先计算隐变量序列x(n)与正弦序列、余弦序列的内积,求出在这两个基上的投影: [0016] [0017] [0018] 则相位可以表示为: [0019] [0020] 假设该编码器有c个隐变量通道,那么用c个正弦序列去近似c个原始隐变量序列,然后将其输入到解码器中。 [0021] 这种结构设计,促使该自编码器在训练过程中学习运动数据的周期特性。训练完成后,可以用它编码任意运动数据,包括得到该运动数据的c个通道对应的幅值A和相位p。 [0022] 下面定义一个2c维的相位空间表示: [0023] X2i‑1=Ai×cos(Pi),X2i=Ai×sin(pi), (7) [0024] 其中,i=1,...,c。 [0026] 图1为本发明中周期重建的自编码器结构。 [0027] 图2为上半部分为原始隐变量序列,下半部分为经过正弦重建后。 [0028] 图3为用相位表示辅助运动生成网络的训练,能得到更好的结果。 具体实施方式[0029] 下面通过具体实施例结合附图,进一步介绍本发明。 [0030] 实施例,用一段动作捕捉动画数据集训练一个隐变量通道数量为c=4的自编码81 器,动画数据共N帧,每帧包含角色所拥有的27块骨骼的位置,可以表示为x(n)∈R ,n= 1,...,N,迭代10轮后结束训练。用自编码器编码这一段动画数据,并得到每一帧动画的8维 81 相位空间表示。将每一帧用相位空间进行标注,则标注后的运动数据可以表示为y(n)∈R+8 ,n=1,...,N。用标注后的运动数据训练动作生成网络,所述动作生成网络采用MoE动作生成网络(Starke S,Zhao Y,Komura T,et al.Local Motion Phases for Learning Multi‑Contact Character Movements[J].ACM Transactions on Graphics,2020,39(4).),可以帮助生成网络对齐动画的进展时机,生成更富有节奏感的运动动作。图3是合成的一段跑步动画,可以看到身体起伏的节奏,并且没有脚步漂浮的现象。 |