一种运动状态识别方法、装置、系统及存储介质
技术领域
本发明涉及智能控制技术领域,尤其涉及一种运动状态识别方法、装置、系统及存储介质。
背景技术
康复训练对肢体功能的神经功能恢复有积极的影响。传统的康复训练是劳动密集型的,尤其是下肢关节。近年来,康复辅助设备得到了显著的普及。适当的机器人辅助康复训练对肢体运动功能的恢复起着重要的作用。积极的交互控制策略能够根据需要提供适当的帮助,这对于满足培训绩效是至关重要的。
基于肌电图的控制策略被广泛应用于康复、假肢控制、人机交互等领域,肌电信号包含了肌肉活动的重要信息,因此,将有助于估计人类的意图,但是,基于肌电图信号的人体运动识别方法还没有显示出稳健和准确的识别性能,用户无法准确控制辅助装置的运动。
发明内容
为了解决现有技术存在的问题,本发明的至少一个实施例提供了一种运动状态识别方法、装置、系统及存储介质。
第一方面,本发明实施例提供了一种运动状态识别方法,所述识别方法包括:
获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据;
根据所述肌电数据得到所述被检测对象在每个行走周期内的肌电特征;
对所述肌电特征进行聚类,得到多组运动状态特征组;
根据所述被检测对象行走时的地面环境和行走速率,对每组所述运动状态特征组添加运动状态识别结果。
基于上述技术方案,本发明实施例还可以做出如下改进。
结合第一方面,在第一方面的第一种实施例中,所述获取所述肌电数据在每个行走周期内的肌电特征,包括:
获取所述被检测对象的步态周期,将所述步态周期作为行走周期;
获取每个行走周期内的肌电数据的均方根值和肌电能量,作为所述肌电特征。
结合第一方面的第一种实施例,在第一方面的第二种实施例中,获取所述肌电数据的均方根值,包括:
通过如下公式计算所述均方根值:
其中,RMS为所述均方根值,n为行走周期内的肌电数据的数据采集时间点个数,xi为行走周期内第i个数据采集时间点采集的肌电数据的值。
结合第一方面的第一种实施例,在第一方面的第三种实施例中,获取所述肌电数据的肌电能量,包括:
根据所述肌电数据的幅值和肌电数据幅值的导数,建立二维坐标系;
根据行走周期内每个数据采集时间点采集的肌电数据的幅值和肌电数据幅值的导数,在所述二维坐标系中标记对应的数据点;
根据所述数据点,在所述二维坐标系中确定有效区域,其中,有效区域中包含的数据点的数量大于预设数量;
获取所述有效区域的面积作为所述肌电数据的肌电能量。
结合第一方面的第三种实施例,在第一方面的第四种实施例中,所述根据所述数据点,在所述二维坐标系中确定有效区域,包括:
在所述二维坐标系中获取包含所有所述数据点的待选区域;
根据所述数据点的数量,将所述待选区域划分为至少两个预设形状的次级待选区域;
从所述次级待选区域中确定所述有效区域,其中,所述有效区域中包含的数据点的数量大于预设数量。
结合第一方面,在第一方面的第五种实施例中,所述对所述肌电特征进行聚类,得到多组运动状态特征组,包括:
通过k均值聚类算法对所述肌电特征进行聚类,得到多组所述运动状态特征组。
结合第一方面或第一方面的第一、第二、第三、第四或第五种实施例,在第一方面的第六种实施例中,所述识别方法还包括:
获取待识别对象的待识别肌电数据;
根据所述待识别肌电数据得到待识别对象的待识别肌电特征;
确定与所述待识别肌电特征相匹配的所述运动状态特征组,作为识别结果;
根据所述识别结果对应的运动状态识别结果,按运动状态识别结果对应的运动控制策略控制运动辅助装置进行运动。
第二方面,本发明实施例提供了一种运动状态识别装置,所述识别装置包括:
获取单元,用于获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据;
第一处理单元,用于根据所述肌电数据得到所述被检测对象在每个行走周期内的肌电特征;
第二处理单元,用于对所述肌电特征进行聚类,得到多组运动状态特征组;
第三处理单元,用于根据所述被检测对象行走时的地面环境和行走速率,对每组所述运动状态特征组添加运动状态识别结果。
第三方面,本发明实施例提供了一种运动状态识别系统,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面中任一所述的运动状态识别方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一所述的运动状态识别方法。
本发明的上述技术方案与现有技术相比具有如下优点:本发明实施例。
附图说明
图1是本发明实施例提供的一种运动状态识别方法流程示意图;
图2是本发明另一实施例提供的一种运动状态识别方法流程示意图;
图3是本发明又一实施例提供的肌电数据的幅值和肌电数据幅值的导数在相应二维坐标系中的分布图示意图;
图4是本发明又一实施例提供的一种运动状态识别方法流程示意图其一;
图5是本发明又一实施例提供的一种运动状态识别方法流程示意图其二;
图6是本发明又一实施例提供的一种运动状态识别装置结构示意图;
图7是本发明又一实施例提供的一种运动状态识别系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种运动状态识别方法。参照图1,识别方法包括如下步骤:
S11、获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据。
在本实施例中,肌电信号采集可以采集股二头肌、腓肠肌两个肌肉群的肌电图数据,数据传输方式可以通过无线或者有线方式进行,本方案对此不做特别限定,采集被检测对象在不同场景下的肌电数据,可以在跑步机上进行,为提高对于行走速率和地面环境测量的准确性,可以通过测速装置对被检测对象的行走速率进行检测,还可以通过角度测量装置检测地面环境的倾斜情况。
在本实施例中,获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据,可以以0.8米/秒和1.2米/秒的速度水平、上坡和下坡行走,上坡和下坡行走的角度可以是任意角度,这样一共可以得到六种不同情况下的被检测对象行走时的肌电数据,当然,本方案中可以以任意行走速率和不同地面环境进行被采集对象的肌电数据采集。
S12、根据肌电数据得到被检测对象在每个行走周期内的肌电特征。
在本实施例中,分别对每种情况下得到的肌电数据进行处理,得到被检测对象在不同情况下的每个行走周期内的肌电特征,比如,根据被检测对象以0.8米/秒的速度水平行走的肌电数据,得到被检测对象以0.8米/秒的速度水平行走时的每个行走周期内的肌电特征,根据被检测对象以1.2米/秒的速度水平行走的肌电数据,得到被检测对象以1.2米/秒的速度水平行走时的每个行走周期内的肌电特征,结合上述步骤的描述,本方案中,具体为根据被检测对象以任意行走速率在任意地面环境下行走时的肌电数据,得到被检测对象以任意行走速率在任一地面环境下行走时的每个行走周期的肌电特征。
在本实施例中,行走周期可以是被检测对象第一步走出到第二步触地的时间间隔为行走周期,也可以是同一只脚两次接触地面的时间间隔作为行走周期,可以通过在行走的地面或者被检测对象的鞋底安装测力装置实现对于上述方案对行走周期的确定。
具体的,在本实施例中,获取被检测对象的步态周期,将步态周期作为本方案中的行走周期,步态周期是指行走时,同一只脚从脚跟离地跨出,到再次脚跟着地的行进过程。盲人虽无肢体障碍,但由于视力缺陷,缺少空间定向能力,不便行走,其行走能力往往落后于正常同龄人,表现为步态周期的不均衡。训练行走,调整步态周期是盲人生活技能训练的一项重要内容。
在本实施例中,肌电特征可以是肌电数据中较为具有代表性的数据,比如肌电数据的最大幅值、最小幅值、波动周期等。
S13、对肌电特征进行聚类,得到多组运动状态特征组。
在本实施例中,由于相同的速率和相同的地面情况会使得被检测对象运动过程中所产生的的肌电数据大致相似,本方案中,可以将上述步骤中所采集到的所有肌电特征进行混合,然后再进行聚类,使得具有相似性的肌电特征聚集,同时,由于人体以同样的速率行走在同样的场景下,所产生的肌电特征也会有部分差异,所以,本方案中被聚类到同一类中的肌电特征所组成的运动状态特征组,最终会与同一个行走速率和行走环境相对应,而不同运动状态特征组所对应的速率或者行走环境会有一定的差异。
在本实施例中,常见的聚类方法包括:最大最小距离聚类算法、HAC层次凝聚聚类法、K-means聚类等。
在本实施例中,可以通过k均值聚类算法对肌电特征进行聚类,得到多组运动状态特征组。
S14、根据被检测对象行走时的地面环境和行走速率,对每组运动状态特征组添加运动状态识别结果。
在本实施例中,可以在被检测对象行走时对行走速率和地面环境进行监控,在最终得到运动状态特征组后,根据检测到的结果对每个运动状态特征组添加运动状态识别结果,比如,在运动状态特征组对应添加行走速率和地面环境的标签。
本方案实现了对于被检测对象的限制的解放,被检测对象可以以任意状态进行行走获取肌电数据,避免了限制被检测对象的行走状态,而被检测对象无法完美的按限制条件进行行走,导致最终结果反而误差更大的情况,通过聚类使得被检测的数据聚集,并对应聚类的结果添加识别结果,保证所聚类的肌电特征与识别结果的匹配度,提高通过上述运动状态特征组进行运动状态识别的准确性。
具体的,在本实施例中,S12中,具体的,可以获取每个行走周期内的肌电数据的均方根值和肌电能量,作为肌电特征。
其中,可以通过如下公式计算均方根值:
其中,RMS为均方根值,n为行走周期内的肌电数据的数据采集时间点个数,xi为行走周期内第i个数据采集时间点采集的肌电数据的值。
在本实施例中,由于通过肌电采集设备获取得到的肌电数据并非是连续的数据,而是一个时间点一个时间点的数据,所以,本方案中通过上述公式计算得到均方根值,当然也可以采用根据各个数据采集时间点采集到的肌电数据绘制相应的曲线图,根据曲线图进行积分得到均方根值。
在本实施例中,信号的均方根代表信号幅值的统计量,代表信号的离散程度,是由肌肉的力量引起的。
如图2所示,获取肌电数据的肌电能量,可以包括如下步骤:
S21、根据肌电数据的幅值和肌电数据幅值的导数,建立二维坐标系。
在本实施例中,肌电信号的能量是基于对运动意图的理解,因为运动速度或活动取决于肌肉肌肉激活水平的能量。利用这个特征,可以表达在改变肌肉的运动速度和活动变化。而且由于肌电信号是一种零平均的随机波信号,其幅值表现为伴随噪声的往复运动,所以,肌电数据的幅值和肌电数据幅值的导数所构成的二维坐标系中可以得到肌电的能量的情况。
S22、根据行走周期内每个数据采集时间点采集的肌电数据的幅值和肌电数据幅值的导数,在二维坐标系中标记对应的数据点。
在本实施例中,由于肌电数据的采集是以连续的时间点的方式进行的,当时间点间隔较小时,所得到的的肌电数据的连贯性较好,但是大部分采集设备采集数据的时间间隔并不是非常小,所所采集到的肌电数据是一个一个独立的数据,本方案中通过每个数据采集时间点所采集的肌电数据的幅值和肌电数据的幅值的导数在二维坐标系中标记数据点,一个行走周期内可以在二维坐标系中标记出数量较多的数据点。
S23、根据数据点,在二维坐标系中确定有效区域,其中,有效区域中包含的数据点的数量大于预设数量。
S24、获取有效区域的面积作为肌电数据的肌电能量。
在本实施例中,只有一个行走周期,所以本方案中数据点越密集的区域,越能表示连贯的肌电数据所划定的范围,而零散出现的数据点,则有可能是存在误差的数据得到的数据点,通过本步骤确定有效区域,既可以得到肌电数据的肌电能量,又可以完成对于存在偏差的数据的筛选,进一步提高所得到的结果的准确性。
在本实施例中,除上述方式得到肌电数据的肌电能量外,还可以根据肌电数据的特性,肌电信号是一种零平均的随机波信号,其幅值表现为伴随噪声的往复运动,在进行完S22后,根据二维坐标系中的数据点构建包含大部分数据点的椭圆,该椭圆的面积就是肌电数据的肌电能量,而椭圆外的数据点可以认为是存在误差的数据,其中,可以由用户预先设定椭圆应包含的数据点的数量,比如,根据数据点的总数量,椭圆内应包含预设百分比的总数量的数据点,比如百分之95×总数量的数据点。
具体的,为方便理解肌电信号的特性现给出如下实施例,由于肌电信号是一种零平均的随机波信号,其幅值表现为伴随噪声的往复运动,所以肌电信号的肌电数据的幅值和肌电数据幅值的导数的数据点在上述二维坐标系中的分布特征会与简谐振子的的振幅和振幅的导数的分布特征相类似,由于质量为m,刚度为k的简谐振子的能量为:
其中,x为所述简谐振子的振幅,y为所述简谐振子的振幅的导数,E0为所述简谐振子的能量。
所以,根据上述公式可知,简谐振子的的振幅和振幅的导数的分布特征呈椭圆形状,同理可以得到,肌电信号的肌电数据的幅值和肌电数据幅值的导数的数据点在上述二维坐标系中的分布特征应当呈椭圆形状,而椭圆的面积是可以通过现有的计算公式快速得到。
每个周期的肌电信号的能量会随着活动的变化而变化,这种变化可以用谐波阻尼振荡器来模拟,所以,在每个步态周期内的肌电信号的“阻尼谐振子能量”为:
其中,E为肌电信号的“阻尼谐振子能量”,E0为所述简谐振子的能量,e为自然常数,b为阻尼谐振子的质量,b为阻尼谐振子的阻尼值,t为时间。b越小,E就就越接近简谐振子的能量E0;然而,运动速度和活动性的改变会使阻尼值变为一个更高的正或负值,从而引起由阻尼谐振子模型控制的肌肉信号的能量衰减或增加。
例如,申请人在通过具体操作后得到如图3所示肌电数据的幅值和肌电数据幅值的导数在相应二维坐标系中的分布图,要获取肌电数据的能量如图中所画的椭圆的面积。
如图4所示,具体的,S23中根据数据点,在二维坐标系中确定有效区域,包括如下步骤:
S31、在二维坐标系中获取包含所有数据点的待选区域。
在本实施例中,先缩小所需处理的范围,根据数据点划定待选区域。
S32、根据数据点的数量,将待选区域划分为至少两个预设形状的次级待选区域。
在本实施例中,进一步根据数据点的数量将待选区域划分为多少次级待选区域,其中次级待选区域的形状可以是三角形、正方形、长方形、梯形等任意形状的面积,当然,选择规则形状更容易计算区域的面积。
在本实施例中,数据点的数量越多,所划分的次级待选区域的数量就越多,以保证最终结果的精度,避免数据点的数量较少,次级待选区域的数量较多,出现误删的情况,同时也可以避免数据点数量较多,次级待选区域数量较少,精度较差的情况。
S33、从次级待选区域中确定有效区域,其中,有效区域中包含的数据点的数量大于预设数量。
在本实施例中,可以通过数据点的数量决定预设数量,具体的,可以由用户先设定,因为同一检测设备的检测频率是固定的,所以本步骤中的预设数量可以根据经验进行设定,还可以由系统根据所得到的数据点的数量进行确定,比如,数据点的数量越多,划分得到的次级待选区域的数量就越多,那次级待选区域中所包含的数据点的数量达到均值,即数据点的数量除以次级采选区域的数量,就可以确定该次级待选区域为有效区域,当然,也可以采用其他方式确定预设数量,本方案对此不做特别限定。
在本实施例中,还可以通过在待选区域中二维移动的预设大小和预设形状的窗口,当窗口中所包含的数据点的数量大于预设数量时,将该窗口所对应的区域作为有效区域,直至窗口经过待选区域中的所有位置,以完成对于有效区域的选定,同时窗口的大小和预设数量也与数据点的数量相关,即数据点的数量越多,窗口所占的面积越小,数据点的熟练越少,窗口所占的面积越大。
如图5所示,本发明实施例提供了一种运动状态识别方法,识别方法包括如下步骤:
S41、获取待识别对象的待识别肌电数据。
在本实施例中,结合如图1所示识别方法,待识别对象可以是使用运动辅助装置的人或动物,与被检测对象的种类相同,获取待识别对象的肌电数据,以确定待识别对象想要完成的动作。
S42、根据待识别肌电数据得到待识别对象的待识别肌电特征。
在本实施例中,通过与图1所示识别方法相同的方式从待识别肌电数据中得到的肌电特征,本方案对此不再赘述。
S43、确定与待识别肌电特征相匹配的运动状态特征组,作为识别结果。
在本实施例中,由于运动状态特征组中存在聚类得到的大量肌电特征,本方案中,通过对待识别对象的肌电特征与运动状态特征组中的肌电特征进行比对,确定与待识别肌电特征最相似的肌电特征对应的运动状态特征组作为识别结果,比对方式可以采用现有技术进行,本方案对此不作特别限定。
S44、根据识别结果对应的运动状态识别结果,按运动状态识别结果对应的运动控制策略控制运动辅助装置进行运动。
在本实施例中,由于每个运动状态特征组均对应有运动状态识别结果,通过运动状态识别结果对应的运动控制策略控制运动辅助装置进行运动,辅助待识别对象进行运动。
如图6所示,本发明实施例提供了一种运动状态识别装置,识别装置包括:获取单元11、第一处理单元12、第二处理单元13和第三处理单元14。
在本实施例中,获取单元11,用于获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据。
在本实施例中,第一处理单元12,用于根据肌电数据得到被检测对象在每个行走周期内的肌电特征。
在本实施例中,第二处理单元13,用于对肌电特征进行聚类,得到多组运动状态特征组。
在本实施例中,第三处理单元14,用于根据被检测对象行走时的地面环境和行走速率,对每组运动状态特征组添加运动状态识别结果。
在本实施例中,第一处理单元12,具体用于获取被检测对象的步态周期,将步态周期作为行走周期;获取每个行走周期内的肌电数据的均方根值和肌电能量,作为肌电特征。
在本实施例中,第一处理单元12,具体用于通过如下公式计算均方根值:
其中,RMS为均方根值,n为行走周期内的肌电数据的数据采集时间点个数,xi为行走周期内第i个数据采集时间点采集的肌电数据的值。
在本实施例中,第一处理单元12,具体用于根据肌电数据的幅值和肌电数据幅值的导数,建立二维坐标系;根据行走周期内每个数据采集时间点采集的肌电数据的幅值和肌电数据幅值的导数,在二维坐标系中标记对应的数据点;根据数据点,在二维坐标系中确定有效区域,其中,有效区域中包含的数据点的数量大于预设数量;获取有效区域的面积作为肌电数据的肌电能量。
在本实施例中,第一处理单元12,具体用于在二维坐标系中获取包含所有数据点的待选区域;根据数据点的数量,将待选区域划分为至少两个预设形状的次级待选区域;从次级待选区域中确定有效区域,其中,有效区域中包含的数据点的数量大于预设数量。
在本实施例中,第二处理单元13,具体用于通过k均值聚类算法对肌电特征进行聚类,得到多组运动状态特征组。
在本实施例中,运动装置识别装置还包括:识别单元,用于获取待识别对象的待识别肌电数据;根据待识别肌电数据得到待识别对象的待识别肌电特征;确定与待识别肌电特征相匹配的运动状态特征组,作为识别结果;根据识别结果对应的运动状态识别结果,按运动状态识别结果对应的运动控制策略控制运动辅助装置进行运动。
如图7所示,本发明实施例提供了一种运动状态识别系统,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信;
存储器1130,用于存放计算机程序;
处理器1110,用于执行存储器1130上所存放的程序时,实现如下所示的方法:
获取被检测对象以不同行走速率在不同地面环境下行走的肌电数据;
根据肌电数据得到被检测对象在每个行走周期内的肌电特征;
对肌电特征进行聚类,得到多组运动状态特征组;
根据被检测对象行走时的地面环境和行走速率,对每组运动状态特征组添加运动状态识别结果。
本发明实施例提供的电子设备,处理器1110通过执行存储器1130上所存放的程序实现了通过获取被检测对象以不同运动状态在不同地面环境下行走的肌电数据,基于该肌电数据,划分被检测对象在每个行走周期内的肌电特征,后续通过对不同肌电特征进行聚类得到运动状态特征组,并根据被检测对象的运动状态和地面环境对应运动状态特征组添加相应的标识,在本方案中,用户可以自由的进行行走,而不需要以固定的行走要求进行行走,因为被检测对象是很难完全符合预设要求的,本方案在对被检测对象进行数据采集后,通过聚类使得具有同一共性的肌电特征聚集,然后在对每组运动状态特征组赋予相应的识别标签,保证特征与识别结果的准确匹配,变相提高了通过该运动状态特征组进行动作识别的准确性。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器1130还可以是至少一个位于远离前述处理器1110的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供了计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述任一实施例的运动状态识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。