APP下载

人机协作中融合骨骼耦合的人体动作轨迹预测*

2023-02-02陈鹏展李斯琛

传感器与微系统 2023年1期
关键词:关键点轨迹耦合

陈鹏展, 李斯琛, 李 芳

(华东交通大学 电气与自动化工程学院,江西 南昌 330013)

0 引 言

机器人和人协同合作,共同完成工作任务,这种新的工作模式有望填补手工装配线和全自动生产线之间的空白。高效安全的人机协作,需要机器人对人的动作能够实时并精准预测,发现和学习有区别的重复模式[1],及时快速的人体动作预测和准确地判断动作序列对于有效地避免碰撞至关重要,根据当前动作的初始部分序列,对后期的动作序列提前做出预测,从而可以做出自身运动规划,保证有效避免碰撞。

传统的动作预测依赖传感器等装置通过接触式识别获取信息,在这种方式下,实验操作者需要佩戴数据手套、穿戴动捕服、粘贴标识点,虽然能获取较高准确度,但给动作执行者带来了诸多不便,而且穿戴式传感器造价高昂,不宜应用于动作预测[2]。人的动作过程在时空范围内可以用一种复杂的动作序列表示,神经网络是一种被广泛应用于机器学习的一种算法,可以对这种复杂的动作序列进行非常复杂的非线性分类。卷积神经网络(convolutional neural network,CNN)拥有特有的参数共享机制,减少了参数数量和需要学习的自由变量个数从而节约计算成本[3],然而CNN在池化过程中容易使许多有用的信息丢失,会忽略掉整体与部分之间的关联,造成特征不匹配;CNN在时域数据上也无法建模,即当动作样本序列对时域变化存在依赖时,CNN无法被应用。循环神经网络(recurrent neural network,RNN)可以应用于对时间序列敏感的模型[4],但当时间序列较长时,RNN难以学习和保留长期的信息,在时间轴上易出现梯度消失或梯度爆炸等问题,不适合对有远距离依赖关系的场景建模[5]。

深度学习在多媒体数据识别模式中具有更强大的能力[6]。长短期记忆(long short-term memory,LSTM)算法在时间上具有记忆性,在空间上通过多层连接、权值共享的网络结构能够得到更加理想的数据分类效果,在语音识别[7]、动作识别[8]、入侵检测分类[9]等方向的应用有很好的效果。因为动作具有很强的时空关联性且序列长度大,故LSTM网络适合用于动作预测。人体骨骼具有耦合性质,因此复杂的人体具有一定的规律性与倾向性,动作序列的变换具有约束性,所有的数据都是在有约束的条件下产生。

本文针对融合人体骨骼具有耦合性的性质,在有约束条件下将人体动作序列作为输入送入LSTM网络训练,减少不合理数据的生成,加强动作预测模型的可行性与实用性,提高预测准确度。在测试中,输入新的人体动作序列,获取未来可能的动作序列。

1 约束条件建立

1.1 人体几何特征简化

将人体几何特征简化成骨架姿态,对判断人的状态和行为有很好的分类效果,可以降低因为依赖于人体几何形状的数据建模带来的困难。如图1(a)所示,本文研究利用OpenPose[10]提取的25个人体联系关键点并将其作为人体置信图。利用多视图二维关节三角化的方式可提取三维关节点,能够实时地获取人体关节的空间坐标,构成人体关节的空间轨迹,三维人体骨架姿态如图1(b)所示。

图1 OpenPose提取人体关键点和三维人体骨架姿态

将人体关节的空间坐标在T时段内的变化表示为多元时间序列,在装配工作中,人体肢体双臂为主要活动部位,即图1(b)中关键点1—7连线(4—3—2—1—5—6—7),此7个点的坐标变化可以反映人体双臂的运动情况,因此,将人体双臂7个关键点的坐标及变化作为主要研究对象。

1.2 基于人体骨骼耦合的约束条件

使用拉普拉斯评分(Laplacian scoring,LS)算法从位姿数据空间中实行降维过滤出鉴别特征向量。它的基本思想是2个特征之间的距离越近,它们被归为同一类的概率越高,解决了高维数据处理中耗时问题及运动数据的数据冗余造成关键数据性能降低的问题。

利用运动向量集构造一个K近邻图,然后通过评估第i个节点xi和第j个节点xj之间的相似性Sij计算运动矢量的评分,在K近邻图的定义中

(1)

式中t为一个常量。Sij体现了人体各关键点动作的局部拓扑结构特征。

fri为节点i的第r个动作特征,frj为节点j的第r个动作特征,fr=[Jr1,Jr2,…,Jrm]T为第r个特征在所有样本中的值所组成的向量,定义LS目标函数

(2)

式中 Var(fr)为第r个动作特征的估计方差,随机变量a的估计方差定义

(3)

式中M为数据流形,a为随机变量,μ为a的期望值,dP(a)为a的概率分布函数。通过最小化目标函数(2)表示姿态的运动值,将评分较低的Lr值作为人体动作特征判别向量。

1.3 约束条件的实现

f′r,r+29=[J′r,J′r+1,…,J′r+29]T

(4)

采用LS算法,利用式(2)从f′r,r+29获取各个运动向量的Lr值,从评分低的运动向量中获取具有判别性的运动特征向量fsub。根据最小二乘法的定义,fsub可以准确地表征每一帧中位姿的局部运动特征;再选取判别特征向量fsub曲线上的局部极值点作为一组候选关键帧fc,将原始输出层中得到的数据拥有极值的帧插入到fc中,形成关键帧f′c的初始集合。

采用动态聚类算法ISODATA算法[11]并结合动作极值点实行细化初始化f′c,用所有聚类的代表性的帧构造一组关键帧f*。最后得到的f*为通过该约束条件算法得到的输出。

2 LSTM网络

2.1 LSTM网络结构

LSTM网络结构如图2所示。

图2 LSTM网络结构

LSTM网络的训练方法是基于时间的反向传播(back propagation through time,BPTT)算法,主要由4个步骤组成:1)前向计算方法计算LSTM网络的输出值;2)反向计算每个LSTM单元的误差项,包括按时间和网络层级2个反向传播的方向;3)根据相应的误差项,计算各个权重的梯度;4)使用基于梯度下降(gradient descent)的优化算法更新权重。

2.2 基于LSTM网络的人体动作预测模型

本文对传统的原始LSTM网络进行了改进,在原始输出层后通过全连接方式增加了一个原始输出处理层,作用是融合人体骨骼具有耦合性的性质,以此作为约束条件应用在模型训练中,原始输出层数据在约束条件作用下进行变换,原始输出处理层通过式(1)~式(4)与ISODATA聚类算法将原始输出层中得到的初始结果经变换输出f*,再通过全连接输出层、SoftMax激活函数层、最终输出层后得到预测结果。网络结构如图3所示。

图3 网络模型结构示意

全连接层对来自原始输出处理层的数据执行线性变换,使其输出与网络的最终输出维度相等;通过一个SoftMax层,将全连接层的输出归一化并转换为每个可能的最终位置相对应的概率;最后,选择具有最大后验概率的关键点坐标作为预测结果。每个网络的输入分别通过OpenPose中提取到的7个人体上半身部位在0~30帧内的空间坐标,最终输出为预测的7个部位在未来15帧内可能的动作序列,由此表示为对人体可能的运动轨迹的预测。

3 实 验

3.1 实验布置

实验台布置如图4所示,机器人前实验台上摆放的工具是实验人员要对其做出抓取、传递或接收等动作的对象;机器人后方的双目摄像头对着实验人员,作为OpenPose简化人体肢体的工具;计算机控制系统采集双目摄像头中的肢体数据并将其转换为三维动作序列,训练阶段处理训练集,测试阶段处理测试集;实验人员在实验台前进入双目摄像头视线范围内,对实验台上的工具做出抓取、传递、接收等一系列动作,提供动作序列。

3.2 动作序列采集

基于该装配实验场景,人的肢体是主要运动部位,根据人体肢体关键点的坐标变化表示对人体动作的执行情况,机器人视角如图5所示,双目摄像头中的肢体数据传输给计算机控制系统。

在实验中,计算机控制系统对上半身7个关键点(1,2,3,4,5,6,7)数据进行提取并合成处理,将双目视觉中的二维像素点转换为三维空间点,再将三维空间点送入改进后的LSTM网络模型中训练,获取训练好的权重模型。多次重复这些动作,因为人的动作具有随机性,所以多次执行同一种动作(抓取、传递、接收等)的动作轨迹不会完全相同,送入模型的训练集更具代表性,模型的泛化能力可以随之增强。

图4 实验台布置 图5 实验场景中机器人视角

3.3 模型训练

在Ubuntu16.04 64位操作系统下,GTX TITAN XP GPU的台式机,使用Python3.5,参照第2节网络模型搭建LSTM网络。

训练样本是前30帧初始动作轨迹序列与后15帧动作轨迹的组合,组合形式为(f1,30,f31,45)。设置学习率、迭代步数等超参数,采用正交初始化对网络的权重和偏置参数随机初始化,将一组数据输入经网络权值矩阵W计算得到的网络输出J与本组数据标签J′做计算交叉熵(cross-entropy)作为误差函数,表达式如下

(5)

使用Adam算法作为梯度下降的优化算法,优化误差函数Loss对权值矩阵W的梯度,更新网络权重直至网络收敛。实验相关参数设置如表1所示。

表1 LSTM预测模型网络相关参数

当经过10 000次迭代训练后,误差函数在局部极小值附近振荡,模型基本收敛,将此时的模型保存用于预测测试。

3.4 测试实验结果与对比

在测试阶段,将采集到的实验人员对实验台上的工具做出抓取传递等动作数据作为测试数据并输入送入LSTM网络,根据当前的动作轨迹预测后期的动作轨迹。各网络预测模型对关键点,预测轨迹结果如图6所示。

在一次抓取实验测试中,以关键点7(左手)为例,实际轨迹与预测轨迹效果如图6(a)所示。实际动作轨迹(粗线)的提取与预测动作轨迹(细线)的拟合程度体现了该网络的预测效果与泛化能力。作为对比,基于模型训练实验中采集到的数据,将此数据分别训练未做改进的LSTM模型和改进后的RNN模型,未做改进的LSTM(LSTM—2)在训练中没有将骨骼耦合性质作为约束条件,无本文网络预测模型中的原始输出处理层,是无任何改进的传统LSTM网络;RNN的改进点同样在训练时将骨骼耦合性质作为约束条件。关键点7的实际轨迹与预测轨迹效果如图6(b)和(c)所示。

图6 各网络模型预测轨迹

准确率=

(6)

在对关键点7的研究实验中,融合了骨骼耦合性质的LSTM神经网络对其轨迹预测的准确率达到了83.79 %,比未融合骨骼耦合性质的LSTM神经网络(72.19 %)与RNN(44.85 %)要高,本文设计的预测模型效果更好。

各网络预测模型对7个关键点轨迹预测的准确率对比如图7所示,融合了骨骼耦合性质的LSTM神经网络(LSTM—1)预测模型对7个关键点轨迹预测的准确率均达到了80 %以上,优于未融合骨骼耦合性质的LSTM神经网络(LSTM—2),远超过RNN。

图7 不同网络预测模型对比实验结果

LSTM因为其特殊的门结构,所以LSTM模型的预测效果优于RNN,尤其当时间序列较长时,LSTM优势更加明显,当融合了骨骼耦合性质并将其作为约束条件时,LSTM预测效果得到了进一步提升。该对比实验证明,当融合了骨骼耦合性质的LSTM动作轨迹预测模型拥有更加准确的预测效果。

4 结束语

本文的创新点在于提出的动作预测模型融合了人体骨骼具有耦合性的性质,并将其性质作为动作预测模型训练的约束条件,该方法提升了动作预测的准确率。对比CNN,RNN及未改进的LSTM,CNN在时域上无法建模,RNN在长距离序列上建模表现差,未改进的LSTM会有部分不合理数据生成进而会影响到人机协作效率,本文所提出的动作预测模型效果更好,优势更明显,该模型不仅保留了LSTM自身已拥有的优势,并且其优越的性能扩大了LSTM的优势,输出的数据合理性更强,进一步提升了动作预测的准确性,使人机协作在安全高效的状态下执行有了更大的保障。

但本文所提出的基于骨骼耦合性质的约束条件也有局限性。1)OpenPose在人体出现遮挡时容易出现漏识别,在多人聚集或有接触时容易出现误识别,此时的关键帧提取也会不合理,鲁棒性差,优化效果不强;2)ISODATA聚类算法和基于Laplacian评分的特征选择不能保证关键帧提取的最优性,当动作出现较剧烈的变化时,有很大概率会出现数据冗余造成准确率低下,此时得到的数据耦合性不强、结果不紧凑。因此,本文所提出的方法适用于在遮挡少、实验人员少的简单环境中,后期将重点研究对复杂以及在多人环境下的建模。

猜你喜欢

关键点轨迹耦合
非Lipschitz条件下超前带跳倒向耦合随机微分方程的Wong-Zakai逼近
聚焦金属关键点
肉兔育肥抓好七个关键点
轨迹
轨迹
基于磁耦合的高效水下非接触式通信方法研究
轨迹
进化的轨迹(一)——进化,无尽的适应
多星座GNSS/INS 紧耦合方法
基于CFD/CSD耦合的叶轮机叶片失速颤振计算