一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跌倒检测方法与流程

2021-09-29 04:44:00 来源:中国专利 TAG:跌倒 监测 检测方法 健康


1.本发明属于健康监测技术领域,涉及一种跌倒检测方法。


背景技术:

2.现有的老人监护系统多是通过长期积累用户大量健康数据,对这些数据进行挖掘分析,周期过长,成本过高。这种模式的监护系统常常结构设计复杂、数据处理缓慢、效率低下,不能满足老人看护者及时获取老人紧急状况如跌倒的需求。随着人们对健康的重视程度不断提高,在对老年人或病人的看护和健康管理工作中,如何提高看护的效率,节省看护的人力成本,第一时间检测到老人或病人的异常,是目前看护及健康管理工作中亟待解决的问题。若在发生跌倒的情况下,及时准确的跌倒检测和报警可以为抢救和治疗赢得宝贵时间,对保障用户健康和提高医疗监护水平都具有重要意义。因此,需要一种高效的、灵敏的跌倒检测机制以实现对老人或病人的有效看护。


技术实现要素:

3.为解决上述问题,本发明提出了一种跌倒检测方法,包括以下步骤:
4.s1,对三轴加速度传感器所采集的数据进行加速度计算,通过bp神经网络确定阈值范围,比较加速度是否超出来判断人体当前的运动是否异常激烈;
5.s2,通过s1计算出的加速度数据乘以时间再对时间的积分进一步计算出人体相对能量损耗,比较是否超出设定阈值来判断人当前的运动是否异常激烈;
6.s3,利用三轴陀螺仪采集数据,通过卡尔曼滤波算法计算出人体的倾斜角和横滚角,通过判断二者是否超过设定阈值来确定人体的姿态是否异常。
7.优选地,所述s1具体包括以下步骤:
8.由采集获取的三轴加速度值a
x
,a
y
,a
z
表示x、y、z轴的加速度,a
all
代表合加速度;将加速度特征组合样本表示为x={x1,x2,x3,,,x
n
},n表示为训练样本的个数;将跌倒的样本标记为1,不跌到的样本标记为0,那么样本对应表示为y={y1,y2,y3,,,y
n
},y表示样本类别,取值范围为0或1;
9.本方法基于三层神经网络结构,三层包括两个隐藏层和一个输出层;
10.前向传播阶段:
11.输入的样本为:x
i
={a
x
,a
y
,a
z
},i=1,2,,,,n
12.第一层隐藏层有3个神经元,编号为1,2,3,第一层网络的参数为:
[0013][0014]
b
(1)
=[b1,b2,b3];
[0015]
其中,w
(ax,1)
为x轴加速度在第一个神经元的权重,以此类推;b1为第一个神经元的
偏置,以此类推;w
(1)
为第一层隐藏层的权重矩阵,以此类推;b
(1)
为第一层隐藏层的偏置矩阵,以此类推;
[0016]
第二层有2个神经元,编号为4,5,第二层隐藏层的参数为:
[0017][0018]
b
(2)
=[b4,b5]
[0019]
第三层有1个神经元,编号为6,参数为:
[0020]
w
(3)
=[w
(4,6) w
(5,6)
]
[0021]
b
(3)
=[b6]
[0022]
得第一层隐藏层的输入为:
[0023][0024][0025][0026]
z1为第1个神经元的输入,以此类推,
[0027]
选择logistic函数:作为该层的激活函数,k=1,2,3,表示层数,该层的输出为f
11
(z1)、
[0028]
第二层隐藏层的输入为:
[0029][0030][0031]
该层的输出分别为
[0032]
输出层只有一个神经元,该层的输入为:
[0033][0034]
最后的输出为
[0035]
误差反向传播阶段:
[0036]
使用随机梯度下降的方式来学习神经网络的参数,设定损失函数:其中y是该样本的真实类标,是神经网络的预测值,是使用梯度下降进行参数的学习,计算出损失函数关于神经网络中各层参数的偏导数:
[0037][0038][0039]
计算
[0040]
第k层神经元的输入为:z
(k)
=w
(k)
·
n
(k

1)
b
(k)
,n
(k

1)
为第k

1层神经元的输出,以此类推,n
(k

1)
=f
k
‑1(z
(k

1)
);
[0041]
分别求偏导解得分别求偏导解得代表第k层神经元的权重矩阵w
(k)
的第m行,代表着第k层神经元的权重矩阵w
(k)
的第m行中的第n列;
[0042][0043]
计算偏导数
[0044]
称为误差项,用δ
(k)
表示;
[0045]
第k 1层神经元的输入为:z
(k 1)
=w
(k 1)
·
n
(k)
b
(k 1)

[0046][0047]

[0048]
于是
[0049]
更新参数阶段:
[0050]
在误差反向传播阶段中已经计算出每一层的误差项,在本阶段中利用每一层的误差项和梯度来更新每一层的权重w
(k)
和偏置b
(k)
:
[0051]
w
(k)
=w
(k)

α(δ
(k)
(n
(k

1)
)
t
w
(k)
)
[0052]
b
(k)
=b
(k)

αδ
(k)

[0053]
其中,α是学习率;
[0054]
通过样本不断输入,最后得到的参数即构成本神经网络模型的参数,从而确定加速度的阈值范围;若判定表明当前用户的加速度异常时,则执行s2。
[0055]
优选地,所述s2具体包括:
[0056]
当加速度判定当前行为为跌倒时,则进入第二级能量判定做进一步分析:依据人体在跌倒过程中不同姿态所损耗的能量的不同来判定是否为跌倒状态,状态能量损耗可以通过动态加速度在特定时间域上的积分乘以重力加速度求得,其计算公式为:
[0057]
energy=g∫a
z
tdt;
[0058]
其中,g为重力加速度,a
z
为z轴加速度,t为特定时间域;
[0059]
若能量判定算法判定的结果未超出阈值,则表明了s1中预置的加速度跌倒特征与用户个性化的加速度跌倒阈值存在矛盾,此时用新的特征修正存储器中的预置加速度跌倒阈值;
[0060]
若能量判定表明当前用户的运动异常时,则执行s3。
[0061]
优选地,所述s3具体包括:
[0062]
用四元数及三轴陀螺仪静态漂移值作为卡尔曼滤波的状态量x(k|k

1)=[q1,q2,q3,q4,ω
x

y

z
]
t

[0063]
其中,x(k|k

1)为k时刻的状态量,q1,q2,q3,q4为四元数值,ω
x

y

z
为三轴陀螺仪静态漂移值;
[0064]
更新k时刻的状态估计量:x(k|k

1)=ax(k

1|k

1);
[0065]
其中,
[0066][0067]
其中,x(k

1|k

1)为k

1时刻的最优状态量,a为状态转移矩阵,t
s
为采样周期;
[0068]
得k时刻协方差估计值p(k|k

1)=ap(k

1|k

1)a
t
q;
[0069]
其中,p(k

1|k

1)为k

1时刻最优协方差,q为系统噪声方差矩阵;
[0070]
最优状态估计x(k|k)=x(k|k

1) k
k
(z
k

hx(k|k

1)),k
k
为最优卡尔曼增益;z
k
为量测值:
[0071]
z
k
=[a
x
,a
y
,a
z
]
t
[0072][0073][0074]
得卡尔曼增益:
[0075]
其中,r为量测噪声方差矩阵;
[0076]
得k时刻协方差最优估计值:p(k|k)=(i

k
k
h)p(k|k

1),其中,i为单位矩阵;
[0077]
通过以上卡尔曼滤波后得到k时刻最优状态量x(k|k)=[q0,q1,q2,q3,ω
x

y

z
]
t
,通过比较四元数姿态矩阵与方向余弦矩阵后得到俯仰角和横滚角:
[0078][0079]
若倾斜角和横滚角判定人体当前处于正常状态,则用新的特征修正加速度、能量判定阈值;若倾斜角和横滚角判定人体当前处于跌倒状态,则最终判定人体当前发生跌倒并报警。
[0080]
优选地,方法对应的装置包括微处理器、与微处理器连接的三轴加速度计、三轴陀螺仪、北斗模块、时钟模块、4g模块、外部存储模块、电源模块,还包括上位机管理模块,上位机管理模块包括查询模块、数据库;
[0081]
其中,所述微处理器与北斗模块与4g模块通过串口方式连接,三轴加速度计与三轴陀螺仪通过ic总线接口与微处理器连接;微处理器控制三轴加速度计和三轴陀螺仪进行数据采集,通过北斗模块进行室外定位,控制报警信息的发送,控制外部存储模块的数据读写和擦除;微处理器发送求救指令唤醒4g模块,4g模块以短信的形式将定位信息和报警信息发送给看护者;北斗模块在默认情况下工作在睡眠模式,在判断为跌倒状态下,微处理器发送定位指令唤醒北斗模块,北斗模块搜索卫星信号进行定位;外部存储模块进行缓存定位和加速度;时钟模块为微处理器提供时间参考信息;数据库存储采集到的数据;查询模块,对佩戴装置者的位置和姿态进行查询。
[0082]
本发明有益效果至少包括:穿戴设备端通过传感器模块接收数据,微处理器对以上数据进行基于自适应多级跌倒检测算法的计算,检测到跌倒时,微处理器发出报警指令,穿戴设备端通过北斗模块进行定位,通过4g模块发送报警信息到管理系统端,上位机管理模块可以通过查询模块和数据库查询,便于对人体进行健康管理。时钟模块,为设备端提供时间参考信息。外部存储模块,负责缓存定位、跌倒检测信息。多级跌倒判定提高了输出结果的可靠性,尽可能地减少了判定算法中出现的误判与遗漏的可能,使该系统具有了根据用户特点进行自适应的能力。
附图说明
[0083]
图1为本发明实施例的跌倒检测方法的步骤流程图;
[0084]
图2为本发明实施例的跌倒检测方法的对应装置结构框图。
具体实施方式
[0085]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0086]
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
[0087]
参见图1,为本发明的方法步骤流程图,包括以下步骤:
[0088]
s1,对三轴加速度传感器所采集的数据进行加速度计算,通过bp神经网络确定阈值范围,比较加速度是否超出来判断人体当前的运动是否异常激烈;
[0089]
s2,通过s1计算出的加速度数据乘以时间再对时间的积分进一步计算出人体相对能量损耗,比较是否超出设定阈值来判断人当前的运动是否异常激烈;
[0090]
s3,利用三轴陀螺仪采集数据,通过卡尔曼滤波算法计算出人体的倾斜角和横滚角,通过判断二者是否超过设定阈值来确定人体的姿态是否异常。
[0091]
s1具体包括以下步骤:
[0092]
由采集获取的三轴加速度值a
x
,a
y
,a
z
表示x、y、z轴的加速度,a
all
代表合加速度;将加速度特征组合样本表示为x={x1,x2,x3,,,x
n
},n表示为训练样本的个数;将跌倒的样本标记为1,不跌到的样本标记为0,那么样本对应表示为y={y1,y2,y3,,,y
n
},y表示样本类别,取值范围为0或1;
[0093]
本方法基于三层神经网络结构,三层包括两个隐藏层和一个输出层;
[0094]
前向传播阶段:
[0095]
输入的样本为:x
i
={a
x
,a
y
,a
z
},i=1,2,,,,n
[0096]
第一层隐藏层有3个神经元,编号为1,2,3,第一层网络的参数为:
[0097][0098]
b
(1)
=[b1,b2,b3];
[0099]
其中,w
(ax,1)
为x轴加速度在第一个神经元的权重,以此类推;b1为第一个神经元的偏置,以此类推;w
(1)
为第一层隐藏层的权重矩阵,以此类推;b
(1)
为第一层隐藏层的偏置矩阵,以此类推;
[0100]
第二层有2个神经元,编号为4,5,第二层隐藏层的参数为:
[0101][0102]
b
(2)
=[b4,b5]
[0103]
第三层有1个神经元,编号为6,参数为:
[0104]
w
(3)
=[w
(4,6) w
(5,6)
]
[0105]
b
(3)
=[b6]
[0106]
得第一层隐藏层的输入为:
[0107][0108][0109][0110]
z1为第1个神经元的输入,以此类推,
[0111]
选择logistic函数:作为该层的激活函数,k=1,2,3,表示层数,该层的输出为
[0112]
第二层隐藏层的输入为:
[0113]
[0114][0115]
该层的输出分别为
[0116]
输出层只有一个神经元,该层的输入为:
[0117][0118]
最后的输出为
[0119]
误差反向传播阶段:
[0120]
使用随机梯度下降的方式来学习神经网络的参数,设定损失函数:其中y是该样本的真实类标,是神经网络的预测值,是使用梯度下降进行参数的学习,计算出损失函数关于神经网络中各层参数的偏导数:
[0121][0122][0123]
计算
[0124]
第k层神经元的输入为:z
(k)
=w
(k)
·
n
(k

1)
b
(k)
,n
(k

1)
为第k

1层神经元的输出,以此类推,n
(k

1)
=f
k
‑1(z
(k

1)
);
[0125]
分别求偏导解得分别求偏导解得代表第k层神经元的权重矩阵w
(k)
的第m行,代表着第k层神经元的权重矩阵w
(k)
的第m行中的第n列;
[0126][0127]
计算偏导数
[0128]
称为误差项,用δ
(k)
表示;
[0129]
第k 1层神经元的输入为:z
(k 1)
=w
(k 1)
·
n
(k)
b
(k 1)

[0130][0131]

[0132]
于是
[0133]
更新参数阶段:
[0134]
在误差反向传播阶段中已经计算出每一层的误差项,在本阶段中利用每一层的误差项和梯度来更新每一层的权重w
(k)
和偏置b
(k)
:
[0135]
w
(k)
=w
(k)

α(δ
(k)
(n
(k

1)
)
t
w
(k)
)
[0136]
b
(k)
=b
(k)

αδ
(k)

[0137]
其中,α是学习率;
[0138]
通过样本不断输入,最后得到的参数即构成本神经网络模型的参数,从而确定加速度的阈值范围;若判定表明当前用户的加速度异常时,则执行s2。
[0139]
s2具体包括:
[0140]
当加速度判定当前行为为跌倒时,则进入第二级能量判定做进一步分析:依据人体在跌倒过程中不同姿态所损耗的能量的不同来判定是否为跌倒状态,状态能量损耗可以通过动态加速度在特定时间域上的积分乘以重力加速度求得,其计算公式为:
[0141]
energy=g∫a
z
tdt;
[0142]
其中,g为重力加速度,a
z
为z轴加速度,t为特定时间域;
[0143]
若能量判定算法判定的结果未超出阈值,则表明了s1中预置的加速度跌倒特征与用户个性化的加速度跌倒阈值存在矛盾,此时用新的特征修正存储器中的预置加速度跌倒阈值;
[0144]
若能量判定表明当前用户的运动异常时,则执行s3。
[0145]
s3具体包括:
[0146]
用四元数及三轴陀螺仪静态漂移值作为卡尔曼滤波的状态量x(k|k

1)=[q1,q2,q3,q4,ω
x

y

z
]
t

[0147]
其中,x(k|k

1)为k时刻的状态量,q1,q2,q3,q4为四元数值,ω
x

y

z
为三轴陀螺仪静态漂移值;
[0148]
更新k时刻的状态估计量:x(k|k

1)=ax(k

1|k

1);
[0149]
其中,
[0150][0151]
其中,x(k

1|k

1)为k

1时刻的最优状态量,a为状态转移矩阵,t
s
为采样周期;
[0152]
得k时刻协方差估计值p(k|k

1)=ap(k

1|k

1)a
t
q;
[0153]
其中,p(k

1|k

1)为k

1时刻最优协方差,q为系统噪声方差矩阵;
[0154]
最优状态估计x(k|k)=x(k|k

1) k
k
(z
k

hx(k|k

1)),k
k
为最优卡尔曼增益;z
k
为量测值:
[0155]
z
k
=[a
x
,a
y
,a
z
]
t
[0156][0157]
[0158]
得卡尔曼增益:
[0159]
其中,r为量测噪声方差矩阵;
[0160]
得k时刻协方差最优估计值:p(k|k)=(i

k
k
h)p(k|k

1),其中,i为单位矩阵;
[0161]
通过以上卡尔曼滤波后得到k时刻最优状态量x(k|k)=[q0,q1,q2,q3,ω
x

y

z
]
t
,通过比较四元数姿态矩阵与方向余弦矩阵后得到俯仰角和横滚角:
[0162][0163]
若倾斜角和横滚角判定人体当前处于正常状态,则用新的特征修正加速度、能量判定阈值;若倾斜角和横滚角判定人体当前处于跌倒状态,则最终判定人体当前发生跌倒并报警。
[0164]
参见图2,为方法对应的装置结构框图,包括微处理器10、与微处理器10连接的三轴加速度计21、三轴陀螺仪22、北斗模块12、时钟模块13、4g模块14、外部存储模块11、电源模块15,还包括上位机管理模块30,上位机管理模块30包括查询模块32、数据库31;
[0165]
其中,微处理器10与北斗模块12与4g模块14通过串口方式连接,三轴加速度计21与三轴陀螺仪22通过ic总线接口与微处理器10连接;微处理器10控制三轴加速度计21和三轴陀螺仪22进行数据采集,通过北斗模块12进行室外定位,控制报警信息的发送,控制外部存储模块11的数据读写和擦除;微处理器10发送求救指令唤醒4g模块14,4g模块14以短信的形式将定位信息和报警信息发送给看护者;北斗模块12在默认情况下工作在睡眠模式,在判断为跌倒状态下,微处理器10发送定位指令唤醒北斗模块12,北斗模块12搜索卫星信号进行定位;外部存储模块11进行缓存定位和加速度;时钟模块13为微处理器10提供时间参考信息;数据库31存储采集到的数据;查询模块32,对佩戴装置者的位置和姿态进行查询。
[0166]
对人体跌倒进行建模,我们可将其分为三个阶段,分别为失重阶段,撞击阶段与静止阶段。当处于失重阶段时,人体的三轴加速度幅值矢量会发生明显变化,变化持续时间由人体所处高度决定;撞击阶段会瞬间的剧烈变化,并伴随着相应的能量损耗;跌倒并撞击地面后,人体通常无法立即站立起来,会处于短时间的静止阶段。根据该原理,我们将加速度幅值矢量作为跌倒状态判定的第一个判断依据。除了加速度外,人体姿态角也会在发生跌倒时产生相应变化,因此可将其作为判定跌倒的辅助依据。
[0167]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜