法律状态公告日
法律状态信息
法律状态
2023-03-10
未缴年费专利权终止 IPC(主分类):G06K 9/00 专利号:ZL2010101341221 申请日:20100329 授权公告日:20121205
专利权的终止
2012-12-05
授权
授权
2011-01-05
实质审查的生效 IPC(主分类):G06K9/00 申请日:20100329
实质审查的生效
2010-11-24
公开
公开
技术领域
本发明涉及一种步行运动分类方法。特别是涉及一种获取行走时的加速度变化情况,并根据所得数据信号提出一种区分步行运动状态的基于3轴加速度传感器信号的步行运动分类方法。
背景技术
当今计算机技术飞速发展,各种计算机技术应用于不同的领域,随着掌上电脑的普及,传感器技术特别是传感器微型化技术的发展,使用运动检测系统更容易携带,运动信息的获取和处理更加方便,同时也促进了运动分类技术的发展。所谓运动分类算法指通过对获得的运动数据进行分析,将运动划分为站立、一般步行、跑动、上坡和下坡等不同的运动状态的一种运动分类方法。文献Zuolei Sun,Xuchu Mao,Weifeng Tian etc.,Activity classification and dead reckoning for pedestrian navigation withwearable sensors,Measurement Science and Technology,v20,n1,2009.和S.H.Lee,H.D.Park,S.Y.Hong etc.,A Study on Activity Classification Using a TriaxialAccelerometer,Annual International Conference of the IEEE Engineering inMedicine and Biology-Proceedings,v 3,p2941-2943,2003.指出,在人的步行运动的每一步中,慢速行走和快速行走会有不同的特征,通过检测这些特征,可以对运动进行分类。
在文献Seika-cho,Soraku-gun,Kyoto,Recognition of Walking Behaviors forPedestrian Navigation,Proceedings of the 2001 IEEE International Conference onControl Applications,September 5-7,2001 Mexico City,Mexico:1152-1155.中,Seika-cho等人使用一个双轴加速度传感器分别测量步行者的加速度,然后根据测得的加速度值进行计算,利用计算结果将运动分为平地行走、上坡和下坡等不同运动模式。该算法的关键是识别出一步中的4个峰值,但该文献并没有给出传感器模块不同的摆放倾角和摆放位置时的测量结果,也没有跑步状态的测量结果。
文献Zhenyu He,Zhibin Liu,Lianwen Jin etc.,Weightlessness Feature-A NovelFeature for Single Tri-axial Accelerometer based Activity Recognitions,2008 19thInternational Conference on Pattern Recognition,ICPR2008,December 08,2008-December 11,2008.则提出了传感器放置位置的不同会对不同运动类型的识别率有很大的影响。He等人把运动分类看作一个模式识别的问题,将加速度数据进行时域特征和频域特征的提取,使用SVM(Support Vector Machine)对运动分类。
此外还有人提出以窗口(windows/frames)为单位对信号进行分析,换句话说,即在同时对多种运动状态进行分析。
但这些分类算法都没有区分不同运动状态的运动速度。
发明内容
本发明所要解决的技术问题是,提供一种使用一定分类算法识别出不同的运动状态,然后根据不同运动状态按不同的方式计算每一次的运动距离,再结合运动方向,与之前的位置进行累加,获得当前位置的基于3轴加速度传感器信号的步行运动分类方法。
本发明所采用的技术方案是:一种基于3轴加速度传感器信号的步行运动分类方法,包括如下阶段:
1)将3轴加速度传感器固定于被测者脚踝上部,并通过USB接口与计算机相连接,并为分类软件设置各变量的初始值,获取运动时的不同加速度变化情况;
2)调用一步检测子程序,识别步行者每一步的开始与结束;
3)根据第二阶段中一步检测子程序输出的检测结果判断一步检测是否成功,成功,进入第4阶段,否则进入第13阶段;
4)调用下楼状态检测子程序;
5)判断是否处于下楼状态,是,进入第16阶段,否则进入第6阶段;
6)调用投票算法子程序;
7)判断是否处于上楼状态,是,进入第10阶段,否则进入第8阶段;
8)判断是否处于向前走状态,是,进入第9阶段,否则进入第11阶段;
9)设置运动状态为向前走状态,然后进入第16阶段;
10)设置运动状态为上楼状态,然后进入第16阶段;
11)设置运动状态为向后走状态,然后进入第16阶段;
12)设置运动状态为下楼状态,然后进入第16阶段;
13)判断当前加速度值是否溢出,是进入第15阶段,否则进入第14阶段:
14)为干扰信号,设置运动状态为静止状态,然后进入第16阶段;
15)设置运动状态为跑步状态,然后进入第16阶段;
16)返回运动状态,结束。
所述的调用一步检测子程序,识别步行者每一步的开始与结束,包括如下步骤:
1)从3轴加速度传感器采集采集加速度数据,并进行预处理和设定阈值范围;
2)调用极值检测子程序;
3)判断当前值是否为极值,是进入第4步骤,否则进入第13步骤;
4)判断当前极值是否为极大值,是进入第5步骤,否则进入第9步骤;
5)判断当前极值是否大于已设置的极大值阈值,是,进入第6步骤,否则返回第1步骤重新开始;
6)判断是否检测到加速度的第一个峰值,是,进入第8步骤,否则进入第7步骤;
7)设置检测第一峰处理阶段的标志为1,并记录所有极大值,直到得到最大值后返回第1步骤重新开始;
8)设置检测第三峰处理阶段的标志为3,并记录所有极大值,直到得到最大值后返回第1步骤重新开始;
9)判断当前极值是否小于已设置的极小值阈值,是进入第10步骤,否则否则返回第1步骤重新开始:
10)判断是否检测到加速度的第二个峰值,是,进入第12步骤,否则进入第11步骤:
11)设置检测第二峰处理阶段的标志为2,并记录所有极小值,直到得到最小值后返回第1步骤重新开始;
12)判断是否设置了第三峰处理阶段的标志,是,进入第14步骤,否则返回第1步骤重新开始:
13)判断当前极值是否在平衡点区间,是,进入第12步骤,否则返回第1步骤重新开始:
14)设置一步检出标志为1,用以表示成功检测出步行者的一步,并返回主程序。
所述的预处理包括有:绘制加速度的变化曲线,去掉干扰信号,使信号曲线变平。
所述的极值检测子程序,包括如下步骤:
1)计算diffCur和diffPre的值,其中,diffCur=t+1时刻的加速度-t时刻的加速度,diffPre=t时刻的加速度-t-1时刻的加速度;
2)判断diffCur×diffPre>0.0是否成立,是,则为当前曲线处于单调状态,即递增或递减状态,否则,进入第3步骤;
3)判断diffCur×diffPre=0.0是否成立,是,进入第5步骤,否则,进入第4步骤;
4)判断diffCur>0.0是否成立,是,为极小值,否则,为极大值;
5)判断diffCur=0.0逻辑或diffPre=0.0是否成立,是,进入第8步骤,否则,进入第6步骤;
6)判断(diffCur>0.0&diffPre>0.0)逻辑或(diffCur<0.0&diffPre<0.0)是否成立,是则为当前曲线处于单调状态,即递增或递减状态,否则,进入第7步骤;
7)判断diffCur<0.0&diffPre>0.0是否成立,是为极大值,否则为当前曲线处于单调状态,即递增或递减状态;
8)判断diffPre=0.0&diffCur!=0.0是否成立,是进入第11步骤,否则进入第9步骤;
9)判断diffPre!=0.0&diffCur=0.0是否成立,是进入第10步骤,否则为当前曲牌线处于单调状态,即递增或递减状态;
10)判断diffPre>0.0是否成立,是,则为极大值,否则为极小值;
11)判断diffCur>0.0是否成立,是,则为极小值,否则为极大值。
所述的下楼状态检测子程序,包括如下步骤:
1)设置下楼状态检测时间阈值,并设置下楼状态检出标志为0,表示未检测出下楼状态;
2)判断是否到达时间阈值,是,检测结束,返回主程序,否则调用极值检测子程序;
3)判断当前值是否为极值,是进入第4步骤,否则返回第2步骤;
4)判断当前极值是否为极大值,是进入第5步骤,否则返回第2步骤;
5)设置下楼状态检出标志为1,表示已检测出下楼状态,检测结束返回主程序。
所述的投票算法子程序,包括如下步骤:
1)设置F、B、U初始值为0,其中,F为向前票数,B为后退票数,U为上楼票数;
2)检测水平方向和全局加速度,其中X轴为水平方向;
3)判断是否具有向前运动的特征,是,则F+1,否则B+1;
4)检测垂直方向和全局加速度,其中Z轴为垂直方向;
5)判断相邻波峰距离是否在设定阈值内,是,则F+1,否则U+1;
6)检测垂直方向和全局加速度,其中Z轴为垂直方向;
7)判断是否最具有上楼运动的特征,是,则U+1,否则B+1;
8)比较票数,当F=B=U=1时,为判断出错,返回第1步骤重新检测;当F=2时,为向前状态,检测结束返回主程序;当U=2时,为上楼状态,检测结束返回主程序;当B=2时,为向后状态,检测结束返回主程序。
本发明的基于3轴加速度传感器信号的步行运动分类方法,通过使用一个3轴的加速度传感器,然后对测得的加速度值进行分析,对步行时的运动状态进行分类。实现步行时运动状态的分类,为个人导航系统(PNS,Personal Navigation Systems),M-health系统或者在一些GPS信号覆盖不到的地区,在估算步行者位置提供了一种有效的解决方案。
附图说明
图1是本发明的整体流程图;
图2是本发明的一步检测算法流程;
图3是本发明的极值检测算法流程图;
图4是本发明的下楼状态检测算法流程图;
图5是本发明的投票算法实现流程图;
图6是传感器放置位置示意图;
图7是加速度变化模式;
图8是步行者奔跑时的加速度信号变化曲线图;
图9是步行者下楼时的加速度信号变化曲线图;
(a)慢速/正常速度运动 (b)正常速度/快速运动
图10是步行者向前走时的加速度信号变化曲线图;
(a)慢速运动 (b)正常速度运动
图11是步行者向后退时的加速度信号变化曲线图;
(a)慢速运动 (b)正常速度运动
图12是步行者上楼时的加速度信号变化曲线图。
(a)慢速/正常速度运动 (b)正常速度/快速运动
其中:
diffCur=t+1时刻的加速度-t时刻的加速度
diffPre=t时刻的加速度-t-1时刻的加速度
MONOTOME:当前曲牌线处于单调(递增或递减)状态
MINIMUM:极小值
MAXIMUM:极大值
1:支撑物 2:3轴加速度传感器
3:脚踝 S:一步的间隔
具体实施方式
下面结合实施例和附图对本发明的基于3轴加速度传感器信号的步行运动分类方法做出详细说明。
如图1所示,本发明的基于3轴加速度传感器信号的步行运动分类方法,包括如下阶段:
一)将3轴加速度传感器固定于被测者脚踝上部,如图6所示,并通过USB接口与计算机相连接,并为分类软件设置各变量的初始值,获取运动时的不同加速度变化情况;
本发明将步行运动分为跑,向前行走,向后行走,上楼和下楼五种状态,我们通过一个3轴加速度传感器2获取运动时的不同加速度变化情况。
二)调用一步检测子程序,识别步行者每一步的开始与结束;
首先,需要识别出步行者每一步的开始与结束。在加速度传感器所测得的数据中,每一步加速度做有规律的变化,其变化模式如图7所示,每一步加速度变化曲线始终呈现“波峰-波谷-波峰”三个阶段,因此,当三个阶段都检测完毕,即识别出一步,称之为“一步检测算法”。
所述的调用一步检测子程序,识别步行者每一步的开始与结束,如图2所示,包括如下步骤:
1)从3轴加速度传感器采集采集加速度数据,并进行预处理和设定阈值范围,所述的预处理包括有:绘制加速度的变化曲线,去掉干扰信号,使信号曲线变平;
2)调用极值检测子程序;
所述的极值检测子程序,如图3所示,包括如下步骤:
(1)计算diffCur和diffPre的值,其中,diffCur=t+1时刻的加速度-t时刻的加速度,diffPre=t时刻的加速度-t-1时刻的加速度;
(2)判断diffCur×diffPre>0.0是否成立,是,则为当前曲线处于单调状态,即递增或递减状态,否则,进入第3步骤;
(3)判断diffCur×diffPre=0.0是否成立,是,进入第5步骤,否则,进入第4步骤;
(4)判断diffCur>0.0是否成立,是,为极小值,否则,为极大值;
(5)判断diffCur=0.0逻辑或diffPre=0.0是否成立,是,进入第8步骤,否则,进入第6步骤;
(6)判断diffCur>0.0&diffPre>0.0逻辑或diffCur<0.0&diffPre<0.0是否成立,是则为当前曲线处于单调状态,即递增或递减状态,否则,进入第7步骤;
(7)判断diffCur<0.0&diffPre>0.0是否成立,是为极大值,否则为当前曲线处于单调状态,即递增或递减状态;
(8)判断diffPre=0.0&diffCur!=0.0是否成立,是进入第11步骤,否则进入第9步骤;
(9)判断diffPre!=0.0&diffCur=0.0是否成立,是进入第10步骤,否则为当前曲线处于单调状态,即递增或递减状态;
(10)判断diffPre>0.0是否成立,是,则为极大值,否则为极小值;
(11)判断diffCur>0.0是否成立,是,则为极小值,否则为极大值。
3)判断当前值是否为极值,是进入第4步骤,否则进入第13步骤;
4)判断当前极值是否为极大值,是进入第5步骤,否则进入第9步骤;
5)判断当前极值是否大于已设置的极大值阈值,是,进入第6步骤,否则返回第1步骤重新开始;
6)判断是否检测到加速度的第一个峰值,是,进入第8步骤,否则进入第7步骤;
7)设置检测第一峰处理阶段的标志为1,并记录所有极大值,直到得到最大值后返回第1步骤重新开始;
8)设置检测第三峰处理阶段的标志为3,并记录所有极大值,直到得到最大值后返回第1步骤重新开始;
9)判断当前极值是否小于已设置的极小值阈值,是进入第10步骤,否则否则返回第1步骤重新开始:
10)判断是否检测到加速度的第二个峰值,是,进入第12步骤,否则进入第11步骤:
11)设置检测第二峰处理阶段的标志为2,并记录所有极小值,直到得到最小值后返回第1步骤重新开始;
12)判断是否设置了第三峰处理阶段的标志,是,进入第14步骤,否则返回第1步骤重新开始:
13)判断当前极值是否在平衡点区间,是,进入第12步骤,否则返回第1步骤重新开始:
14)设置一步检出标志为1,用以表示成功检测出步行者的一步,并返回主程序。
三)根据第二阶段中一步检测子程序输出的检测结果,判断一步检测是否成功,当一步检测子程序输出的检测结果是1判断为成功,进入第四阶段,否则进入第十三阶段;
在检测出每一步的运动之后,开始通过对每一步的运动进行分析,以识别当前该步行者正在进行的运动状态。
由于速度的变化对加速度曲线的形状影响很大,因此,当步行者奔跑的时候,可能不容易检测出“波峰-波谷-波峰”序列。因为,当步行者奔跑时,其运动速度可能高于传感器的采样速度,导致每一步都与分别其前一步和后一步共享一个“波峰”。步行者奔跑时的加速度变化如图8,其中由上至下,第一条曲线表示水平方向的加速度变化,第二条表示全局加速度变化,第三条表示垂直方向的加速度变化。
此时,若一步检测算法失败,在确定不是由干扰引起信号变化后,可判断当前的运动状态为奔跑。
若一步检测算法成功,则说明当前步行者处于向前走,向后退,上楼,下楼四种状态之一。若在成功地检测到“两峰一谷”的信号后,在规定时间阈值内还能检测到第三个“波峰”则说明当前运动状态为下楼。下楼的加速度信号变化曲线如图9,该信号变化的特点即为每一步出现三个“波峰”。
四)调用下楼状态检测子程序;
所述的下楼状态检测子程序,如图4所示,包括如下步骤:
1)设置下楼状态检测时间阈值,并设置下楼状态检出标志为0,表示未检测出下楼状态;
2)判断是否到达时间阈值,是,检测结束,返回主程序,否则调用极值检测子程序;
3)判断当前值是否为极值,是进入第4步骤,否则返回第2步骤;
4)判断当前极值是否为极大值,是进入第5步骤,否则返回第2步骤;
5)设置下楼状态检出标志为1,表示已检测出下楼状态,检测结束返回主程序。
五)判断是否处于下楼状态,是,进入第十六阶段,否则进入第六阶段;
六)调用投票算法子程序;
若在成功地检测到“两峰一谷”的信号后,未检测出第三个“波峰”,则说明运动状态只可能为向前走,向后退,上楼三种之一。由于这三种运动状态呈现出的加速度变化规律有一定的相似度,因此本发明采用“投票”的方式识别步行者当时实际的运动状态,“投票”一共进行三轮。
第一轮:向前状态vs.向后状态。二者相似处在于连续两个“波峰”的距离基本相等,因此判断加速度水平方向(X方向)和全局曲线的形状,若曲线形状是尖的,则向前运动状态获得“一票”;反之,向后运动状态获得“一票”。
第二轮:向前状态vs.上楼状态。二者相似处在于加速度曲线形状均为尖的,因此判断加速度垂直方向(Y方向)和全局曲线的形状,当两个“波峰”相距较近时,向前状态获得“一票”;反之,上楼状态获得“一票”。
第三轮:向后状态vs.向上状态。本轮中,结合两种状态加速度垂直方向(Y方向)和全局曲线的特点,设置一个阈值,若测得的最小加速度值比阈值小,则上楼运动状态获得“一票”;反之,向后状态获得“一票”。
在三轮的“投票”之后,票数为两票的运动状态“获胜”。三种运动状态的加速度变化曲线图如图10,11,12所示。
所述的投票算法子程序,如图5所示,包括如下步骤:
1)设置F、B、U初始值为0,其中,F为向前票数,B为后退票数,U为上楼票数;
2)检测水平方向和全局加速度,其中X轴为水平方向;
3)判断是否具有向前运动的特征,是,则F+1,否则B+1;
4)检测垂直方向和全局加速度,其中Z轴为垂直方向;
5)判断相邻波峰距离是否在设定阈值内,是,则F+1,否则U+1;
6)检测垂直方向和全局加速度,其中Z轴为垂直方向;
7)判断是否最具有上楼运动的特征,是,则U+1,否则B+1;
8)比较票数,当F=B=U=1时,为判断出错,返回第1步骤重新检测;当F=2时,为向前状态,检测结束返回主程序;当U=2时,为上楼状态,检测结束返回主程序;当B=2时,为向后状态,检测结束返回主程序。
七)判断是否处于上楼状态,是,进入第十阶段,否则进入第八阶段;
八)判断是否处于向前走状态,是,进入第九阶段,否则进入第十一阶段;
九)设置运动状态为向前走状态,然后进入第十六阶段;
十)设置运动状态为上楼状态,然后进入第十六阶段;
十一)设置运动状态为向后走状态,然后进入第十六阶段;
十二)设置运动状态为下楼状态,然后进入第十六阶段;
十三)判断当前加速度值是否溢出,是进入第十一阶段,否则进入第十四阶段:
十四)为干扰信号,设置运动状态为静止状态,然后进入第十六阶段;
十五)设置运动状态为跑步状态,然后进入第十六阶段;
十六)返回运动状态,结束。
机译: 用于监控的混合传感器机动车的轮胎压力,具有在垂直方向获取加速度的加速度传感器元件,以及基于存储的数据和传感器信号来识别轮胎缺陷的控制单元
机译: 确定便携式设备的装置轴的位置的方法车辆中的智能手机涉及基于测得的车辆加速度与设备加速度之间的比较来确定设备轴的倾斜角度
机译: 螺丝刀具有传感器,该传感器布置成响应于工具主轴在轴向方向上的加速度而监视工具主轴,以及用于基于传感器信号控制驱动的控制器