APP下载

基于骨骼关节点和物体属性的动作指令学习方法

2023-08-10钟经谋陈俊洪黄可思刘文印

计算机应用与软件 2023年7期
关键词:关节点手部骨架

钟经谋 陈俊洪 黄可思 刘文印

(广东工业大学计算机学院 广东 广州 510006)

0 引 言

近年来,机器人在各行各业的应用变得越来越广泛,例如制造业、医疗服务、家庭服务等,然而现有的机器人工作模式大多为预编程模型,无法自主学习操作。对此近年来人们提出从视频中学习动作指令的学习方法,该方法不仅可以免除人工编程时间,而且能够抑制外界环境的干扰。其中视频学习的关键是对视频中演示者动作的准确识别,动作识别的准确率影响物体分类的准确率。因而动作的准确性和时效性将直接影响机器人的技能学习的效果。

为了达到准确高效的学习效果,人们提出许多视频动作识别方法,例如,Feichtenhofer等[1]提出结合时间和空间特征的双流卷积网络,通过在相同像素位置融合空域卷积网络和时域卷积网络,提高动作识别的准确率。Wang等[2]通过在双流卷积网络的基础上改进卷积神经网络的形式和以更小的学习速率、更高Dropout系数进行训练,提高动作的识别率。然而,由于视频环境变化、人体外貌改变等不确定因素,基于图像视频的动作识别具有一定的局限性。为了解决该问题,人们开始通过对人体骨骼节点运动进行分析,Yan等[3]首次提出运用时空图卷积网络在人体骨架上进行卷积,它有效地提取了人体骨架序列运动的时空特征,进而识别出动作。Tang等[4]提出利用强化学习对动作进行识别,该方法通过分析人体骨架的运动信息提取骨架序列中信息量最多的视频帧,并丢弃不明确的帧,最终利用挑选的视频帧进行动作识别,提高了识别效果。虽然这些方法都可以有效地捕捉到人体的操作动作,但是对于一些细微的操作动作,例如切、倒、搅拌等动作却难以进行识别。

针对该问题,本文提出一种基于人体骨架、手部骨架和物体属性的动作技能学习方法,该方法包含两个模块。第一个模块是动作识别模块,该模块首先使用OpenPose算法识别RGB视频中每一帧的人体骨架和手部骨架,然后我们基于人体骨架和手部骨架构建自然连接拓扑图,当骨架链接拓扑图构建完毕后,我们使用时空图卷积网络提取人体骨架和手部骨架序列的时空特征,并根据时空特征识别出演示视频中演示者的操作动作类别。第二个操作模块是操作物体识别模块,通过使用Mask R-CNN找出所有物体的位置并提取相应特征,再将物体特征与第一个模块所提取的动作特征进行融合,最后输入到两个LightGBM分类器将物体分为主体物体和受体物体。当得到动作、主体物体和受体物体后,我们将其进行组合用于表示视频的语义。

本文的主要贡献包括:

(1) 提出一种基于人体骨架和手部骨架序列的动作识别方法,通过构建人体和手部自然连接拓扑图,使用时空图卷积网络识别操作动作,提高了细微操作动作的识别率。

(2) 提出将基于人体骨架和手部骨架所提取到的动作特征与物体属性相结合,进一步细分物体的操作角色,并提高了物体角色的识别准确率。

(3) 通过在MPII烹饪活动数据集2.0上进行实验,我们有效地将视频转换成指令三元组。

1 相关研究

1.1 动作识别

对于机器人技能学习来说,动作的正确识别是机器人学习到技能的前提。动作识别的研究大致可以分为两类。第一类是基于RGB视频的动作识别,例如,Simonyan等[5]提出双流卷积网络提取视频的时空特征进行动作分类,Tran等[6]提出在视频动作识别中使用三维神经网络代替二维的神经网络,以捕获视频中更多的时空信息,Wang等[7]提出Temporal Segment Network(TSN),通过稀疏时间采样,降低长视频识别的计算量。第二类是基于人体骨架序列的动作识别,然而由于早期基于RGB视频的姿态估计算法对背景嘈杂、光照变化和外观变化等因素无法较好地适应,导致其识别效果并不是很好,但随着微软Kinect[8]深度传感器的出现和改进,以及姿势估计算法[9]的不断优化,对光照变化和场景变化具有鲁棒性的人体骨架被广泛地应用于动作识别。Yan等[3]提出时空图卷积网络,该网络从视频中提取骨架序列的时空特征并进行动作分类。Li等[10]提出动作-结构图卷积,通过A-link推理模块和自监督算法捕获更丰富的关节信息和动作信息。该算法虽然可以很好地预测人的运动,但由于只包含人体骨架特征,缺少手部骨架特征,导致其对于细微的操作却取得不好的效果。为了解决该问题,在本文中,我们保留了时空图卷积网络,并在此基础上扩展人体和手部的无向时空图,将人体骨架和手部骨架特征用于动作识别。我们更改了时空图卷积网络的大小和配置,并将其重新训练到新的骨架序列数据集上,从而获得了动作识别的高准确率。

1.2 语义表示

为了更好的人机交互,完整的视频语义是必不可少的。关于演示视频的语义表示的研究大致可以分为两类。第一类是基于语义上下文无关的语法规则组合,通过建立语法规则组合出复杂的动作。例如,Summers-stay等[11]提出树结构语法规则,通过结合手、工具、物体等对演示者的操作过程进行描述。Yang等[12]提出操作上下文无关语法,该语法分别定义了动作和物体以及手与物体的关系,最后通过语法规则进行链接。第二类是基于语言学的描述,利用语言学表达视频的语义。例如Yang等[13]提出使用GNet和CNet两个分支网络分别处理抓取方案和视频描述,该方法能产生准确的命令和强大的抓取性能。Nguyen等[14]提出了<手-动作-物体>的结构语义语法,该方法为端到端的学习方法,将演示视频输入即可得到指令。然而以上方法没有解决多物体操作时的操作方式,对此,我们使用(动作(主体物体,受体物体))的指令三元组对操作过程进行表达,该方式可以解决机器人使用道具的难题,完整地保存了演示者的操作语义。

2 动作指令学习方法

本文方法如图1所示。本文方法分别使用基于人体骨架以及手部骨架的时空图卷积网络进行视频动作识别和Mask RCNN识别物体,然后使用两个LightGBM分类器将物体分类,最后使用动作三元组表达学习的技能。

图1 本文方法框架

2.1 基于人体骨架及手部骨架的动作识别

人体骨架通常以二维或三维人体关节点坐标表示,连续的人体关节点移动可以有效地表达人类的运动。不同于日常的人类运动,人类的操作往往包含有更多手部的细节。为了更好地识别人类的操作,我们提出将手部关节点加入人体骨架序列中进行分析。具体来说,我们首先使用OpenPose算法识别演示视频中的人体关节点和手部关节点,在获得N个身体关节点和M个手部关节点后,我们在T帧骨架序列上构造一个无向时空图G=(V,E)。其中,V表示点集合,它包含每一帧人体骨架和手部骨架的所有关节点,其表示如下:

V={vti|t=1,2,…,T,i=1,2,…,N+M}

(1)

式中:vti表示视频中第t帧第i个关节点,并且我们使用特征向量F(vti)表示第t帧第i个关节点的二维坐标向量和估计置信度。E表示边集合,它由两个子集组成,其中第一个子集描述了每帧的身体关节点连接和手部关节点连接,其表示为:

Es={vtivtj|(i,j)∈H}

(2)

式中:H是自然连接的人类骨架和手部骨架关节点集合。第二个子集描述连续帧间相同关节点的连接,其表示为:

Ef={vtiv(t+1)i}

(3)

其中第二个子集中的所有边代表骨架序列随时间的轨迹。本文使用25个关节点表示身体骨架,使用42个关节点表示手部骨架,其可视化效果如图2所示。

图2 无向时空图

在构造无向时空图后,我们使用时空图卷积网络提取人类操作的时空特征。在空间图上,我们对每个节点进行采样,选择每个节点连接范围为一的相邻域集作为采样函数,并使用空间配置分区策略实现标签映射,空间配置分区如图3所示。人体各部分的运动大致可以划分为向心运动和离心运动,因此,对于每个节点的相邻集,根据与人体重心的距离将其划分成三个子集:1) 根节点本身;2) 比根节点更靠近人体重心的相邻节点;3) 比根节点更远离人体重心的相邻节点。具体的标签映射表示如下:

图3 空间配置分区

式中:lti(vtj)是单帧中节点vtj在节点vti的标签图;rj是节点vtj到人体重心的距离;ri是节点vti到人体重心的距离。在时域方面,扩展节点vti领域集如下:

B(vti)={vqj|d(vtj,vti)≤1,|q-t|≤Γ/2}

(5)

式中:d(vtj,vti)表示节点vti与节点vtj的距离;Γ控制时域采样范围;q为采样时域。对于扩展的邻域集,其标签映射表示如下:

式中:lST(vqj)是节点vqj在采样函数B(vti)的标签映射。在给定时空图的采样函数和标签映射后,时空图卷积表示如下:

式中:j是分区策略的各个子集;Λ=A+I,A是人体骨架和手部骨架的邻接矩阵,即人体骨架和手部骨架自然连接的拓扑结构,I是单位矩阵;fin为T帧人体骨架和手部骨架的关节点坐标序列;Wj为可学习参数。

图4展示了视频动作模块网络框架。在该模块中,我们将骨架序列输入到批处理归一化层进行数据规范处理,然后使用时空图卷积网络进行人类操作的时空特征提取。时空图卷积网络由六层时空图卷积组成,前面三层网络输出64个通道,后面三层网络输出128个通道。经过时空图卷积后,输入的特征图和输出的特征图大小一致。该网络一共有6个时间卷积核大小,在每个时空图卷积使用残差连接。将第4层时间卷积层的步伐设置为2作为池化层,之后,对每个骨架序列输出的128个通道特征进行全局池化成128维的向量。最后,我们将该向量放入SoftMax分类器。该模型采用随机梯度下降学习,学习率为0.1,在50个Epoch后,下降为0.01,在150个Epoch后下降为0.001。由于MPII烹饪活动数据集2.0中视频长短差异大,我们将骨架序列划分为长度为T帧的片段,在实验中,T设置为300。在训练时空图卷积时,对划分的骨架序列给定相同的动作标签,在测试时,将划分的骨架序列的平均预测值作为动作预测的标准。

图4 时空图卷积网络框架

2.2 操作物体识别

表达完整的视频语义,不仅需要准确地识别动作,而且还要识别演示者操作的物体。为了更加精确地识别演示者所操作的物体和排除远离演示者物体信息的干扰,我们使用在COCO数据集[15]上经过预训练的Mask R-CNN[16]获取演示者的边框,并设计一个比该边框高1.4倍的感兴趣区域(ROI)边框,效果如图5所示。在得到包含操作者的ROI框后,我们使用在COCO数据集上进行预训练的,并在MPII Cooking Activities 2.0[17]中进行微调的Mask R-CNN作为物体识别网络。其中Mask R-CNN为两阶段网络模型,第一阶段使用Region Pro-posal Network(RPN)生成物体候选边框,第二阶段对这些候选边框进行分类、定位,并找出掩模。

图5 ROI边框例子

在本文中,我们使用Mask R-CNN识别的物体的出现次数、平均置信度和平均位置作为物体特征,并将动作识别模块所得到的动作特征与其进行拼接,最终分别输入两个LightGBM[18]分类器对主体物体和受体物体进行分类。为了更好地表达视频的语义,我们使用动作三元组表示演示的操作,动作三元组的表示形式如下:

动作(主体物体,受体物体)

(8)

通过该动作三元组,机器人可以有效地区分出操作物体的逻辑,准确执行从视频中所学习到的动作指令,并完成相应的模仿。

3 实验结果与分析

在这一部分,我们首先将介绍所使用的数据集,然后分别评估动作识别、操作物体分类的性能,最后展示所学习得到的动作指令效果。

3.1 数据集

我们选择MPII Cooking Activities 2.0作为我们提出框架的数据集,该数据集在273个视频中记录了三十多种菜谱,总时长达到27 h。在本文中,我们挑选了7个动作和48种常见的物体进行研究,类别如表1所示。

表1 动作和物体类别

在本文中,由于只考虑单指令任务,因此首先把视频分割成视频段,并选择3 168个视频段作为实验的数据集,各个动作的视频段的个数如表2所示。我们随机选择2 852(90%)个视频段来训练时空图卷积网络,剩下的316(10%)个视频段作为本文提出的框架的性能评估。对于物体识别模块,从训练集中随机选取3 000帧进行人工标注,并将其用于Mask R-CNN微调。

表2 挑选的数据集统计

3.2 动作识别的性能

如表3所示,与基于RGB视频的动作识别方法相比,例如CNN3D[19]、LSTM[20]和Two-Stream[5],本文所提出来的基于人体骨架的动作识别方法(ST-GCN)在精确度、准确率、召回率、F1值等表现得最好,这表明视频的背景噪声、光照变化、外观变化对人体骨架的影响小。同时,增加手部骨架的时空图卷积比仅有人体骨架的时空图卷积网络在准确率上高出5.37百分点,在精度、召回率、F1-score上表现更是高出7百分点至10百分点,这表明手部骨架信息对细微的操作动作识别具有一定的指导作用。在图6中,我们使用混淆矩阵来显示基于人体骨架和手部骨架动作识别方法的性能。

表3 动作识别效果对比(%)

图6 混淆矩阵

3.3 物体分类的性能

由于物体分类包含主体物体和受体物体两个部分,因此我们对这两个部分的性能分别进行评估。为了体现物体分类的性能,我们使用了决策树、随机森林、Gradient Boosting、XGBoost[21]和LightGBM方法进行对比,分类性能如表4所示。可以看出,LightGBM取得了最优的性能,正确识别主体对象和受体对象的准确率达到了78.07%。我们选择最优的物体分类方法,在该方法上我们测试了不同动作识别方法识别出来的动作对物体分类的影响。从表5中可以看出,随着动作预测准确率的提高,物体分类的总准确率也在提高。除此之外,我们还分析了物体出现次数、物体平均置信度、物体平均位置和动作对物体分类的影响。从图7可以看出,无论是主体物体分类还是受体物体分类,动作特征都具有重要的影响,这有效地验证了动作识别准确率影响物体分类准确率,进一步影响动作指令学习的准确率。

表4 物体分类效果对比(%)

表5 不同动作模型在物体分类上的表现(%)

图7 不同特征的重要性

3.4 动作指令三元组的效果

在识别动作、主体物体和受体物体后,我们使用指令三元组来表示演示视频操作的语义,其中本文所提出的框架准确率达到78.07%。表6展示了一些从视频学习三元组的实例,其中不正确的指令由加粗字体标出。错误指令的产生可能是因为物体类别的错误识别,也可能是动作的错误识别,而动作的错误识别往往也导致主体物体和受体物体的错误分类。

表6 动作指令实例

4 结 语

在本文中,我们提出一个机器人技能学习框架,它使机器人可以从真实环境中的演示视频中自动学习操作技能。该框架采用时空图卷积网络和Mask-RCNN分别识别演示视频中的操作动作和物体,然后将动作特征和对象特征的融合并应用两个LightGBM分类器将物体分为主体物体和受体物体。之后,该框架使用动作指令三元组表示演示视频的语义。实验结果表明,我们的框架能够很好地识别演示视频的操作动作和物体,并有效地将演示视频转化为动作指令三元组。

在未来的工作中,我们将在以下方面扩展我们的框架:(1) 改进骨架序列无向时空图,发掘人体关节点和手部关节点之间的潜在联系,更好地提取演示者的操作特征;(2) 进一步扩大适用场景的范围,例如工业操作等。

猜你喜欢

关节点手部骨架
手部皮肤软组织缺损修复的皮瓣选择
浅谈管状骨架喷涂方法
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
搞好新形势下军营美术活动需把握的关节点
RGBD人体行为识别中的自适应特征选择方法
两种皮瓣修复手部软组织缺损的比较
发生于手部的硬下疳一例
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用