浙江大学学报(工学版), 2019, 53(6): 1130-1138 doi: 10.3785/j.issn.1008-973X.2019.06.012

机械与能源工程

采用卷积神经网络的老年人跌倒检测系统设计

吕艳,, 张萌, 姜吴昊, 倪益华,, 钱小鸿

Design of elderly fall detection system using CNN

LV Yan,, ZHANG Meng, JIANG Wu-hao, NI Yi-hua,, QIAN Xiao-hong

通讯作者: 倪益华,男,教授. orcid.org/0000-0002-8646-8258. E-mail: nyh@zafu.edu.cn

收稿日期: 2018-05-4  

Received: 2018-05-4  

作者简介 About authors

吕艳(1982—),女,博士,从事语义网,数据建模研究.orcid.org/0000-0001-8991-085X.E-mail:lvyan@zju.edu.cn , E-mail:lvyan@zju.edu.cn

摘要

为了利用便携式设备准确检测老年人的跌倒状况,针对传统算法中人为设计特征造成的不完备性,构建一种基于卷积神经网络(CNN)的老年人跌倒检测模型. 以智能手机内置的三轴传感器作为数据获取源,将采集的人体姿态信息进行滤波、标准化、采样等操作后,输入到所设计的模型中;采用梯度下降和适应性动量优化方法进行多层卷积神经网络训练和优化,获得模型关键参数训练并优化模型关键参数;利用学习到的深层次特征进行样本分类. 实验结果表明:所设计的模型对于跌倒检测的准确率明显高于一般的机器学习算法模型,并且在对跌倒和非跌倒的区分检测中,精确率和召回率都保持了较高的稳定水平.

关键词: 跌倒检测 ; 手机传感器 ; 卷积神经网络(CNN) ; 深度学习

Abstract

A fall detection model based on convolutional neural network (CNN) was constructed, in order to use portable device to accurately detect the fall of the elderly and to avoid the incompleteness caused by the artificial designed features in traditional algorithms. The three-axis sensor built in the smart phone was used as the data acquisition source; the collected human body posture information was filtered, standardized, and sampled, etc. and then inputted into the designed model. Multi-layer CNN was used to train and optimize the key parameters of the model, combined with gradient descent and adaptive moment estimation optimization methods; the learned deep features were used for samples, classification. The experimental results show that the accuracy of the designed model for fall detection is significantly higher than that of the general machine learning algorithm model. In addition, the evaluation indicators have maintained a high level of stability in the detection of falls and non-falls.

Keywords: fall detection ; smart phone sensor ; convolutional neural network (CNN) ; deep learning

PDF (1393KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

吕艳, 张萌, 姜吴昊, 倪益华, 钱小鸿. 采用卷积神经网络的老年人跌倒检测系统设计. 浙江大学学报(工学版)[J], 2019, 53(6): 1130-1138 doi:10.3785/j.issn.1008-973X.2019.06.012

LV Yan, ZHANG Meng, JIANG Wu-hao, NI Yi-hua, QIAN Xiao-hong. Design of elderly fall detection system using CNN. Journal of Zhejiang University(Engineering Science)[J], 2019, 53(6): 1130-1138 doi:10.3785/j.issn.1008-973X.2019.06.012

随着“互联网+老人健康”、“互联网+健康医疗”等技术不断融入家庭智能医疗,可穿戴式设备成为智能家庭安全健康监测中的重要组成部分. 调查显示,老年人日常行为智能健康监测结果中,意外跌倒是威胁老年人健康的最危险意外事故之一[1]. 1/3的老年人每年至少会发生1次意外跌倒,跌倒是造成老年人非致死性损伤和伤害死亡的主要原因[2]. 目前跌倒检测方面的研究主要有2个方向:基于环境感知的方法和基于三维传感数据的方法[3].

基于环境感知的方法主要采用机器视觉检测,该方法中的视频图像易受到遮挡且严重侵犯了应用对象的个人隐私[4],不适用于日常生活场景,因而很多学者转向基于三维传感数据方法的研究[5]. 跌倒检测的本质是一种分类问题,可以通过有监督或无监督的分类模型算法来实现该过程. 常用的分类方法有基于规则的分类器、最近邻分类器、决策树分类器、贝叶斯分类器、支持向量机、人工神经网络以及各类组合方法[6]. 人体运动过程可以被描述为一组马尔可夫过程. Lim等[7]将阈值方法与2层隐马尔可夫分析方法相结合,设计的跌倒检测模型实现了较高的实验准确率. Aziz等[8]基于人体三维加速度数据对比分析了阈值方法和多种机器学习方法,结果表明实验中采用的机器学习算法性能均优于阈值方法,支持向量机模型具有最好的敏锐度和准确率. Ozdemir等[9]利用可穿戴传感器采集的数据分析了包括最近邻、动态贝叶斯、人工神经网络在内的6种机器学习方法,以灵敏性、特异性和准确率3个指标对比了各类方法的性能,结果神经网络模型表现出一定的优势[10].

机器学习模型的性能受制于多方面因素,其中原始数据、特征工程和分类算法是主要影响因素. 人的日常活动包括躺、卧、行走等多种姿势,这些活动的三维加速数据与跌倒的三维数据非常相似,利用机器学习算法识别的错误率较高。样本数据的特征属性选取以及模型构建过程的阈值设定过分依赖先验知识,在大规模数据的特征构建过程中效果不佳. 本文以智能手机的三轴传感器为数据获取源,使用Tensor flow深度学习框架,搭建多层卷积神经网络,将特征工程和分类识别任务合为一体,减少人为设计特征造成的不完备性;采用2组跌倒样本数据进行实验验证和对比.

1. 跌倒检测系统设计

跌倒检测的关键在于对样本数据特征的提取. 深度学习方法通过模拟人脑分层结构,对输入数据进行非线性映射,抽象数据特征. 卷积神经网络(convolutional neural network,CNN)是其中应用较为广泛的一种建模方法,其本质是一种特征编码过程,通过降低单层特征数目,提高特征维度,已被广泛应用于图像识别领域[11]. 本文采用三轴加速度传感器和三轴角速度传感器作为数据获取源,数值的时域属性主要有最大/最小值、平均值、方差、偏度、峰度等,频域属性主要有频谱分量、频谱平坦度、频谱中心等. 在构建人体三维空间模型时,信号幅度矢量定义空间三轴速度矢量的合加速度,反映了人体动作的剧烈程度;信号强度区域定义三轴速度在时间t内的平均变化率,反映单位时间内人体动作的改变程度;人体与垂直方向的夹角反映人体姿态. 对人体三轴加速度、三轴角速度的数据进行结构转换,采用有监督的方法训练卷积神经网络跌倒检测模型,其实现过程如图1所示.

图 1

图 1   采用卷积神经网络(CNN)的老年人跌倒检测实现过程

Fig.1   Elderly fall detection process using convolutional neural network (CNN)


1.1. 卷积神经网络模型

设计的跌倒检测卷积神经网络模型包含卷积操作、采样操作、拉伸操作、全连接网络和Softmax网络,用于实现样本数据特征的抽象化、模型的鲁棒性和分类识别任务,激活函数用于网络从输入到输出的非线性映射,其模型结构如图2所示.

图 2

图 2   跌倒检测卷积神经网络模型结构

Fig.2   CNN model structure for elderly fall detection


跌倒检测过程可简化为二值分类任务,假设模型输入样本的数据格式为 $n \times n$,构建过程中设定卷积核大小为 ${m_i} \times {m_i}$,卷积核数目为 ${C_i}$,采样操作通过池化实现,设定池化大小为 ${l_i} \times {l_i}$,卷积层的激活函数为 ${f_i}$,每一层的权值和偏置初始化为 ${{W}_i}$${b_i}$,其中i为神经网络层数. 模型由以下参数描述,Model:( ${m_i},{l_i},{f_i},{C_i},{{W}_i},{b_i}$),其中 $m_i$lifiCi为预设参数,在模型设计过程中结合样本数据格式进行选择, ${{W}_i}\text{、}{b_i}$为通过优化得到的参数.

激活函数 $f$接收网络输入信号和偏置b,决定神经元激活强度,该函数一般为单调递增的非线性映射: $f\left( { - \infty } \right) = 0\;\& \;f\left( { - \infty } \right) = - 1|f\left( \infty \right) = 1$. 函数 $f$采用不饱和非线性函ReLUs(rectified linear units),该函数已被验证更接近人脑神经突触效果,在训练过程中,ReLUs具有更快的收敛速度、其数学表达式如下:

${\rm{ReLUs}}:f(y) = {\rm{max}}\;(0,y).$

式中:y为输入值,f(y)为输出值. 当输入y<0时,输出都是0;当输入y0时,输出等于输入.

1.2. 特征提取

智能手机内置传感器中与人体姿态关联较强的有加速度传感器和角速度传感器2类,其频率可以达到100 Hz,其数据为时间序列. 通过模拟完整跌倒过程实验发现,从失稳到倾斜再到最后倒地,整个跌倒过程一般不超过3 s. 因此本研究将单个样本数据定义为3 s内传感器记录的数据,通过对样本数据进行整理和结构转换,使其满足卷积神经网络模型的数据输入. 对格式为 $n \times n$的样本数据,通过大小为 ${m_i} \times {m_i}$的卷积核对样本数据从左到右、从上至下,以1为步长,计算卷积核与样本局部数据的矩阵内积. 一般情况下,卷积后样本的输出将会变为 $\left( {n - {m_i} + 1} \right) \times \left( {n - {m_i} + 1} \right)$. 为了规范数据格式,模型搭建过程使用Padding方法对样本数据边缘进行0填充,使样本数据在卷积前、后保持格式不变. 在执行卷积过程前,分别采用随机初始和定值初始的处理方法对权重矩阵W和偏置向量b进行必要的初始化,通过激活函数f实现输入到输出的非线性映射. 卷积核自动对样本数据的特定特征进行提取,并且样本旋转和缩放均不影响该过程.

1.3. 模型优化过程

卷积神经网络模型的学习本质上是一个权重矩阵W和偏置向量b优化调整的过程. 通过输入大量有标签的训练样本数据,被初始化的Wb逐步接近目标值. 本文的模型优化过程使用了梯度下降算法,为了避免算法陷入局部最优,模型优化过程使用适应性动量估计算法,目的是给模型优化过程增加一定的动量项,当遇到局部最优情况时,可加快收敛速度并减弱震荡。

1.3.1. 梯度下降优化

基于梯度下降优化导出的反向传播算法(back propagation,BP)主要包括2个阶段:1)前馈传递:样本数据通过网络逐层向前传递,数据特征逐步抽象并最终输出分类结果. 2)反向传播:从输出层向输入层反向传播一个误差信号,将权值作为反向传播误差信号的函数进行调整. 网络的输出结果与数据标签的误差被返回到模型中,用于对网络的参数进行修正.

本文使用的卷积神经网络模型在结构上是一种前馈网络,以误差平方和为目标函数的前馈神经网络,对于每一个输入模式p,有

${\varepsilon _p} = \frac{{\rm{1}}}{{{\rm{2}}K}}\sum\nolimits_{k = 1}^K {{{({t_{k,p}} - {o_{k,p}})}^2}}. $

式中: ${\varepsilon _p}$为期望输出与实际输出的误差平方和,K为输出单元的数目, ${t_{k,p}}$${o_{k,p}} $分别为输入模式p的第k个输出单元的目标值和实际值.

优化过程使用ReLUs激活函数,根据式(1),隐层单元和输出单元均使用求和单元。采用梯度下降法更新权重,如式(3)、(4)所示.

$ {W_{j,k}} = \Delta {W_{j,k}} - \alpha \times \varphi E/\varphi {W_{j,k}}. $

式中: ${W_{j,k}}$为更新后的权重; $\Delta {W_{j,k}}$为更新前的权重; $\alpha $为学习率; $\varphi E/\varphi {W_{j,k}}$为斜率,代表误差值和权重的比值.

$ \alpha \times \varphi E/\varphi {W_{j,k}} = \alpha \times {E_k} \times {o_k}(1 - {o_k}) \times o_j^{\rm T}. $

式中: $E_k$为第k个输出单元的误差值, ${E_k} = {t_k} - {o_k}$${t_k}$为第k个输出单元的目标值, ${o_k}$为第k个输出单元的实际值, $o_j^T$为前一层的转置.

1.3.2. 适应性动量估计

适应性动量估计(adaptive moment estimation,Adam)本质上是带有动量项的均方根反向传播算法,通过梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率. Adam的优势是经过偏置调整后的学习率,在每次迭代过程中都保持在一个确定范围内,参数的变化较为平稳,同时由于对计算内存的需求较小,其适用于非凸优化和高维数据集的模型优化过程.

2. 实验与结果分析

以2组数据集作为实验分析对象,分别标记为Dataset1和Dataset2. 数据处理环境如下:处理器Intel(R)Core(TM)i5-5200U CPU @ 2.20GHz 、RAM 4.00GB 、Ubuntu 16.10 64位操作系统DELL PC,使用Tensorflow Python API r1.1构建模型[12],并结合Tensorboard工具对模型结构和检测结果进行说明. 选择6种常用算法作为对照组,对照算法的数据处理环境如下:处理器Intel Xeon E5-2609 V3 CPU@1.90GHz、RAM16GB、Windows Server 2008 r2 64位操作系统IBM塔式服务器,使用Python+Sklearn构建模型.

2.1. 数据准备

第一组数据集Dataset1通过智能手机内置的微型传感器采集得到,如图3所示. 使用的手机型号为一加手机X,记录数据的APP为Sense-it,如图4(a)所示. 数据通过普通加速度传感器、陀螺仪(角速度传感器)和线性加速度传感器这3类传感器获得. 普通加速度传感器记录了包含重力的三轴加速度数据,产品型号为意法半导体LIS3DSH,是纳米级超低功耗高性能三轴加速度传感器,如图4(b)所示. 陀螺仪记录了三轴旋转角速度数据,产品型号为意法半导体L3GD20,是采用微加工工艺制造的低功耗角速度传感器,如图4(c)所示. 线性加速度传感器记录了不包含重力的三轴加速度数据,产品型号为博世半导体BMA250,如图4(d)所示. 数据采集过程记录了加速度、角速度和线性加速度3类数据,如图3所示. 将智能手机放置在上衣口袋,大概位于心脏位置,模拟随机跌倒过程并同步记录传感器数据和标签数据. 跌倒情形标签记录为意外跌倒(label=1),站立走动等情形标签记录为日常活动(label=0),数据记录频率为100 Hz,记录时长为7 200 s,共有72万组数据. 3种传感器共记录了9组特征数据,分别为普通加速度传感器在x轴、y轴和z轴上的加速度值;陀螺仪在x轴、y轴和z轴上的角速度值;线性加速度传感器在x轴、y轴和z轴上的线性加速度值.

图 3

图 3   手机传感器数据(Dataset1)采集过程

Fig.3   Acquisition process of mobile phone sensor data (Dataset1)


图 4

图 4   人体三维运动数据获取设备

Fig.4   Human 3D motion data acquisition equipments


第二组数据集Dataset2来自UCI机器学习数据库,由英国考文垂大学Cogent Labs提供[13]. 实验邀请青年志愿者模拟老年人跌倒情形,通过在实验对象胸部和腿部分别设置2组三维传感器收集实验数据,每组传感器包括1个三轴加速度传感器和1个三轴角速度传感器. 传感器数据和标签数据记录方法同Dataset1一致,传感器数据采集频率为100 Hz,志愿者在1 200~2 000 s内随机模拟数次跌倒过程,共有将近150万组数据量,2组三轴传感器共记录12组特征数据.

2.2. 数据预处理

数据集Dataset1和Dataset2的初始采集数据记为

  $ {\cal X} = \left\{ {{{X}},y} \right\} = $ $\left\{ {{x_1},{x_2}, \cdots ,{x_n};\;{\rm{label}}} \right\},\;{\cal X} \in {\bf{R}}.$

其中, ${x_i}$为特征i的数据,n为数据特征的维度,Dataset1中 $n = 9$,Dataset2中 $n = 12$,label是记录是否发生跌倒的标签. 初始数据存在噪声数据干扰以及不同特征数据量纲不一致等情况,因此在将数据输入训练模型之前,进行必要的预处理操作. 对于噪声数据,采用平滑无限冲击响应(infinite impulse response,IIR)滤波器对每个特征的全体数据进行处理,IIR滤波器一般表达式如下:

$y(n) = \sum\nolimits_{i = 0}^N {{b_i}x(n - i) - \sum\nolimits_{i = 1}^M {{a_i}y(n - i)} }. $

式中: $x(n)$为输入, $y(n)$为输出, ${a_i}$${b_i}$为滤波器系数.

加速度传感器测量数据的单位为 ${\rm m/{s^2}}$,而陀螺仪测量数据的单位为 ${\rm rad/s}$,2种传感器数据在数值上的差异较大,角速度传感器数据的绝对值远远大于加速度传感器数据的绝对值. 若将2类数据直接用于模型的训练,角速度数据特征将会严重掩盖加速度数据特征,因此需要对完成滤波的数据进行标准化处理. 本文采用Z-SCORE标准化方法对滤波后的数据进行处理,转换函数如下:

$f(x) = {{x - \mu }}/{\sigma }.$

式中: $\mu $为特征数据的平均值, $\sigma $为特征数据的标准差.

在基于卷积神经网络模型设计的跌倒检测系统中,训练样本数据的输入格式区别于一般机器学习模型向量形式的输入数据,卷积神经网络的输入数据采用矩阵形式,输入样本的数据格式应为 $n \times n$. 因此对训练样本数据进行下述处理.

在建立训练样本的过程中,考虑到单个行为动作的用时,本文将3 s内的数据作为一个训练样本,同时为了过渡2个动作,将2组训练样本间重叠25%的数据. 由于传感器数据采集频率为100 Hz,单个训练样本包含了300组左右的三维特征数据. 在Dataset1中,一个训练样本初始矩阵形式是300×9,其数据特征维度是9,为了便于数据的处理,将训练样本的三维特征数据数量取为297组. 将297组数据再划分为9组. 由于1 s内记录了100组数据,大部分数据都是相差无几,取平均数更能反映出在这段时间内的平均状况,因此对每33组数据进行平均值替换,转换后的训练样本数据结构为 $9 \times 9$的方阵形式;同理,在Dataset2中对每25组数据进行平均值替换,转换后的训练样本数据结构为12×12的方阵形式,转换过程如图5所示. Dataset1最终输入的训练样本是9×9的经过平均值替换后的9维数据;Dataset2最终输入的训练样本是12×12的经过平均值替换的12维数据. Dataset1数据集中有72万组数据,经过上述的转换,共形成了2 400组样本;Dataset2数据集经过数据转换,形成了4 870组样本.

图 5

图 5   用于跌倒检测的训练样本数据格式转换

Fig.5   Training sample data format conversion for fall detection


由于转换后的Dataset1和Dataset2的数据中跌倒的样本数据占比极小,样本数据不均衡,为了对跌倒检测更加准确,本文采用SMOTE(Synthetic minority over-sampling technique)算法对跌倒的样本数据进行上采样操作,对非跌倒的样本数据中的边界样本、噪音样本和冗余样本进行去除的下采样操作,通过上采样和下采样结合的采样方法,使得跌倒样本和非跌倒样本的比例为1∶1. 采样前、后的样本分布详见表1.

表 1   采样前、后的样本数量分布

Tab.1  Sample size distribution before and after sampling

数据集 跌倒样本 非跌倒样本
采样前 采样后 采样前 采样后
Dataset1 328 656 2 072 656
Dataset2 845 1 690 4 155 1 690

新窗口打开| 下载CSV


SMOTE算法的原理如下:对于少数类样本中的每一个样本,以欧式距离为标准计算该样本到少数类样本集中所有样本的距离,得到其K近邻;根据样本不平衡比例设置一个采样比例以确定采样的倍率;对于每一个少数类样本,从该样本的K近邻中随机选择若干个样本;对于随机选择出来的近邻样本,重新构建新的样本,完成上采样操作.

2.3. 模型训练与参数优化

跌倒检测卷积神经网络模型结构的设计依赖于训练样本的属性和格式. 本文实验中2组数据集属性一致,经过预处理后,训练样本数据分布格式分别为 $9 \times 9$$ 12 \times 12$. 2组模型的总体设计基本一致,模型结构如图6所示. 将数据输入到卷积神经网络模型中,经过卷积层1. 卷积层1为32个4×4的卷积核,其维度为(4,4,1,32);接着进入到2×2的池化层1,其维度为(1,2,2,1);之后进入第二个卷积层,卷积层2为64个4×4的卷积核,维度为(4,4,32,64);再进入第二层池化,维度为(1,2,2,1);经过拉伸操作,进入全连接层,最后输出分类预测结果.

图 6

图 6   采用卷积神经网络的跌倒检测模型结构设计

Fig.6   Structure design of fall detection model using CNN


将数据集Dataset1和Dataset2基于卷积神经网络建立的跌倒检测模型,分别记为Model_Dataset1、Model_Dataset2. 模型主要参数有 $\left\{ {m,l,f,{S^1},{S^2},C,{W},b} \right\}$,其中 ${S^1}$${S^2}$为池化移动步长, $m$lfS1S2C为模型预设参数, ${W}$b为模型训练参数. 依据训练样本数据,预设参数通过网格搜索技术在设定的搜索范围中寻求最优组合. 训练参数在开始训练之前需要进行初始化,在模型Model_Dataset1和Model_Dataset2中,各层的权重 ${ W}$初始化采用截断正态分布(truncated normal distribution),指定分布的标准偏差为0.1,偏置 $b$采用定值0.1初始化.

使用损失函数定义卷积神经网络模型的效果以及优化的目标,估量模型预测值和真实值的不一致程度,损失函数越小,模型的鲁棒性越好. 将训练样本数据输入到模型中,逐步调整 ${W}$b的值. softmax损失函数定义如下:

${L_{\rm s}} = - \sum\limits_{i = 1}^m {\log\; \frac{{\exp\; ({ w}_{ji}^{\rm T}{x_i} + {b_{yi}})}}{{\displaystyle\sum\nolimits_{j = 1}^n {\exp\; ({ w}_j^{\rm T}{x_j} + {b_j})} }}} .$

式中: ${x_i}$为第 $i$特征, ${w_j}$为全连接层权重的第 $j$列, $m$$n$为处理的样本和类别数.

以上2组模型的训练过程均采用适应性动量估计(Adam)优化算法,卷积和池化操作过程中均引入了Padding方法,使得样本数据在卷积前、后的格式保持不变. 模型的准确率定义如下:

${{A = }}\frac{{T_{\rm P}{\rm{ + }}T_{\rm N}}}{{T_{\rm P} + T_{\rm N} + F_{\rm P} + F_{\rm N}}}.$

其中,TP为正类数,即跌倒检测为跌倒;TN为负类数,即非跌倒检测为非跌倒;FP为负类判定为正类,即非跌倒检测为跌倒;FN为正类判定为负类,即跌倒检测为非跌倒.

训练的损失值Ls图7(a)8(a)所示,训练的准确率A图7(b)8(b)所示. 模型Model_Dataset1训练200步后参数 ${{W}}$b基本收敛,训练的准确率达到100%,而且训练损失值接近0;模型Model_Dataset2在训练600步后参数 ${{W}}$b基本收敛,训练的准确率接近100%,训练损失值接近0.

图 7

图 7   跌倒检测模型数据集训练结果(Dataset1)

Fig.7   Fall detection model training data set training results (Dataset1)


图 8

图 8   跌倒检测模型数据集训练结果(Dataset2)

Fig.8   Fall detection model training data set training results (Dataset2)


2.4. 结果分析

将检测数据输入训练得到的跌倒检测模型,计算其跌倒检测的准确率,并且采用了4个指标对算法的性能进行评估,分别是精确率(P)、召回率(R)、F1值和准确率(A). 精确率表示算法分类得到的正确跌倒数和算法分类得到的总跌倒数之间的比例;召回率表示算法分类得到的正确跌倒数和数据集中的总跌倒数之间的比例;F1值表示准确率和召回率之间的均衡,通常用F1值作为评估算法性能的综合指标;准确率表示算法分类的跌倒数和非跌倒数与数据集中样本的类标相比的总准确率. 精确率、召回率和F1值定义如下:

${{P = }}\frac{{T_{\rm P}}}{{T_{\rm P} + F_{\rm P}}},$

${{R = }}\frac{{T_{\rm P}}}{{T_{\rm P} + F_{\rm N}}},$

${{\rm{F}}1}{\rm{ = }}\frac{{2T_{\rm P}}}{{2T_{\rm P} + F_{\rm P} + F_{\rm N}}}.$

选择支持向量机(SVM)、决策树(decision tree,DT)、随机森林(random forest,RF)、梯度增强树(gradient boosting decision tree,GBDT)、AdaBoost、Voting六种分类模型作为对比. 上述6种分类模型在特征工程阶段采用一种基于符号化聚合近似(SAX)的改进算法. 2组数据集的准确率检测结果如图9所示,各算法模型的检测结果和性能评估如表2所示. 数据集Dataset1的检测结果显示,AdaBoost模型的检测准确率最低、为85.0%;随机森林模型的准确率最高,为89.8%;随机森林模型的性能(F1)在机器学习模型中最高,达到了89.9%,而基于卷积神经网络设计的跌倒检测模型的准确率达到了99.2%,较随机森林模型提高了1%,并且在各个指标上,卷积神经网络模型均高于6种机器学习模型. 数据集Dataset2的检测结果显示,随机森林模型的准确率最高,为88.8%,并且模型的性能也较其他的机器学习分类模型要好,而CNN模型的准确率达到了99.8%,并且在各个评估指标上都大幅领先于其他模型,在对500组样本的跌倒检测中,仅有1组判断错误.

图 9

图 9   采用不同分类模型得到的跌倒数据集Dataset1和Dataset2检测准确率对比

Fig.9   Detection accuracy of different classification models on fall datasets Dataset1 and Dataset2


表 2   跌倒数据集Dataset1和Dataset2的各模型检测结果对比

Tab.2  Comparison of each models detection results using fall datasets Dataset1 and Dataset2

%
分类模型 P R F1 A
Dataset1 Dataset2 Dataset1 Dataset2 Dataset1 Dataset2 Dataset1 Dataset2
SVM 93.4 76.8 82.8 92.1 87.8 83.7 88.1 82.2
DT 90.0 80.9 87.9 68.1 88.9 73.9 88.8 76.1
RF 91.3 89.0 88.6 88.5 89.9 88.8 89.8 88.8
GBDT 90.8 86.1 87.0 86.6 88.8 86.4 88.7 86.4
AdaBoost 87.6 79.9 82.7 82.5 85.0 81.2 85.0 80.9
Voting 91.4 84.7 86.7 88.0 89.0 86.3 88.9 86.1
CNN 99.5 100 98.5 99.5 98.9 99.7 99.2 99.8

新窗口打开| 下载CSV


为了衡量模型对于跌倒和非跌倒的区分检测,对2组数据集进行非跌倒的精确率和召回率的横向比较,如图1011所示. Dataset1的比较结果显示,各类模型跌倒检测的精确率均高于非跌倒检测的精确率。本文设计的卷积神经网络模型在跌倒检测和非跌倒检测中的精确率均高于其余6种对比模型,分别达到了99.5%和98.51%. 同时对比Dataset1中各个模型的召回率可知,卷积神经网络模型在跌倒和非跌倒检测上的召回率都是最高的. Dataset2的对比结果同样显示,卷积神经网络模型不论在精确率上还是在召回率上都是大幅领先于其他6种模型. 综上可知,卷积神经网络模型在跌倒和非跌倒的区分检测上均具有较高的精确率和召回率,可以精确识别跌倒与非跌倒.

图 10

图 10   采用跌倒数据集Dataset1的各模型精确率和召回率比较

Fig.10   Comparison of accuracy and recall of each model using fall dataset Dataset1


图 11

图 11   采用跌倒数据集Dataset2的各模型精确率和召回率比较

Fig.11   Comparison of accuracy and recall of each model using fall dataset Dataset2


3. 结 语

为了准确检测老年人的跌倒状况,本文以智能手机等设备内置的三轴传感器作为数据获取源,采用卷积神经网络构建了老年人跌倒检测模型。针对传统算法人为设计特征造成的不完备性,本文将模型建立过程中的特征工程和分类识别任务合为一体,采用梯度下降和适应性动量估计方法进行模型训练及优化,避免算法陷入局部最优,并利用优化获得的模型关键参数,将数据样本逐层抽样,学习深层次特征进行样本分类。为了消除数据采样过程的噪音、量纲、样本分布不均等问题对模型分类准确率的影响,采用IIR滤波器对采集的人体姿态信息数据进行处理,解决了噪音数据干扰的问题;对滤波后的数据采用Z-SCORE方法进行标准化处理,解决了不同特征数据量纲不一致的问题;对标准化后的数据进行上采样处理,解决了样本数据分布不均的问题。采用2组数据集进行模型验证和分析,实验结果表明:本文所设计的模型对于跌倒检测的准确率、召回率、精确度等各项评价指标明显高于其他常用的机器学习算法模型,并且在对跌倒和非跌倒的区分检测中,精确率和召回率都保持了较高的稳定水平。

参考文献

师昉, 李福亮, 孙思佳, 等

中国老年跌倒研究的现状与对策

[J]. 中国康复, 2018, 33 (3): 246- 248

[本文引用: 1]

SHI Fang, LI Fu-liang, SUN Si-jia, et al

The present situation and countermeasures of the study of senile falls in China

[J]. Chinese Journal of Rehabilitation, 2018, 33 (3): 246- 248

[本文引用: 1]

陈瑜, 姜小鹰, 杨美丽, 等

养老机构老年人跌倒效能状况及其影响因素分析

[J]. 中国实用护理, 2016, 32 (6): 412- 415

DOI:10.3760/cma.j.issn.1672-7088.2016.06.004      [本文引用: 1]

CHEN Yu, JIANG Xiao-ying, YANG Mei-li, et al

Investigation on the fall efficacy of elderly people in nursing homes and its influencing factors

[J]. Chinese Journal of Practical Nursing, 2016, 32 (6): 412- 415

DOI:10.3760/cma.j.issn.1672-7088.2016.06.004      [本文引用: 1]

KHAN S S, HOEY J

Review of fall detection techniques: a data availability perspective

[J]. Medical Engineering and Physics, 2017, 1 (39): 12- 22

[本文引用: 1]

GHEN K H, HSU Y W, YANG J J, et al

Enhanced characterization of an accelerometer-based fall detection algorithm using a repository

[J]. Instrumentation Science and Technology, 2016, 11 (6): 382- 391

[本文引用: 1]

MADARSHAHIAN R, CAICEDO J M, ZAMBRANA D A. Evaluation of a time reversal method with dynamic time warping matching function for human fall detection using structural vibrations [C] // Model Validation and Uncertainty Quantification, Volume 3, Conference Proceedings of the Society for Experimental Mechanics Series. Florida: Springer, 2014: 171-176.

[本文引用: 1]

CHEN K H, YANG J J, JAW F S

Accelerometer-based fall detection using feature extraction and support vector machine algorithms

[J]. Instrumentation Science and Technology, 2016, 44 (2): 333- 342

[本文引用: 1]

LIM D, PARK C, KIM N

Fall-detection algorithm using 3-axis acceleration: combination with simple threshold and hidden markov model

[J]. Journal of Applied Mathematics, 2014, 9 (17): 342- 351

[本文引用: 1]

AZIZ O, MUSNGI M, PARK E J, et al.

A comparison of accuracy of fall detection algorithms (threshold-based vs. machine learning) using waist-mounted tri-axial accelerometer signals from a comprehensive set of falls and non-fall trials

[J]. Medical and Biological Engineering and Computing, 2017, 55 (1): 45- 55

DOI:10.1007/s11517-016-1504-y      [本文引用: 1]

OZDEMIR A, BARSHAN B

Detecting falls with wearable sensors using machine learning techniques

[J]. Sensors, 2014, 14 (6): 10691- 10708

DOI:10.3390/s140610691      [本文引用: 1]

MONGIA M, KUMAR K, ERRAQABI A, et al. On random weights for texture generation in one layer CNNS [C] // ICASSP IEEE International Conference on Acoustics. New Orleans: IEEE, 2017: 2207-2211.

[本文引用: 1]

XIA Y, NAREN W L, WANG K Q, et al

Detecting atrial fibrillation by deep convolutional neural networks

[J]. Computers in Biology and Medicine, 2018, 93 (2): 84- 92

[本文引用: 1]

ABADI M, BARHAM P, CHEN J M, et al. TensorFlow: a system for large-scale machine learning [C] // Proceedings of the12th USENIX Symposium on Operating Systems Design and Implementation. Savannah: USENIX, 2016: 265-283.

[本文引用: 1]

Activity recognition challenge-dataset [EB/OL]. [2014−11−17]. http://www.opportunity-project.eu/index.html.

[本文引用: 1]

/