RNN循环神经网络的服务机器人交互手势辨识
2024-04-27郑奕捷李翠玉郑祖芳
郑奕捷,李翠玉,郑祖芳
(湖北工业大学工业设计学院,湖北 武汉 430070)
1 引言
随着信息技术以及各种人机交互技术的快速发展,服务机器人由此诞生。通过不断实践积累以及突破,大量服务机器人逐渐融入人类的生活和工作中。人机交互是服务机器人的关键技术,而手势辨识是机器人实现友好且人性化交互的重要前提。手势辨识可以解读手、臂姿态或者其运动所包含的交互意义,进而实现人和机器人之间的交流。手势辨识涉及到了多个学科,且手势复杂多变,给手势识别带来了一定的难度[1]。在实际中,人类可以快速理解不同的手势,但是让机器人设备理解手势却是十分困难的[2]。同时,由于手势受到时序数据以及状态变化等多方面因素的影响,导致服务机器人交互手势辨识难度增加。国内相关专家对服务机器人交互手势辨识展开了大量研究,例如文献[3]优先对采集到的手势图像预处理,将机器学习中自组织神经网络作为分类器完成人机交互手势识别。文献[4]利用Kinect采集图像,提取人体轮廓特征,采用深度阈值对手部区域展开二维图像重建,同时确定掌心圆,根据圆的边界和手指相交次数完成手势识别。文献[5]对YOLOV4网络模型进行改进,利用改进后的模型提取完整的手势特征,采用K-means完成手势识别。在上述几种服务机器人交互手势辨识方法的基础上,结合RNN循环神经网络,提出一种基于RNN循环神经网络的服务机器人交互手势辨识方法。
2 服务机器人交互手势辨识方法
2.1 手势特征提取
通过Kinect可以将每一帧深度图像数据中全部记录下来,设定图像像素默认设置为640×640。在上述情况下,设备每秒形成的数据可以达到几十兆,而在实际中,对大规模数据处理是十分困难的。为了完成更加高效的服务机器人交互手势辨识,通过对Kinect捕获的服务机器人深度图像展开分析计算,确定重要关节点的位置,进而形成人体骨架。
通过骨骼追踪系统可以实时掌握操作者和服务机器人的关节信息和运动轨迹;由于不同操作者的身高和体型完全不同,进而导致获取的特征提取结果存在比较明显的差异。
为了有效消除这种差异所带来的负面影响,以各个关节之间的角度作为依据完成特征提取。优先通过手部节点和肘部节点的连线和对应坐标轴的夹角,将两者节点连接形成的向量Uhandelb表示为式(1)的形式:
式中:handx、handy、handz—手部节点的三维坐标取值;elbowx、elbowy、elbowz—肘部节点在三维坐标系对下的三维坐标值。
手部和肘部节点向量对应的长度Rhandelb计算公式为:
通过两点在z轴上的分量和两点形成的向量计算夹角τhand,则其计算式如下:
(2)通过式(4)计算手部节点和肩膀节点形成的向量Uelbshou,利用式(5)计算向量的长度Relbshou;根据肘部和肩部节点在z轴的向量计算夹角τelbshou,具体式(6)所示:
式中:shoulderx、shouldery和shoulderz—肩膀节点的三维坐标值。
结合上述得到重要关节点后,以关节点作为依据,提取服务机器人交互手势特征[6-7],详细的服务机器人交互手势特征提取流程图,如图1所示。
图1 服务机器人交互手势特征提取流程图Fig.1 Flow Chart of Interactive Gesture Feature Extraction of Service Robot
2.2 基于RNN循环神经网络的交互手势辨识
RNN循环神经网络是一种传统的前馈神经网络,是一种环形网络结构,同时其内部的各个神经元之间也可以完成消息传递,并且能够将全部网络输入存储到对应的服务器内,同时也方便后续操作提供参考依据。RNN不仅可以获取精准的交互手势辨识结果,同时还可以完成全部数据的映射操作,将其存储到对应的输出神经元内,RNN循环神经网络结构图,如图2所示。
图2 RNN循环神经网络结构图Fig.2 Structure of RNN Recurrent Neural Network
RNN循环神经网络对应的数学模型H(t)为:
式中:ψ(a,b)—网络输入层的输入向量;Um,n—RNN 循环神经网络的正确辨识概率期望;h(t)—网络节点概率值。
经过上述分析,通过最小归一法对RNN循环神经网络映射的样本展开预处理[8-9],对应的表达式如下:
式中:x—原始服务机器人交互手势数据;r—经过归一化处理后的服务机器人交互手势数据;rmax、rmin—归一化处理后数据的最大值和最小值。
全部数据的训练是通过最小归一法处理以后,有效保留最大值、最小值以及平均值,将其应用于后后续的交互手势辨识辨识过程中去。通过式(9)给出RNN循环神经网络隐藏层的输入和输出数据:
以上述提取的服务机器人交互手势特征为基础,构建手势模板Pout(s),对应的表达式如下:
通过RNN循环神经网络对手势模板展开学习操作,详细的操作步骤如下所示:
(1)搭建多层RNN循环神经网络,在设定时间范围内计算网络输出层的残差值Ct(s),同时将其作为下一时间段接收残差值的重要依据,对应的计算式如下:
(2)对RNN循环神经网络内全部参数初始化处理。参数主要包含网络内节点总数、最大迭代次数以及最小目标差等。其中,网络节点集合G(s)可以表示为式(13)的形式:
(3)通过搭建好的手势模板,提取不同类型服务机器人交互手势运动轨迹的特征向量,对应的向量集合H(e),如式(14)所示。
将提取到的全部服务机器人交互手势运动轨迹的特征向量[10]直接输入到RNN循环神经网络中,将其作为网络的输入层。
(4)对网络展开训练操作,确保误差下降至最低,同时达到设定的迭代次数,则停止迭代。
(5)停止手势模板展开学习,同时对网络展开测试,最终直接输出手势模板学习结果。
在完成手势模板的学习处理后,以学习结果为依据,建立服务机器人交互手势辨识模型B(n),对应的表达式如下:
将提取到的全部服务机器人交互手势特征输入到构建的服务机器人交互手势辨识模型中,输出最终的手势辨识结果。
3 实验结果与分析
为了验证所提基于RNN循环神经网络的服务机器人交互手势辨识方法的有效性,在正常光照条件下采集人体手势图像,通过服务机器人对全部手势展开辨识,设定图像分辨率为(640×640)。
设计辨识4 种不同手势的方案,每个手势各采集图片100张,共计400幅图像,部分样本图像,如图3所示。
图3 部分样本图像Fig.3 Partial Sample Image
通过服务机器人对样本图像展开交互手势辨识处理,不同方法的交互手势采集结果对比分析,如图4所示。
图4 不同方法的交互手势采集结果对比分析Fig.4 Comparison and Analysis of Interactive Gesture Acquisition Results by Different Methods
分析图4 中的实验数据可知,在手势者做出相应的手势以后,采用所提方法可以获取更加完整的交互手势图像,说明该方法的数据采集精度高;而另外两种方法只可以采集到部分手势图像,由此可见,所提方法具有良好的实用性和可靠性。
服务机器人交互手势辨识结果,如表1所示。
表1 服务机器人交互手势辨识结果Tab.1 Interactive Gesture Recognition Results of Service Robot
分析表1中的数据可知,与其他方法相比,所提方法能够正确辨识服务机器人交互手势,证明该方法的辨识精度更高。
为了验证服务机器人交互手势辨识效率,分别采取不同方法在不同测试环境下展开测试分析,分别列举不同手势下各个方法的辨识时间变化情况,不同方法的服务机器人交互手势辨识平均时间测试结果对比,如表2所示。
表2 不同方法的服务机器人交互手势辨识平均时间测试结果对比Tab.2 Comparison of Average Time Test Results of Interactive Gesture Recognition of Service Robots Using Different Methods
分析表2中的实验数据可知,在不同手势动作下,不同方法的服务机器人交互手势辨识平均时间存在比较明显的差异。相比另外两种方法而言,采用所提方法可以以更快的速度完成手势辨识任务,效率更高。
4 结束语
为了准确辨识不同类型的机器人交互手势,结合RNN循环神经网络,提出一种新的服务机器人交互手势辨识方法。经实验测试结果表明,采用所提方法可以精准辨识服务机器人交互手势,同时可以有效提升缩短辨识时间。但是所提方法也存在不足,即采集到的图像可能会出现重叠问题。在后续的工作过程中,可以考虑利用图像深度信息或者其他图像分割的方式解决图像重叠问题,进而确保辨识率得到进一步提升。