掌桥专利:专业的专利平台
掌桥专利
首页

基于手掌部多模态信息的人手多运动模式识别系统

文献发布时间:2023-06-19 11:30:53


基于手掌部多模态信息的人手多运动模式识别系统

技术领域

本发明属于生物机电一体化(Biomechatronics)技术领域,涉及一种基于手掌部多模态信息的人手多运动模式识别系统。

背景技术

假手是结合了多种高新技术的机器人产品,也是在生物机电一体化领域中的代表性技术。假手的主要应用场景是帮助先天或者后天手部残缺者补全手部外形和功能。随着人类科技的进步,假手也由最初的装饰性假手逐渐向功能性假手转变。

人类意图的识别是假手功能性的支撑之一,能够准确识别人类希望进行的手部动作是完成假手控制的基础,近些年也成为相关领域的研究热点。目前主流假手采用非侵入性的控制方式,主要分为脑电、肌电和肌力三种方式。脑电识别方式是检测大脑在控制身体执行动作时大脑皮层形成的特殊生物电反应得到脑电图,通过对脑电图信号进行分析识别出大脑发出的最初指令。肌电识别也是应用很广泛的控制方式,也是最成熟的控制方式,该方式通过监测皮肤表面电信号的变化,来判断人类对肌肉的控制意图。此外,肌力信号识别同样具备自己独特的优势,这种方式通过贴在皮肤上的压力传感器获取肌肉压力信号,并以此判断意图的手势。

半掌残缺是手掌残缺的一种特殊的情况,半掌假手也是为解决这种问题而生。残存的手掌为假手的设计提出了挑战,但也为手部动作识别提出了新的可能性,一些研究者希望能够将信号采集位置从小臂、手腕等传统的位置向残存的手掌转移,将肌力传感器布置在手心和手背上是一种不错的尝试,但这种方式也存在着识别率不高、穿戴不适等缺陷。目前市场上还没有识别稳定、技术成熟的针对手掌的人类手部动作识别的装置或者方法。

此外,在半掌假手领域应用较多和比较成熟的人类意图的识别模式往往是单一模态的。但实际上,人在进行手部动作时,会发生非常多不同物理量的变化,这些信号能够为手部动作的识别做出参考,从而提升识别率和识别效果,对多模态的识别方式的研究是很有意义的。

发明内容

针对国内外现有的用于假手的手部动作识别方法识别参考物理量种类过于单一、识别率波动较大、结构复杂、穿戴舒适性不佳的问题,且大部分方案中单纯以单一量作为识别参考的方法,本发明提供了一种基于手掌部多模态信息的人手多运动模式识别系统。本发明使用弯曲度和压力作为多模态模式识别,具体思路是将手心不同位置弯曲度和手背不同点的压力情况采集后进行机器学习完成对手部动作模式的判定,可以实现对人手在工作时手掌弯曲信息的采集和分析,并且在此基础上完成对全手动作的分类识别。手部的弯曲度信息和手背部的压力信息同时采集,互相补充同时也互相备份,信息被扩展为两种模态下的,传感器的数量也相对于单模态进行扩增,增大机器学习的信息量,能够实现单模态和双模态的简单转换以适应不同工作需求。

本发明的目的是通过以下技术方案实现的:

一种基于手掌部多模态信息的人手多运动模式识别系统,包括传感手套、信号采集电路、计算机和显示器系统,其中:

所述传感手套的手心布置有5个弯曲度传感器,手背部分布置有3个压力传感器(分布如图1 所示),每个弯曲度传感器和每个压力传感器均通过导线与信号采集电路相连接;

所述弯曲度传感器的布置方向是沿与手部动作相关的几个关键弯曲方向,分别在小指、无名指、中指、无名指的手指根部和相连手掌部以及与第一掌骨和第二掌骨垂直的方向(反映拇指运动),各手指对应传感器布置方向与手指方向大致相同(拇指处除外),能够反应对应手指的动作,这些弯曲度传感器也可以独立为系统提供弯曲度信息作为识别单模态的信息;

所述压力传感器贴于手背处,三个分布点分别在食指、中指、无名指对应的掌骨上,位置靠近近节指骨相接关节附近;

所述信号采集电路由电源、分压电阻、电位限制电阻、多路复用器、可编程增益放大器、A/D转化器、缓存器构成,弯曲度传感器的一个引脚与电源负极连接,弯曲度传感器的另一引脚与弯曲度传感器对应的分压电阻的一端连接,弯曲度传感器对应的分压电阻的另一端与电源正极连接;压力传感器的一个引脚与电源正极连接,压力传感器的另一引脚与压力传感器对应的分压电阻的一端连接,压力传感器对应的分压电阻的另一端与电源负极连接;弯曲度传感器和弯曲度传感器分对应的压电阻之间、压力传感器和压力传感器对应的分压电阻之间通过导线将电位信号引出,通过电位限制电阻对电位进行限制;多路信号进入后通过多路复用器多路复用至可编程增益放大器中,后再交于A/D转换器转换为数字信号经缓存后交给计算机;

所述信号采集电路与计算机相连接,计算机对信号采集电路的信号进行信号的采集和处理,并在显示器上显示相关信息。

本发明中,传感手套进行了模块化的设计,传感手套在机构上被分为了手套基底和压力传感器基座两个模块,其中:弯曲度传感器直接固定在手套基底上,在穿戴时弯曲度传感器随手套基底同时到位;压力传感器固定在压力传感器基座上(结构如图3所示),压力传感器基座为硬质材料,压力传感器附着于其上的活动凸点上,活动凸点通过螺纹进行伸缩来调整在压力传感器上的预压力,凸点与压力传感器相隔有弹性材料从而隔离螺栓旋转对压力传感器的影响,同时通过摩擦为螺栓提供保持力矩。传感器基座通过绑带固定在已经穿戴好手套基底的手上,绑带同时可以为弯曲度传感器提供一定程度的预压力和固定。传感手套与后续采集电路指间采用的是插拔式的设计。

本发明中,硬件中的计算机部分担负着数据采集写入、机器学习处理、处理结果显示的任务。这些任务是依托计算机内的软件进行的,这些软件系统包括了训练样本采集系统、机器学习系统、实时采集显示系统,其中:训练样本采集系统为机器学习系统提供训练数据,机器学习系统为实时采集显示系统提供分类的计算服务,实时采集系统则为机器学习系统采集数据并将最终结果通过显示器向操作者进行显示。

本发明中,训练样本采集系统担负起数据采集的任务,采集电路将处理后的数字电位信号交给计算机后,训练样本采集系统进行采集工作,操作者在训练样本采集系统对采集模式等进行设置,该系统按照相应的设置对采集状态进行显示对采集的数据进行存储。存储的数据被机器学习系统调用,该系统将原始数据进行处理并且构建出训练样本集,并等待被实时采集显示系统调用,被调用后该系统进行相应的分类计算。实时采集显示系统则是在实际进行识别时工作的系统,操作者在该系统进行识别工作及其系统设置,该系统可调用机器学习系统中的部分功能,获得机器学习系统的分类结果后进行显示。

一种利用上述系统进行基于保护基于手掌弯曲信息的人手运动模式识别方法,包括如下步骤:

步骤一、设备连接:将各个设备通过接口进行连接,检查保证连接的正确和稳固;

步骤二、佩戴手套基底:将手套佩戴于手掌上,调整手套位置使得弯曲度传感器处于合适位置,并且佩戴舒适,完成后进行尝试性的动作,根据实际情况进行调整;

步骤三、安装压力传感器:将压力传感器基座固定在已经带好手套基底的手掌上,使得位置合适并且佩戴舒适,完成后进行尝试性的动作,根据实际情况进行调整,压力传感器的安装步骤可能会对手套基底产生一定的影响,根据实际佩戴情况进行调整;

步骤四、测试调整:打开训练样本采集系统,利用系统中的显示控件对传感器的实时波形进行监测,以此判断传感器状态是否合适,并且进行相应的调整;

步骤五、样本采集:在步骤四的基础之上开始进行采集工作,在手部完全放松的情况下,对传感器的初值进行采集,初始值采集结束后对需要进行识别的数个动作的对应传感器数据进行采集;

步骤六、动作识别:将步骤五中采取的数据交给机器学习系统,机器学习系统构建训练集,打开实时采集显示系统,首先进行初值的采取,结束后自由活动手部,做出样本集中的动作,通过机器学习进行分类,并反馈出动作至显示屏。

相比于现有技术,本发明具有如下优点:

1、本发明提供的对人手部动作的识别方式,形式新颖简洁,工作的稳定性和可靠性高,设备与人体的协作性好,亲和力高,佩戴简单舒适,能实现采集的和识别的一体化。

2、本发明通过机器学习的方法实现了对多种手势的识别,同时也具备比较好的灵活性,可以比较轻松切换至多种机器学习的方法,也能够轻松向训练集添加数据和手势从而增减或者更新手势训练集。

3、本发明采用的电路系统简单可靠,对信号的处理方法快速准确,通过算法上的滤波、归一化等数据处理后,识别率较高并且稳定。在一次试验中,对数据库中有的9种常用手势进行识别,总体识别率能够突破93%,对于一些动作的识别率甚至能够接近100%,可以满足对人手部动作的实时识别和后续进行假手控制的要求。

4、本发明采取了多种手部的物理信息,包括手部的弯曲度信息和手背部的压力信息,信息被扩展为两种模态下的,传感器的数量也相对于单模态进行扩增,由此输入到机器学习中的信息的数量和质量都有比较大的提升,这很大提高系统的识别的正确性和稳定性。

5、多种信息互相补充同时也互相备份,仅有一种模态的识别仍能够为操作者提供一定可信度的信息,模态的多少可以根据实际使用情况进行调整,灵活性更高。多种模态的信息也为算法的优化提供了更多的可能。

6、结构的灵活性好,模块化可插拔的设计使得系统结构更可靠灵活,另外张紧和压力传感器螺栓可调,整体上对不同人手掌的适应性更好。

附图说明

图1为本发明的传感器分布示意图;

图2为本发明的硬件结构示意图;

图3为本发明的传感器基座结构示意图;

图4为本发明工作软件系统的结构示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。

本发明提供了一种基于手掌部多模态信息的人手多运动模式识别系统,所述系统在硬件上由传感手套、信号采集电路、计算机和显示器系统组成,在软件上由训练样本采集系统、机器学习系统、实时采集显示系统组成。

传感手套的基底是普通织物纤维,在手套的手心的织物外布置数个弯曲度传感器,弯曲度传感器的布置方向是沿与手部动作相关的几个关键弯曲方向,手背部分布置有多个压力传感器,压力传感器被固定于传感器基座上,并且在传感器基座上有调节装置可以调节压力传感器的预设值。手背的传感器基座通过固连装置和张紧装置与手套连接,张紧装置同时还可以帮助手心处的弯曲度传感器与手套和人手的紧密贴合从而能够较为准确的反映手掌的变形情况。每个弯曲度传感器和压力传感器上均连接有两根导线将传感器与信号采集电路相连接。信号采集电路的主要构成元件由电源、分压电阻、电位限制电阻、多路复用器、可编程增益放大器、A/D转化器、缓存器等构成。弯曲弯曲度传感器的一个引脚与电源负极连接,弯曲度传感器的另一引脚与弯曲度传感器分压电阻的一端连接,弯曲度传感器对应的分压电阻的另一端与电源正极连接;压力传感器的一个引脚与电源正极连接,压力传感器的另一引脚与压力传感器分压电阻的一端连接,压力传感器对应的分压电阻的另一端与电源负极连接;弯曲度传感器和弯曲度传感器分压电阻之间、压力传感器和压力传感器分压电阻之间通过导线将电位信号引出,通过限制电阻对电位进行限制。每个传感器都通过这样的方式与信号采集电路进行连接,多路信号进入后通过多路复用器多路复用至可编程增益放大器中,后再交于A/D转换器转换为数字信号后缓存后交给计算机,计算机进行信号的采集和处理在显示器上显示相关信息。

软件方面担负起数据采集的任务是训练样本采集系统,采集电路将处理后的数字电位信号交给计算机。计算机整合成为动态数组,并在开始记录时将初始值进行存储,之后将这个动态数组的8个通道进行剥离,形成8个动态波形并在显示屏上向操作者进行展示,与此同时在计算机在一个采样频率内对动态数据采取平均值以此作为数字滤波的一部分,由此可以得到一个具有8个元素的动态数组,这个数组数被减掉初始数组后被动态的显示给操作者,并在一个波形图内进行显示并反馈给操作者,这个数组被动态的刷新,当开始采集后,如若系统在采集模式下则动态数组会被保留至计算机,在进行不同手势动作时切换不同的路径分别保存,而在测试模式下则仅产生波形而不会有相应的数据被保存。进行实时识别前,先使用机器学习系统导入并构建训练集,而后启动实时采集显示系统,识别过程中需不断调用机器学习系统。试验开始后,实时采集显示系统首先采集到放松手势的初值,之后便进行动态数组的采集,将数组8个通道部分进行剥离并且在一个采样频率内对动态数据采取平均值以此作为数字滤波的一部分,由此可以得到一个具有8个元素的动态数组,这个数组数被减掉初始数组后作为测试数组交给机器学习系统,机器学习系统接受和分类处理后将分类结果交还,而后模块将分类结果以编号和图形的模式显示。机器学习系统首先调用来自训练样本采集系统生成的数据,将这些数据建立成为同一的数组,对全部数据进行归一化处理,处理完成的数据作为训练集,训练集进入分类算法中,等待被调用,接受到来自实时采集显示系统的事实数据后进行分类运算,运算结束后将返回值交还。

正确佩戴手套并正确连接后即可开始进行训练和识别的过程。在不同手势之下采集信号,通过训练样本采集系统进行采集并存储于计算机中。实时识别时,操作者做出已经被采集过的几种手势,实时信号被采集和机器学习分类以后生成识别结果,反馈给操作者。具体包括如下步骤:

步骤一、设备连接:将各个设备通过接口进行连接,使得电路元件按照图2所示正确连接后链接至计算机上,检查保证连接的正确和稳固;

步骤二、佩戴手套基底:将手套佩戴于手掌上,调整手套位置使得弯曲度传感器处于合适位置,并且佩戴舒适,完成后进行尝试性的动作,根据实际情况进行调整;

步骤三、安装压力传感器:将压力传感器基座通过绑带固定在已经带好手套基底的手掌上,调节传感器位置和绑带的张紧度,使得位置合适并且佩戴舒适,完成后进行尝试性的动作,根据实际情况进行调整,压力传感器的安装步骤可能会对手套基底产生一定的影响,根据实际佩戴情况进行调整;

步骤四、测试调整:打开训练样本采集系统,利用系统中的显示控件对传感器的实时波形进行监测,以此判断传感器状态是否合适,并且进行相应的调整;

步骤五、样本采集:在步骤四的基础之上开始进行采集工作,在手部完全放松的情况下,对传感器的初值进行采集,初始值采集结束后,对需要进行识别的数个动作的对应传感器数据进行采集,各个动作的数据采集是依次进行的,采集数据的数量按照实际需要确定,在一个动作的采集过程中,要按照实际情况进行力度的幅度调整,令数据采集能够涵盖尽量多的情况;

步骤六、动作识别:将步骤五中采取的数据交给机器学习系统,机器学习系统构建训练集,打开实时采集显示系统,首先进行的是初值的采取,结束后便可以自由活动手部,做出样本集中的几种动作,系统通过机器学习进行分类,并反馈出动作至显示屏。

上述步骤三至步骤五是在计算机上进行采集和识别,其具体过程和逻辑如图4 所示:在训练样本采集系统中开始采集后,首先判断开始按键是否为真值,是则开始采集初值并记录,判断是否在采集模式下,若否则仅分通道显示波形,若是则进一步进行均值的计算并计算与初值的差距,保存结果至计算机等待机器学习系统调用,后再判断是否继续循环,是则继续采集,否则停止。机器学习系统接受到来自训练样本采集系统的数据后进行归一化等数学处理后建立样本和分类器并建立起能够对实时数据进行归一化和分类的子函数。实时采集显示系统判断开始后进行初值的采集后进行实时的采样并计算均值和差值交给机器学习系统的分类子函数,得到运算的返回值后进行显示,之后判断是否继续循环,是则重复实时识别过程,否则停止。

实施例:

本实施例的硬件实施方式可以参见图2。在与手部接触的部分使用的是传统的织物手套作为基底,在基底之上通过粘接和线缝等方式将传感器固定在手套上,手心处分布有5个弯曲薄膜传感器,传感器的固定位置是分别沿5根手指的变形方向,传感器末端位置与手指根部变形较大的位置相重合,来保证能够获得比较好的变形信息。传感器采用的是Sparkfun公司生产的薄膜弯曲传感器,该传感器在平直状态下的电阻为25K欧,在弯曲状态下,电阻可达10~125K欧,传感器阻值随弯曲程度的增加而增加。手背处附着有三个薄膜压力传感器,该传感器选用的是Sparkfun公司生产的FSR400,该传感器的测量范围可达10公斤,传感器电阻随压力的增大而减小,当压力达到10公斤左右时,传感器的电阻可降至约0.25千欧,这三个压力传感器被固定在传感器基座上,传感器基座使用的制造方法为3D打印,设计参考人机工学实现更好的肌肤亲和力,基座上对应的三个位置上有三个螺纹孔,三个螺栓旋钮可穿过螺纹孔,对压力传感器施加预压力,螺栓的公称直径为8毫米与压力传感器的效应面积直径基本一致。压力传感器基座通过4根抓紧带固定在手套上,这4根抓紧带同时可以起到张紧的作用,对手心处的弯曲度传感器起到压紧和固定的作用,从而实现弯曲度传感器与人手心的贴合以采到更精准的数据。弯曲度传感器的两个引脚通过导线与基本电路进行连接,一个引脚与电源的负极连接,另一引脚与该传感器所属分压电阻连接,分压电阻另一端与电源正极连接;压力传感器的两个引脚通过导线与基本电路进行连接,一个引脚与电源的正极连接,另一引脚与该传感器所属分压电阻连接,分压电阻另一端与电源负极连接。上述由此构成了基本的电位显示电路单元,对于该弯曲度传感器所有的分压电阻均为100K欧,对于压力传感器分压电阻为10K欧。传感器和分压电阻两端接5伏电源,8个分压电路并联在电源两端,在每个传感器与分压电阻之间,通过导线将电位信号引出至信号处理的电路,首先是限位电阻(流经127K欧后,经30.9欧接2.5V电源,39.2K欧接地)对电位信号进行限制作用,之后信号通过多路复用器多路复用,并通过可编程增益放大器进行放大,放大后的信号通过模数转换器将模拟量信号转换为数字量信号,而后相关信号被传输至计算机并缓存在缓存器中。信号处理的电路采用的是NI USB6008信号采集卡的内置电路,该采集卡有8个模拟量输入通道。

本实施例中,训练样本采集系统使用LabVIEW进行程序的编写。前面板的组成有手部的图片以及对应各传感器的波形示波器,实时反馈传感器数值与零点差异的数组显示模块和它的波形图。输入控件上有文件保存路径选择器、开始按钮、采集按钮、停止按钮以及模式选择按钮。主体程序有一个while循环包络,从而实现不间断显示和文件写入,在这个主体的循环外有一个小循环中执行断电的操作。主循环内包络一个条件结构,当开始按钮为真值时进入主程序,条件结构内部则为顺序结构,首先是将各个显示控件以及按键返回初始值,然后开始采集后由DAQ助手采集一个初始值并形成一个初始值数组。在顺序结构的下一部分中嵌套一个while循环,循环内执行的是这个程序的核心部分,这一部分中将从DAQ助手中不断向程序内提取信息,采样频率为1000赫兹,采样方式为N采样,进入程序内的信号是包含了8列信息的数组,将这个数组拆分并通过波形图分别进行显示,由此可以向操作者反馈各传感器的波形。各通道数组分离后,分开进入嵌套的条件结构,该条件结构可以判断测试模式和采集模式。系统为采集模式时执行该条件结构,条件结构内将一个采样频率内的数据求取均值过程中用到了数组求和的命令,结束后各通道将在一个采样频率内输出一个数将8个通道内的8个数合并成为一个数组,用先前的初始值数组建这个数组,可以得到各通道与初始值的差值。将这个差值通过数组显示控件反馈给前面版,同时创建一个波形图表将这个数组作为 Y坐标,创建一个由1~8的数组常量作为X坐标,由此可以得到完整图形,将其显示。在下一个顺序结构中嵌套一个条件机构,当系统为采集模式时,进入这个条件结构,在条件结构内将平均数数组通过写入测量文件控件写入指定路径下的表格文件。表格文件将作为下一步进行训练的材料。手势识别软件部分核心内容是机器学习系统,这一模块使用的是Python进行编译,首先将所需要调用的,例如nunpy、pandas、sklearn等模块载入,通过open命令打开表格文件(共有9个文件,每个文件代表了一种手势,每个文件内有5列,每一列代表的是一个传感器的数据),打开表格文件后,通过list命令将表格内的数据导出,之后通过numpy函数库的array命令将数据数字化,再通过numpy函数库的vstack将各子数组的首行去掉后,粘贴形成一个大数组作为训练集合,再通过shape将粘贴前的数组大小统计出来后,按顺序由0~8给训练数组添加标签并形成标签数组。将训练数组和标签数组中的数据全部进行浮点化处理,并且在训练数组中将每一列最大值和最小值以及他们的差求出,将每一个元素减掉最小之后除这个差完成归一化处理后的数据。将最终的数据复制给支持向量机(可以替代为其他分类器),并指定支持向量机为线性分类核。后续再定义一个专用的函数等待来自LabVIEW的调用,将实时数据作为这个函数的输入,按照训练样本的最大值、最小值对这个实时数据进行同样的归一化处理后,调用先前的机器学习模型进行训练并得出分类结果作为这个函数的返回值。在实时的数据采集过程中与操作者直接进行交互的是实时识别和显示系统,这个系统同样用LabVIEW进行编写,前面板包括了指示灯、开始按键返回值的显示控件以及用下拉列表制作的手势的显示控件,系统的程序框图中仍然采用while循环作为程序主体,其中嵌套顺序结构,在顺序结构的第1部分中,用DAQ助手采集本次数据的初始并保存为初始值数组,顺序结构的后半部分也与采样系统的程序类似,使用DAQ助手将数据采入后,直接进行采样频率内的平均值计算,并将这个平均值输出为有8个元素的动态数组,调用Python模块,并且将这个数组作为输入值输入到Python模块中,将Python模块的输出也就是机器学习系统中子函数的返回值引出到显示控件对这个返回值进行显示,并且作为下拉列表的输入,将对应的图片显示出来。

使用时,首先打开样本数据采集模块,佩戴好传感手套,点击开始、开始采集,程序首先采集数据的初值,在绿灯亮起后表明数据初始采集完成,此时点击使得系统由测试状态转入采集状态,开始采集此时的手势信息,采集时应该维持该动作约30秒期间,可以通过力量的变换、小臂位置的变换等来提供更复杂情况下这一手势的信息,从而降低整体的错误率。完成一个手势的采集后,按照同样的方法更改文件保存目录后进行余下8种数据的采集最终形成9个表格文件,分别代表了9种手势,在实验中采用了如下的9种手势:放松、拇指弯曲、食指弯曲、三指弯曲、五指伸、食指伸、握拳、手掌展开、三指捏取。这些动作代表了在日常生活中经常使用到的手势。完成样本采集后,打开实时识别和显示模块,进入活动阶段。保存活动阶段的文件路径并保持手部放松后点击开始此时系统开始采取初值,采取完成后绿灯亮起可以进入自由活动阶段。自由活动阶段后可以看到显示屏上的图片是对当前手势识别的结果。使用时可以根据实际的使用环境调整采样频率和采样时间来控制采样结果的刷新速度和准确程度。在此基础上对整个系统的准确率进行了实验,实验方法是在识别和显示模块中,做出样本集中包含的9种手势,每种手势做出20次,如果识别成其他手势或是长时间不能识别,则视为识别错误,由此统计出系统的识别正确率,综合正确率达到了93%。

相关技术
  • 基于手掌部多模态信息的人手多运动模式识别系统
  • 基于手掌弯曲信息的人手运动模式识别系统
技术分类

06120112958777