一种基于加速度的步态事件检测方法及装置与流程

文档序号:26434756发布日期:2021-08-27 13:31阅读:281来源:国知局
一种基于加速度的步态事件检测方法及装置与流程

本发明涉及模式识别技术领域,具体涉及一种基于加速度的步态事件检测方法及装置。



背景技术:

步态是指走路时所表现的运动姿态,是一个连续的周期性运动。受运动习惯、伤残、疾病等因素的影响,不同的人的步态模式一般互不相同。对步态模式的研究和应用分为步态识别和步态分析两个方向。步态识别是模式识别领域的研究人员采用步态模式识别行人的身份;步态分析是医学领域的研究者将步态模式用于疾病诊断。这两种应用都是以步态周期事件检测为基础,因此步态周期事件的自动检测是步态识别和医学异常步态分析等人工智能应用的基础性问题。

目前步态事件检测方法主要分为两类:基于可穿戴传感器的步态事件检测方法和基于视觉的步态事件检测方法。基于视觉的步态事件检测方可以直接从单个或多个摄像机捕获的视频数据中检测步态事件,不需要任何其他特殊传感器的配合。与可穿戴传感器相比,摄像头更便宜,使用也更方便。但是,光照、透视和服装的变化使得从二维视频数据中检测步态事件更具有挑战性,基于边缘、梯度等手工设计特征的判别性不强,对光照、透视等较为敏感。基于可穿戴传感器的步态事件检测方法可以通过采集人体下肢关节和节段的运动数据准确检测步态事件。由于其精度较高,己经广泛应用于医学领域的异常步态评估。测力板和光学运动捕捉系统是最常见的步态检测设备,但价格昂贵、应用条件苛刻。另外,人们也使用一些可移动的、轻便的、成本低的检测设备,如嵌入在鞋底的足底压力开关、可穿戴的加速度计及陀螺仪等用于步态事件的检测,但多数需要被检测人的高度配合。因此设计一种成本低廉、步态事件检测准确的算法具有重要意义。



技术实现要素:

本发明针对现有技术中存在的技术问题,提供一种基于加速度的步态事件检测方法及装置,通过分析三轴加速度数据进行步态事件识别,提高硬件资源的利用率、减少传感器数量、提高步态事件检测的准确性、减少计算资源消耗,解决了基于穿戴式传感器的步态事件识别所需设备价格昂贵、应用条件苛刻、需要被测试者高度配合等瓶颈问题。

本发明解决上述技术问题的技术方案如下:

第一方面,本发明提供一种基于加速度的步态事件检测方法,包括以下步骤:

s1,获取三轴加速度能量信号及三轴加速度信号,并对所述三轴加速度能量信号和三轴加速度信号进行滤波平滑处理;所述三轴加速度包括前后向加速度、垂直加速度和侧边加速度;

s2,采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2;

s3,针对点集zc2中任一点zck,在以点zck的横坐标为中心的预设搜索窗口范围内搜索前后向加速度的最大值,则该值对应的时刻即为脚跟着地时刻,该值右最近邻波谷对应的时刻即为脚趾离地时刻。

进一步的,对三轴加速度能量信号进行滤波平滑处理,包括:

分别使用三个σ不同的高斯滤波器对三轴加速度能信号e(i)进行滤波处理,得到三个滤波信号eσ1(i)、eσ2(i)、eσ3(i);σ1<σ2<σ3;

为了保留能量信号的大部分能量尽可能的抑制噪声,将三个滤波信号eσ1(i)、eσ2(i)、eσ3(i)相乘得到输出信号pe(i);

令输出信号pe(i)减去滤波信号eσ3(i)得到信号se(i)。

所述σ1、σ2、σ3的取值由一步时间steptime决定,一步时间steptime的取值范围为(tmin,tmax),tmin是steptime的最小值,tmax是steptime最大值。三个高斯滤波器的σ取值如下:σ1=tmin/4,σ2=(tmin+tmax)/4,σ3=tmax/4。

进一步的,对三轴加速度信号进行滤波平滑处理,包括:

分别使用两种不同σ的高斯滤波器对三轴加速度信号中的垂直加速度y(i)进行滤波得到信号yσ4(i)和yσ5(i);σ4<σ5;

计算信号sy(i),sy(i)=yσ4(i)-yσ5(i)。

进一步的,所述的采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2,包括:

对信号sy(i)进行峰值检测和过零点检测,得到峰值点集pksy和过零点集zc;

剔除集合zc中纵坐标由正到负的过零点,得到集合zc1;

设置峰值阈值,并筛选集合zc1中的过零点:若集合zc1中的过零点zck与其在右侧最邻近的峰值点的横坐标差值小于预设值且该峰值点的幅值大于峰值阈值,提取过零点zck,构成集合zc2。

进一步的,所述的峰值阈值为三轴加速度能量信号进行滤波平滑处理后得到的信号se(i)的最大峰值点振幅的l倍,l的取值范围为(0.45,0.65)。

第二方面,本发明提供一种基于加速度的步态事件检测装置,包括:

信号获取及预处理模块,用于获取三轴加速度能量信号及三轴加速度信号,并对所述三轴加速度能量信号和三轴加速度信号进行滤波平滑处理;所述三轴加速度包括前后向加速度、垂直加速度和侧边加速度;

筛选模块,采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2;

定位模块,针对点集zc2中任一点zck,在以点zck的横坐标为中心的预设搜索窗口范围内搜索前后向加速度的最大值,则该值对应的时刻即为脚跟着地时刻,该值右最近邻波谷对应的时刻即为脚趾离地时刻。

第三方面,本发明提供一种电子设备,包括:

存储器,用于存储计算机软件程序;

处理器,用于读取并执行所述存储器中存储的计算机软件程序,以实现本发明第一方面所述的一种基于加速度的步态事件检测方法。

第四方面,本发明提供一种非暂态计算机可读存储介质,所述存储介质中存储有用于实现本发明第一方面所述的一种基于加速度的步态事件检测方法的计算机软件程序。

本发明的有益效果是:本发明仅依靠一组三轴加速度数据识别步态事件,解决了基于穿戴式传感器的步态事件识别所需设备价格昂贵、应用条件苛刻、需要被测试者高度配合等瓶颈问题,提高硬件资源的利用率、减少传感器数量、提高步态事件检测的准确性、减少计算资源消耗。

附图说明

图1为一次跨步的步态事件示意图;

图2为ap加速度曲线示意图;

图3为三轴加速度方向示意图;

图4为基于加速度的步态事件检测方法流程示意图;

图5为基于加速度的步态事件检测装置结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

相关符号定义与缩写:

hs(heelstrike):脚跟着地

hsr:右脚跟着地

hsl:左脚跟着地

to(toeoff):脚趾离地

tor:右脚趾离地

tol:左脚趾离地

ap(anteroposterior):前后方向

vt(vertical):垂直方向

ml(medio-lateral):侧边方向

vvi(verticalvibration):垂直振动

gct(groundcontacttime):触地时间

step:步幅

steptime:迈步时间

step_fre:步频

tsample:加速度传感器采样时间

跑步动态参数基本计算原理

如图1所示为跑步过程中一次跨步所涉及的步态事件,如果能准确定位相应步态事件发生的时间,步幅(step)、垂直振动(vvi)、触地时间(gct)、迈步时间(steptime)、步频(step_fre)等一些动态数据可以通过分析得到。

其中:

gct=tor–hsr

vvi=1/2gt2,t=1/2(hsl-tor)

由于连续两次加速度传感器采样时间间隔很短,在计算步幅时可将该时间段内运动视为匀加速运动,从初始时刻开始,初速度为v0,第i次采样后速度为vi=aap×tsample+vi-1,则第i次采样时间间隔内的运动距离si=1/2(vi+vi-1)tsample,因此可以推导出:

相邻两次脚跟着地的时间间隔即为迈步时间(秒):

steptime=hs(i)-hs(i-1)

步频为一分钟(60秒)内跑过的步数:

step_fre=60/steptime

n步的平均迈步时间(steptimeaverage):

n步的平均步频(step_freaverage):

step_freaverage=60/steptimeaverage

实施例一

本发明实施例提供一种基于加速度的步态事件检测方法。定义hs、to的识别标准:在ap加速度信号中,相关最大峰为hs事件发生时刻,在hs事件发生后的一个小邻域内的局部最小峰为to事件发生时刻。

而ap加速度信号中存在多处局部最大值与局部最小值,如图2所示,不易直接判断出hs和to。利用三轴加速度计得到ap、vt、ml三个方向的加速度,如图3所示,对加速度信号进行滤波平滑处理,消除局部干扰后,使用峰值检测和过零点检测定位hs、to事件发生时刻。具体的,该方法,如图4所示,包括以下步骤:

s1,在时刻i获取三轴加速度能量信号e(i)及三轴加速度信号,并对所述三轴加速度能量信号和三轴加速度信号进行滤波平滑处理;

所述三轴加速度包括前后向加速度x(i)、垂直加速度y(i)和侧边加速度z(i);x(i)、y(i)、z(i)采样时刻相同,横坐标统一。本实例中三轴加速度能量信号指传感器测得的三轴加速度矢量和的幅值。由于个体步长不相同,e(i)信号由3个参数不同的高斯滤波器滤波平滑处理后得到3个滤波信号eσ1(i)、eσ2(i)、eσ3(i);

高斯滤波器参数σ1、σ2、σ3的取值由预先确定的steptime范围决定,σ越大,高斯滤波器产生的平滑效果更强。一步时间steptime的取值范围为(tmin,tmax),tmin是steptime的最小值,tmax是steptime最大值。三个高斯滤波器的σ取值如下:σ1=tmin/4,σ2=(tmin+tmax)/4,σ3=tmax/4。

为了保留能量信号的大部分能量尽可能的抑制噪声,将三个滤波信号eσ1(i)、eσ2(i)、eσ3(i)相乘得到输出信号pe(i),再令输出信号pe(i)减去滤波信号eσ3(i)得到信号se(i),该信号包含大量能量,非常接近hs。

s2,分别使用两种不同σ的高斯滤波器对三轴加速度信号中的垂直加速度y(i)进行滤波得到信号yσ4(i)和yσ5(i);本实施例中σ4=50ms,σ5=100ms。

通过对比yσ4(i)和前后加速度信号z(i)信号,根据经验发现,hs事件发生在yσ4(i)的局部最大值和前一个局部最小值之间,yσ4(i)和yσ5(i)的信号曲线相交于局部最大与局部最小之间的某点,为了方便找到yσ4(i)和yσ5(i)两个信号交点的横坐标,这里使用过零点检测法,将两信号相减后得到sy(i),sy(i)=yσ4(i)-yσ5(i),再找sy(i)与y轴的交点。

s3,采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2;

这里,首先对信号sy(i)进行峰值检测和过零点检测,得到峰值点集pksy和过零点集zc;

其次,剔除集合zc中纵坐标由正到负的过零点,得到集合zc1;

然后,为了筛除由噪声带来的幅值小的波峰,设置峰值阈值为信号se(i)的最大峰值点振幅的l倍,l的取值根据经验确定,一般取值范围为(0.45,0.65)。在本实施例中峰值阈值取最大峰值点幅值的0.51倍,对应的幅值为0.13。

最后,在sy(i)中检测集合zc1中的过零点zck与其在右侧最邻近的峰值点的横坐标差值。若集合zc1中的过零点zck与其在右侧最邻近的峰值点pi的横坐标差值|pi-zck|<th且该峰值点pi的幅值大于峰值阈值,则提取过零点zck,构成集合zc2。

这里需要说明的是,th是一个预设阈值,是为了确定一个搜索范围,以确保对步态事件检测结果的完整性和准确性。信号sy(i)中存在很多过零点,th的取值与相邻过零点之间间距的平均值有关,例如th可以取所述间距平均值的1/3。

s4,针对点集zc2中任一点zck,在以点zck的横坐标为中心的预设搜索窗口范围内搜索前后向加速度的最大值,则该值对应的时刻即为脚跟着地hs时刻,该值右最近邻波谷对应的时刻即为脚趾离地to时刻。

这里预设搜索窗口范围为(zck-th,zck+th)。

在定位hs、to事件发生时刻后,通过如下几种方法可以推导计算跑步参数:

1、左右脚判断算法

取x轴前m个(m为奇数)波峰点的横坐标,构成一个数组[t1,t2,t3…tm],取y轴所有波峰点的横坐标,构成一个数组[t1,t2,t3…tn],基于上面两个数组,构建m个新的数组:

[t1-t1,t2-t1,t3-t1…tn-t1],

[t1-t2,t2-t2,t3-t2…tn-t2],

...

[t1-tm,t2-tm,t3-tm…tn-tm],

对m个数组的所有元素取绝对值,在每一个数组中分别找出最小数的序号,按序号的奇偶性分类,统计序号为奇数的个数和序号为偶数的个数,若奇数的个数大于偶数的个数,则y轴序号为奇数的峰值点对应的是右脚跟着地;反之,则y轴序号为偶数的峰值点对应的是右脚跟着地。

2、触地平衡算法

触底平衡检测的目的是检测跑步者的双脚受力情况,避免跑步时腿部受伤。

由连续2k个触地时间构成的数组中,触地平衡的算法是:序号为奇数的触地时间之和除以全部触地时间之和。

实施例二

本发明实施例提供一种基于加速度的步态事件检测装置,如图5所示,包括:

信号获取及预处理模块,用于获取三轴加速度能量信号及三轴加速度信号,并对所述三轴加速度能量信号和三轴加速度信号进行滤波平滑处理;所述三轴加速度包括前后向加速度、垂直加速度和侧边加速度;

筛选模块,采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2;

定位模块,针对点集zc2中任一点zck,在以点zck的横坐标为中心的预设搜索窗口范围内搜索前后向加速度的最大值,则该值对应的时刻即为脚跟着地时刻,该值右最近邻波谷对应的时刻即为脚趾离地时刻。

实施例三

本发明实施例提了一种电子设备,包括存储器、处理器;存储器内存储有计算机软件程序;处理器读取并执行所述存储器中存储的计算机软件程序,以实现一种基于加速度的步态事件检测方法,所述方法包括以下步骤:

s1,获取三轴加速度能量信号e(i)及三轴加速度信号,并对所述三轴加速度能量信号和三轴加速度信号进行滤波平滑处理;所述三轴加速度包括前后向加速度x(i)、垂直加速度y(i)和侧边加速度z(i);

s2,分别使用两种不同σ的高斯滤波器对三轴加速度信号中的垂直加速度y(i)进行滤波得到信号yσ4(i)和yσ5(i);

s3,采用峰值检测和过零点检测,筛选处理后的垂直加速度信号中局部最大且超过峰值阈值的点,构成点集zc2;

s4,针对点集zc2中任一点zck,在以点zck的横坐标为中心的预设搜索窗口范围内搜索前后向加速度的最大值,则该值对应的时刻即为脚跟着地hs时刻,该值右最近邻波谷对应的时刻即为脚趾离地to时刻。

需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1