一种面向社区基于CNN算法的老年人跌倒检测方法与流程

文档序号:17742787发布日期:2019-05-24 20:19阅读:1657来源:国知局
一种面向社区基于CNN算法的老年人跌倒检测方法与流程

本发明属于电子信息领域,尤其涉及一种面向社区基于cnn算法的老年人跌倒监测方法。



背景技术:

随着mems(microelectromechanicalsystems)技术的发展,研究人员将惯性传感器集成到小型可穿戴设备中来实现跌倒检测。基于mems的跌倒检测方法具有部署成本低、受环境影响小、对用户的隐私干扰较少等优点,成为跌倒检测技术研究的热点。尽管基于mems的跌倒检测方法具有成本低、简单易用等特点。但mems陀螺仪存在信号漂移误差、3轴加速度计在运动状态下会产生电压波动,这些因素会影响跌倒检测算法精度和有效性。此外,实时采集并传输3轴加速度、角速度的方法导致系统功耗较大。这些都很难满足社区老年多用户的实时监测。



技术实现要素:

针对上述所提到高功耗和低准确度的问题,本发明提供一种面向社区基于cnn算法的老年人跌倒监测方法,基于3轴加速度、角速度的人体活动模型,构造基于zigbee的感知节点并以100hz采样频率采集加速度、角速度数据;其次服务器接收端应用2s的滑动窗口通过zigbee实时接收和缓存感知端采集的3轴加速度、角速度数据;之后将收集到的3轴加速度、角速度数据进行数值的量程规范及对其进行rgb3通道像素映射,构造20×20的人体活动位图;最后,在分析人体日常活动和跌倒数据及其对应像素差异的基础上,设计了面向跌倒检测的卷积神经网络,并结合互联网上公开的日常活动和跌倒数据进行网络训练和测试。

为了实现上述目的,本发明采用如下技术方案:

一种面向社区基于cnn算法的老年人跌倒监测方法,包括以下步骤:

步骤1、采用基于3轴加速度、角速度人体模型构造的感知节点采集人体的3轴加速度、角速度数据;

步骤2、将3轴加速度、角速度数据进行量程规范并映射为rgb3通道像素图;

步骤3、基于rgb3通道像素图造了面向跌倒检测的卷积神经网络,使用所述卷积神经网络(falldetectionconvolutionalneuralnetworks,fd-cnn)检测是否跌倒,一旦检测到跌倒则立刻报警。

作为优选,步骤3的fd-cnn神经网络的输入为20ⅹ20像素的3通道rgb图像,共有6个网络层,网络的卷积层标注为cx,下采样层标准为sx,全连接层标注为fx,x为网络的层号,在进入网络的c1层前,按照以下公式对数据进行规范化,即将图像数据取值范围为0~255归一化为-1~1,

c1为卷积层:在卷积前,对输入层数据进行了边缘扩充,扩充后的图像大小为22×22像素,扩充边缘的像素值为0,卷积核大小是5×5×3,每个特征图内只使用一个共同卷积核,每个卷积核有5×5×3个连接参数以及1个偏置共76个参数,卷积核每次滑动一个像素,卷积层形成的每个特征图大小是18×18,卷积过后,通过relu函数进行网络层激活,c1层共有32个卷积核,该层输出为32张大小为18×18的特征图;

s2为最大池化层(maxpooling):在池化前,对c1层输出的数据进行了边缘扩充,扩充边缘的像素值为0,扩充后的图像大小为20×20像素,采用2×2的核以步长为2进行最大池化下采样得到32张10×10的特征图;

c3为卷积层:在卷积前,参考c1层也对s2的输出进行了边缘扩充,扩充后的图像大小为12×12像素,卷积核大小是5×5×32,卷积核每次滑动一个像素,卷积后形成的每个特征图大小是8×8,卷积过后,通过relu函数进行网络层激活,c3层共有64个卷积核,所该层输出为64张大小为8×8的特征图;

s4为最大池化层:参考c1层也对c3的输出进行了边缘扩充,扩充后的图像大小为10×10像素,采用2×2的核以步长为2进行最大池化下采样得到64张5×5的特征图;

f5为全连接层:含有512个神经单元,这一层神经元在全连接后使用relu函数进行网络激活;

最后一层是全连接网络输出层:该层有8个神经单元,在计算网络结果时,将最后一层的输出加到softmax中,得到每个类的预测概率,其中概率最大项为网络的预测结果。

本发明的有益效果是:将3轴加速度、角速度数据进行量程规范并映射为rgb3通道像素图,进而构造了面向跌倒检测的卷积神经网络,同时使用开放数据对fd-cnn神经网络进行训练和测试,可有效降低检测节点功耗的情况下,提高检测的准确性。

附图说明

图1:人体活动模型;

图2:将滑动窗口中3轴加速度、角速度数据映射为像素的示意图;

图3:fd-cnn结构;

图4:实施例1的跌倒监测流程图。

具体实施方式

本发明提供一种面向社区基于cnn算法的老年人跌倒监测方法,采用基于3加速度、角速度人体模型构造的感知节点以100hz的采样频率采集数据,并上传服务器,服务器端使用了面向跌倒检测的卷积神经网络(falldetectionconvolutionalneuralnetworks,fd-cnn)检测是否跌倒,一旦检测到跌倒则立刻报警。具体包括以下步骤:

步骤1、基于3轴加速度角速度的人体活动模型

人体在运动过程中,加速度和角速度会实时变化。研究表明人体的上躯干(即腰部以上、脖颈以下部分)是采集加速度数据并识别跌倒与其他日常动作的最佳部位。本发明从穿戴设备舒适性以及系统可靠性出发,将运动感知模块放置在定制背心的腰部,进而建立基于笛卡尔坐标系的人体活动模型。如图1所示为基于笛卡尔坐标系的人体活动模型,其中ax、ay、az分别代表人体活动沿x轴、y轴和z轴的加速度;ωx、ωy、ωz为分别代表人体躯干绕x轴、y轴和z轴的角速度。参考上述人体活动模型,发明中设计了运动感知模块,以采样频率为100hz采集数据,并通过设置感知节点模块自由落体、静止和fifo溢出中断的合理阈值,运动感知模块在检测到自由落体或活动状态时,由感知模块实时采集用并发送用户的活动数据;当检测到静止中断时,感知模块中的cc3250和mpu6050都处于休眠状态,由dmp负责采集3轴加速度和角速度数据并存至fifo缓存中,此时无需访问mpu6050和zigbee射频进而降低运动感知模块的功耗。

步骤2、感知数据量称规范及其映射的rgb3通道像素图

由于人体跌倒的时间通常小于2秒钟,因此在服务器端设计了2秒钟的滑动窗口以缓存活动感知模块传来的3轴加速度、角速度数据。本发明对这些数据进行量程规范化,将规范化的数据转化为对应像素数据。

由于感知模块的采样频率为100hz,感知节点采集的加速度、角速度值采用2字节表示,因此滑动窗口的大小为2400kb,即服务器端实时存放了3轴加速度、角速度数据各200份。若将x、y、z轴的加速度、角速度值分别对应于3通道图像中r、g、b通道的数值,这就可以将每份3轴数据转换成一个rgb像素点。那么滑动窗口中的缓存3轴加速度、角速度数据就可以看成为尺寸为20*20*3的图像(如图2所示)。图2中,每个通道的前200份数据为3轴加速度值,后200份为3轴角速度数据。

由于图像数据的量程范围为0~255的整型数据,而加速度计和陀螺仪的数据量程不尽相同,为此本文采用公式(1)对加速度计和陀螺仪传感器数据的量程进行规范化,将两者传感器数据规范到0~255范围内。

公式1中,range为加速度计或陀螺仪传感器的量程,value为实测数值。计算结果result后为浮点型,为了表示方便本文通过四舍五入将result转化为整型数据。例如:一份加速度数据为value=(8.302,-9.532,0.962),传感器的量程为±16g。

值得注意的是,量程规范只是在纵轴上放大了原始数据,但保持了原始数据的波形和变化规律。

步骤3、fd-cnn跌倒检测

fd-cnn架构如图3所示,其输入为20ⅹ20像素的3通道rgb图像,共有6个网络层(不包含输入层)。其中,网络的卷积层标注为cx,下采样层标准为sx,全连接层标注为fx,x为网络的层号。在进入网络的c1层前,系统按照公式2对数据进行规范化,即将图像数据取值范围为0~255归一化为-1~1。这不仅可以加快训练速度,而且可以提高网络的精度。

c1为卷积层。在卷积前,系统对输入层数据进行了边缘扩充,扩充后的图像大小为22×22像素,扩充边缘的像素值为0。边缘扩充在卷积时可避免输入层边缘数据特征丢失。卷积核大小是5×5×3,每个特征图内只使用一个共同卷积核。每个卷积核有5×5×3个连接参数以及1个偏置共76个参数。卷积核每次滑动一个像素,因此卷积层形成的每个特征图大小是18×18。卷积过后,系统通过relu函数进行网络层激活。c1层共有32个卷积核,所以该层输出为32张大小为18×18的特征图。

s2为最大池化层(maxpooling)。在池化前,系统对c1层输出的数据进行了边缘扩充(扩充边缘的像素值为0),扩充后的图像大小为20×20像素。系统采用2×2的核以步长为2进行最大池化下采样得到32张10×10的特征图。

c3为卷积层。在卷积前,参考c1层也对s2的输出进行了边缘扩充,扩充后的图像大小为12×12像素。卷积核大小是5×5×32,卷积核每次滑动一个像素,卷积后形成的每个特征图大小是8×8。卷积过后,系统通过relu函数进行网络层激活。c3层共有64个卷积核,所以该层输出为64张大小为8×8的特征图。

s4为最大池化层。参考c1层也对c3的输出进行了边缘扩充,扩充后的图像大小为10×10像素。系统采用2×2的核以步长为2进行最大池化下采样得到64张5×5的特征图。

f5为全连接层,其含有512个神经单元。为了防止网络过拟合,在训练时加入了dropout。这一层神经元在全连接后使用relu函数进行网络激活。

最后一层是全连接网络输出层。该层有8个神经单元。在计算网络结果时,将最后一层的输出加到softmax中,得到每个类的预测概率,其中概率最大项为网络的预测结果。

fd-cnn搭建完毕后,发明使用公开数据集sisfall和mobifalld对fd-cnn进行训练。训练过程首先对sisfall和mobifall数据集中的数据进行数据量程规范;其次,提取其中日常数据(包括走路、跳跃、慢跑、上楼、下楼、坐下和起立7种日常动作数据各1000组,以及跌倒数据1000组)对fd-cnn网络进行训练。训练迭代8个epoch时候,即网络训练1080步后,验证集准确率不再上升(最终实验验证集准确率为99.77%),此时停止训练并保存网络模型及参数,用于后续的跌倒监测。

在实际应用中,活动感知模块将活动数据实时发送至服务端,服务端在2s的滑动窗口中按照fifo原理缓存动作数据;跌倒监测软件先进行数据的量程规范并进行可视化操作,之后输入到训练好的fd-cnn网络中进行分类,当分类结果为跌倒时,系统将会按照预设的报警方式进行跌倒报警。

实施例1

如图4所示,本发明将集成了mpu6050和zigbee的运动感知模块放置在可穿戴背心的腰部,以实时采集人体活动产生的3轴加速度、角速度数据,并使用数据采集传输算法将采集的数据通过zigbee发送给集成了zigbee汇聚节点的服务器。服务器将收到的数据缓存到滑动窗口,同时将滑动窗口中的数据量程规范并转换为20*20*3的像素图,服务器上运行fd-cnn算法实时对滑动窗口中的像素数据分析归类。当判断人员发生跌倒时,系统自动通过拨打电话或发送带有gps位置的短信向监护人员报警。

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