首页 / 专利库 / 电脑编程 / 算法 / 自学习算法 / 基于对抗学习的循环神经网络用于人体运动预测方法

基于对抗学习的循环神经网络用于人体运动预测方法

阅读:636发布:2020-05-11

专利汇可以提供基于对抗学习的循环神经网络用于人体运动预测方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于对抗学习的循环神经网络用于人体运动预测方法。主要步骤包括:首先进行数据预处理,将数据转换为四元数空间中的欧拉 角 来训练网络模型。然后构建GRU循环神经网络模型,在模型中我们采用基于对抗学习的训练 算法 和四元数约束损失函数来提升模型的预测 精度 ,改善长时间预测序列产生的僵死现象。经过测试本方法能够预测长时间运动趋势而预测姿势不会产生僵死问题,预测运动误差相较于其他方法误差值更低,预测运动趋势更加准确。,下面是基于对抗学习的循环神经网络用于人体运动预测方法专利的具体信息内容。

1.一种基于对抗学习的循环神经网络用于人体运动预测的方法,包括训练模型与测试模型的步骤,其特征在于:所述训练模型步骤包括:
S1:输入人体运动库中的运动数据,并对所述运动数据进行预处理,将三维轴表示的运动数据转换为四元数空间中的四维欧拉角表示,得到可以用来训练网络的数据;
S2:通过GRU单元建立循环神经网络模型,将所述预处理过后的运动数据输入网络中进行训练,训练网络学习运动数据间前后的时空关系;
S3:在建立的网络中构建基于对抗学习的训练算法,并调整对抗学习损失函数中的系数,使得网络的预测运动序列与真实预测运动序列欧拉角之间的欧几里得距离最小,并以此参数训练网络模型;
S4:在网络中应用四元数约束损失函数;
S5:将测试集中运动数据序列的前50数据输入到训练好的模型中,预测运动序列后1秒即第25帧的运动趋势,对比预测运动序列与真实预测运动序列欧拉角之间的欧几里得距离,以此来测试模型的预测性能。
2.根据权利要求1所述的基于对抗学习的循环神经网络用于人体运动预测的方法,其特征在于,在所述步骤S2中,采用以下步骤得到循环神经网络模型:
对输入的运动数据输入GRU网络进行训练,GRU单元如(1)式所示:
zt=σ(Wz·[ht-1,xt])
rt=σ(Wr·[ht-1,xt])
其中,σ表示sigmoid激活函数,tanh表示tanh激活函数,W表示权重参数,(·)表示点乘,(*)表示矩阵乘法。
3.根据权利要求1所述的基于对抗学习的循环神经网络用于人体运动预测的方法,其特征在于,所述步骤S3中所述的基于基于对抗学习的训练算法:
对抗学习的训练算法如(2)式所示:
l1=αltruth+βlcondition(2)
其中,αβ均表示对抗性损失函数的系数,ltruth表示训练时观测帧与预测帧的输入序列全部为真实运动序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差,lcondition表示训练时预测帧的每一帧的输入序列都来自于上一帧的输出序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差;
通过式(3)求预测运动序列与真实预测运动序列的最小绝对值误差LAE,调整网络参数:
其中, 与xi分别表示第i帧预测运动序列和第i帧真实预测运动序列,n为输出运动序列的总帧数。
4.根据权利要求1所述的基于对抗学习的循环神经网络用于人体运动预测的方法,其特征在于,所述步骤S4中所述的四元数损失函数如(4)式所示:
l2=γ(w2+x2+y2+z2-1)  (4)
其中,γ表示四元数损失函数的系数,w,x,y,z分别表示四元数表示法中四个维度的数值;
网络总的损失函数如式(5)所示:
λ=λ1+λ2(5)。
5.根据权利要求1所述的基于对抗学习的循环神经网络用于人体运动预测的方法,其特征在于,所述步骤S5中对比预测运动序列与真实预测运动序列之间的欧几里得距离公式如下:
其中,(xt,yt,zt)与 分别表示t时刻预测运动序列与真实预测运动序列的欧拉角表示,Dt为t时刻预测运动序列与真实预测运动序列之间的欧几里得距离之差。

说明书全文

基于对抗学习的循环神经网络用于人体运动预测方法

技术领域

[0001] 本发明属于计算机图形学人机交互领域,尤其涉及一种基于对抗学习的循环神经网络用于人体运动预测的方法。

背景技术

[0002] 近年来,由于人机交互机器人和自动驾驶领域的快速发展,对于人类未来的运动趋势进行预测越来越受到人们的关注。正确地预测人类在未来的活动能够帮助机器人判断人类的意图,对人类的活动进行辅助与回应,这对于人机交互领域的发展十分有价值。在自动驾驶领域,正确判断行人的意图,在危险发生之前采取必要的紧急措施能够有效地避免交通事故的发生。
[0003] 由于人类未来运动的不确定性与动学特征复杂的原因,对于人体运动进行建模预测目前仍然是一个巨大的挑战。神经网络技术的出现解决了以上的困难,神经网络的特性更加适合对海量的运动数据进行学习,抽象学习海量数据的一般特征。人体运动由于其高维度和随机性大的特点,其建模依赖于运动捕捉数据的支持。因此,预测人体运动序列的任务可以分为两类,分别为传统数学建模的方法和神经网络的方法。
[0004] 这两种方法都能够构建人体运动行为,但是传统数学建模的方法较为复杂,计算成本较大,不适合应用于大型数据集上。而采用循环神经网络建模的方法预测长时间序列时产生的误差累积使得预测的序列易,运动预测的结果变的不可靠。因此长时间运动预测仍然是运动预测中最大的挑战之一。

发明内容

[0005] 根据上述提出的技术问题,而提供一种基于对抗学习的循环神经网络用于人体运动预测方法。本发明主要利用一种基于对抗学习的循环神经网络用于人体运动预测的方法,包括训练模型与测试模型的步骤,其特征在于:所述训练模型步骤包括:
[0006] S1:输入人体运动库中的运动数据,并对所述运动数据进行预处理,将三维轴表示的运动数据转换为四元数空间中的四维欧拉角表示,得到可以用来训练网络的数据;
[0007] S2:通过GRU单元建立循环神经网络模型,将所述预处理过后的运动数据输入网络中进行训练,训练网络学习运动数据间前后的时空关系;
[0008] S3:在建立的网络中构建基于对抗学习的训练算法,并调整对抗学习损失函数中的系数,使得网络的预测运动序列与真实预测运动序列欧拉角之间的欧几里得距离最小,并以此参数训练网络模型;
[0009] S4:在网络中应用四元数约束损失函数;
[0010] S5:将测试集中运动数据序列的前50数据输入到训练好的模型中,预测运动序列后1秒即第25帧的运动趋势,对比预测运动序列与真实预测运动序列欧拉角之间的欧几里得距离,以此来测试模型的预测性能。
[0011] 进一步地,在所述步骤S2中,采用以下步骤得到循环神经网络模型:对输入的运动数据输入GRU网络进行训练,GRU单元如(1)式所示:
[0012] zt=σ(Wz·[ht-1,xt])
[0013] rt=σ(Wr·[ht-1,xt])
[0014]
[0015]
[0016] 其中,σ表示sigmoid激活函数,tanh表示tanh激活函数,W表示权重参数,(·)表示点乘,(*)表示矩阵乘法。
[0017] 更进一步地,所述步骤S3中所述的基于基于对抗学习的训练算法:
[0018] 对抗学习的训练算法如(2)式所示:
[0019] l1=αltruth+βlcondition  (2)
[0020] 其中,α β均表示对抗性损失函数的系数,ltruth表示训练时观测帧与预测帧的输入序列全部为真实运动序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差,lcondition表示训练时预测帧的每一帧的输入序列都来自于上一帧的输出序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差;
[0021] 通过式(3)求预测运动序列与真实预测运动序列的最小绝对值误差LAE,调整网络参数:
[0022] 其中, 与xi分别表示第i帧预测运动序列和第i帧真实预测运动序列,n为输出运动序列的总帧数。
[0023] 进一步地,所述步骤S4中所述的四元数损失函数如(4)式所示:
[0024] l2=γ(w2+x2+y2+z2-1)  (4)
[0025] 其中,γ表示四元数损失函数的系数,w,x,y,z分别表示四元数表示法中四个维度的数值;
[0026] 网络总的损失函数如式(5)所示:
[0027] λ=λ1+λ2  (5)。
[0028] 更进一步地,所述步骤S5中对比预测运动序列与真实预测运动序列之间的欧几里得距离公式如下:
[0029]
[0030] 其中,(xt,yt,zt)与 分别表示t时刻预测运动序列与真实预测运动序列的欧拉角表示,Dt为t时刻预测运动序列与真实预测运动序列之间的欧几里得距离之差。
[0031] 较现有技术相比,本发明具有以下优点:
[0032] 1)本发明能够预测长时间运动趋势而预测姿势不会产生僵死问题。
[0033] 2)本发明预测运动误差相较于其他方法误差值更低,预测运动趋势更加准确。
[0034] 3)本发明可以有效抑制长时间运动预测误差累积,提升了运动预测网络的鲁棒性。附图说明
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明中基于对抗学习的循环神经网络用于人体运动预测方法的整体框架图。
[0037] 图2为本发明中采用对抗学习的训练算法训练网络的过程。
[0038] 图3为本发明与其他4种经典方法预测误差对比折线图。
[0039] 图4为本发明与其他方法生成运动序列的示意图,上图红色为采用本方法生成走路的运动,下图蓝红色的为采用Pavllo的方法生成走路的运动。
[0040] 图5(a)-(d)为本发明与其他两种方法的预测运动序列结果与真实预测运动序列结果对比图。(a)为walking(b)为eating(c)为posing(d)为direction。
[0041] 图6(a)-(d)为本发明与其他四种方法在4个动作集上的平均误差比较示意图。
[0042] 图7为本发明中基于对抗学习的训练算法中损失函数系数的确定。

具体实施方式

[0043] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0044] 需要说明的是,本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0045] 如图1-7所示,为本发明
[0046] S1:输入运动数据的预处理。将运动数据的轴角表示方法转换为四元数空间中的欧拉角表示方法,然后修复数据表示中的不连续部分,得到可以用来训练网络的数据。
[0047] S2:本方法在pytorch平台下采用有1000个隐藏单元的2层GRU建立模型,网络的输入数据经过参数化之后,GRU循环神经网络编码学习每一帧的输入数据之间的时空关系,然后线性层对输出的运动数据进行线性变换,转换为与输入数据具有相同维度的表示,正则化层对输出前的数据进行标准化,能够加速训练过程的收敛速度。标准化过程可以表示为:
[0048]
[0049] 其中,d为每帧骨架数据的维度,在本方法中设置为128。
[0050] S3:在建立的网络中构建基于对抗学习的训练算法。本文所采用的对抗性训练方法在训练网络时有两个输入,一个输入使用完整的序列 另一个输入为观测序列的最后一帧xk,后面序列的输入值来自于前一步网络单元的输出值。其中 为训练数据中的观测序列, 为训练数据中的真实预测序列。算法结构图如图2所示。
[0051] 对抗学习的训练算法如(2)式所示:
[0052] λ1=αλtruth+βλcondition  (2)
[0053] 其中,α,β表示对抗性损失函数前面的系数,λtruth表示训练时观测帧与预测帧的输入序列全部为真实运动序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差,λcondition表示训练时预测帧的每一帧的输入序列都来自于上一帧的输出序列时,网络的预测运动序列与真实预测运动序列的最小绝对值误差。
[0054] 其中,本方法中损失函数λ1的系数α,β通过试验来确定。试验将两个系数的值设定为不同的值,然后对比模型在测试集上的平均欧几里得距离误差。试验发现,将α,β的值设定为1时,网络的平均误差为最小,故本方法中对抗性损失函数的系数设置为α=1,β=1。
[0055] S4:此外,四元数q(w,x,y,z)进行数学运算时,必须满足四元数的约束条件,即w2+2 2 2
x+y+z=1故在关节旋转度归一化之前,增加了四元数约束损失函数
[0056] λ2=γ(w2+x2+y2+z2-1)  (3)
[0057] 对四元数空间不满足约束的参数化骨架进行惩罚,使网络更好地收敛。本方法中γ值设置为0.01。
[0058] 所以,网络总的损失函数为:
[0059] λ=λ1+λ2  (4)
[0060] S5:模型训练好之后,将测试集中运动数据序列的前50帧数据输入到训练好的模型中,预测运动序列后1秒(25帧)的运动趋势,对比预测运动序列与真实预测运动序列欧拉角之间的欧几里得距离,以此来测试模型的预测性能。欧拉角之间欧几里得距离公式如下所示:
[0061]
[0062] 其中,(xt,yt,zt)与 分别表示t时刻预测运动序列与真实预测运动序列的欧拉角表示,Dt为t时刻预测运动序列与真实预测运动序列之间的欧几里得距离之差。
[0063] 以下结合附图和具体实施方式对本发明作进一步说明。
[0064] 本发明对于人体运动预测的效果可以通过以下实验进一步具体说明:
[0065] 实验条件:
[0066] 1)实验所用的运动数据集由Human3.6M大型人体运动捕捉数据集构成。
[0067] 2)实验中的训练数据集是Human3.6M中S1,S6,S7,S8,S9和S11数据集,测试数据集为S5数据集,其中每个数据集中有15种人类日常行为的运动序列,包括“walking”、“eating”、“smoking”、“discussion”、“directions”、“greeting”、“phoning”、“posing”、“purchases”、“sitting”、“sittingdown”、“takingphoto”、“waiting”、“walkingdog”和“walkingtogether”。每种行为有2组序列;
[0068] 3)实验中使用的编程平台为python3.6,深度学习框架为pytorch;
[0069] 4)实验所用的服务器配置为Quadro K6000显卡,内存是12G,处理器型号为Intel(R)Xeon(R)CPU E5-2620 v3@2.40H、64.0GB RAM、操作系统为64位Windows8;
[0070] 5)实验中采用欧几里得距离公式客观评价指标对实验结果进行评价;
[0071] 6)实验中损失函数的系数设置是通过多次实验选择15类动作的平均欧几里得误差为最小进行确定。
[0072] 实验内容:
[0073] 在相同的条件下,四种经典的人体运动预测方法被提供与本发明的方法进行比较。这四种方法包括:Pavllo[1]等人的四元数建模人体运动方法QuaterNet,Martinez[2]等人的改进的基于采样的损失算法Res-GRU和免于训练网络的方法Zero-velocity、Xiao[3]等人提出的运动局部特征与时空变化特征结合的方法SkelNet。
[0074] 实验首先比较了本方法(Ours)和其他四种方法在Human3.6M数据集上15类动作的平均欧几里得距离误差,结果如表1所示。
[0075] 表1欧拉角表示的平均欧几里得距离误差对比
[0076]
[0077] 表2Human3.6M数据集上4类动作,分别为“eating”、“directions”、“posing”和“sitting down”。通过平均欧几里得距离误差度量
[0078]
[0079]
[0080]
[0081]
[0082] 实验结果分析:
[0083] 为了更加清晰的对比每种方法的误差效果,我们对实验中欧几里得误差最小的前两名进行了标记,黑体加粗的数值为预测运动中欧几里得误差最小的方法,带有下划线的数值次之。
[0084] 从表1的数值可以看出,在80ms和160ms,本方法为5种方法中的次优值。但是随着时间的增长直到1000ms,其他的方法由于无法抑制随着预测时间的增长而积累的误差值,在预测时间增长的同时,预测误差也随之增长从而导致预测精度下降,产生不切实际的预测结果。但本文所采用的方法由于采用了对抗性损失的训练方法,随时间积累的误差值较小,在长时间的预测上仍然能够产生合理平滑的预测结果,为5种方法中的最优方法。
[0085] 从表2的数值可以看出,本方法在4种不同的运动类型数据集上预测效果为最优值或者为次优值,说明本方法能够有效的抑制循环神经网络在长时间运动预测误差,提升预测运动的精度。
[0086] 参考文献
[0087] [1]Dario Pavllo,David Grangier,Michael Auli,QuaterNet:A Quaternion-based Recurrent Model for Human Motion,British Machine Vision Conference(BMVC),2018:299.
[0088] [2]Julieta Martinez,Michael J.Black,and Javier Romero,On human motion prediction using recurrent neural networks,IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2017:4674-4683.
[0089] [3]Xiao Guo,Jongmoo Choi,Human Motion Prediction via Learning Local Structure Representations and Temporal Dependencies,national conference on artificial intelligence,2019.
[0090] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0091] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0092] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈