基于LSTM-CNN的跌倒行为检测
2019-03-15刘函青郑万成
刘函青,郑万成
(重庆南开中学重庆育才中学,重庆,400030)
0 引言
跌倒是指突发、不自主、非故意的体位改变,倒在地上或者更低的平面上。老年人的跌倒问题更是不可小觑,其已经成为继恶性肿瘤、心脑血管疾病和呼吸系统疾病之外引起老年人伤害甚至死亡的重要原因。近年来传感器检测技术的发展,人工智能算法方面的突破为跌倒检测提供了新的突破点。综合以往研究成果跌倒检测方法主要分为三个方面:基于视觉的跌倒检测方法[1];基于智能手机检测系统[10];穿戴式跌倒检测系统[2~9]。
深度学习技术广泛的应用于计算机视觉和语音识别领域,深度学习的本质是卷积神经网络(CNN)通过对输入数据的卷积和池化操作提取得到深层次的特征信息,本文将CNN应用在跌倒检测方面中。长短期记忆网络(LSTM)是在循环神经网络(RNN)的基础上变种,引入了存储单元解决了RNN存在的梯度消失问题。本文结合了LSTM和CNN两种网络的优点,提出应用在跌倒行为检测的具有端到端特性的LCNN网络。
利用跌倒检测算法可以完成跌倒动作的识别与分类从而触发系统的报警动作,但是跌倒动作的发生不是孤立的一个人体行为,在其发生之前仍然有一系列的动作信息可以进行提取分析。传统的神经网络有很强的模型表达能力,但是其前后的输出没有关联性,这就导致了它对运动信息分析能力的不足。因次在人体行为检测时不仅要判定当前状态,要根据之前状态至当前状态发生的变化判定存在跌倒发生。
本文按照如下结构逐步开展详细论述:LCNN网络结构;数据采集及结果分析;结论。
1 LCNN网络
本文主要基于如下两点构建LCNN网络:① LSTM、CNN在其建模能力方面都受到模型本身的限制,CNN善于减少频率变化,LSTM擅长于时间建模。② 跌倒检测信号属于时序信号。因此,通过结合两种模型的优点,构建了LCNN模型,其中LSTM模块用于一次提取包含时序信息的信号特征,CNN模块用于实现对信号进行二次特征提取及信号的分类输出。
1.1 LTSM网络
对于行为信息等序列数据,可以设计RNN(循环神经网络)来进行处理,利用RNN对前后关联信息的处理能力,我们可以通过对跌倒前序列信号的分析得到导致跌倒的行为模式。利用循环神经网络(RNN)进行小样本的特征提取与学习,降低了算法对样本数量的敏感性。RNN是一种节点定向连接成环的人工神经网络,其可以利用内部的记忆来处理时序信号,但在处理具有长期依赖关系的时序信号时会出现梯度消失问题。LSTM是对RNN的扩展,其使用门控功能来避免RNN网络中梯度消失问题。
基本LSTM单元包含三个输入信号包括当前时刻输入值 x
1.2 CNN网络
CNN模块用于实现对信号进行二次特征提取及信号的分类输出。本文卷积神经网络采用两层卷积,第一层卷积使用65个3×1的卷积核,步长为1,第二层卷积使用,30个3×1的卷积核,步长为1,非线性激活函数本文使用PReLU。
1.3 融合网络
网络模型如图1所示,其中我们将陀螺仪、加速度计、角度信息延展成一行,作为输入长度,输入信号的格式为batch*seq_len*n_ch, 其中batch表示每次输入网络中的数据大小,seq_len表示序列长度,由于本文所使用的跌倒装置采样为20Hz,因此本文30s为一个时间窗长度,因此seq_len为10,n_ch为陀螺仪等延展后的长度,为9。
图1 网络模型
2 数据采集及实验验证
主要利用加速度传感器获取的人体关节加速度、角度、速度等信息,分析加速度信号的时频特性,从不同角度进行信号刻画;通过LCNN算法实现加速度等底层物理信息对人体的高层行为映射,通过还原出的行为信息判别当前人体状态。
2.1 数据采集装置
加速度数据采集部分是整个系统中最底层的部分,原始数据采集的优劣在一定程度上会直接影响到算法的性能。数据采集系统组成如下:
(1)以PCB为主的原型机搭建:以陀螺仪芯片MPU9250为运动传感器;以及蓝牙HC05为数据传输模块;以Atmega32U4为控制器搭建可穿戴式运动信息收集装置原型机;
(2)底层数据采集代码编写:该装置负责收集空间XYZ三轴的旋转角、旋转角速度、加速度以及地磁一共12维的运动信息,通过蓝牙进行传送,PC端进行数据接收;
(3)PC端数据处理软件实现:软件通过蓝牙转串口接收将蓝牙发送的信息。
根据以上设计得到的数据采集系统为了满足用户使用过程中的高可靠性和舒适性最终的特性如下:
(1)小型化:硬件设备轻巧灵便,方便携带安装;
(2)采样频率:考虑人运动信息的实时性与系统检测滤波输出准确性的结合,根据实际情况设定合理的采样频率,初始化为20Hz;
(3)低功耗:以纽扣电池为主要供电模块,选用低功耗处理芯片,系统静置固定时间后自动休眠,以保证系统长时间工作,减少更换电池的次数;
(4)数据采集传输:装置设计包括本地存储与无线传输功能,在进行数据采集过程中,将数据同步存储至SD卡与连接统一局域网的PC端,以时间戳作为数据的具体区分。
图2 数据采集装置
2.2 实验验证
本文对一个实验者的数据进行了验证,实验数据分为训练集与验证集,其中损失函数和验证集准确率如图所示,数据分为5个动作,分别为正常行走,跳跃、蹲下、向前倾倒、向左倾倒。在测试中其验证集的准确率在80%左右,各个动作之间的准确率如图3所示。其训练过程中的损失函数如图4所示。在测试中,在训练集上的准确率为92.3%,因此,由于样本有限,网络存在一定的过拟合。由于采集样本有限,当数据量更多时其准确率应该比图中更高。
图3 各动作之间准确率
图4 损失函数值
3 结论
现有的跌倒行为检测方法需要依赖人体行为建模,将传感数据转换至行为特征数据,在通过时间轴上行为特征的变化检测人体跌倒行为。本文端到端的识别算法可以解决对行为建模的依赖行问题,随着数据集的不断完善最终可以为老年人等失能人员提供精确的检测结果。