改进注意力机制的CNN-BiLSTM跌倒检测方法

文档序号:32346115发布日期:2022-11-26 11:23阅读:173来源:国知局
改进注意力机制的CNN-BiLSTM跌倒检测方法
改进注意力机制的cnn-bilstm跌倒检测方法
技术领域
1.本发明属于人工智能领域,尤其涉及一种改进注意力机制的cnn-bilstm跌倒检测方法。


背景技术:

2.现今,随着计算机计算能力的提高,在人工智能(artificial intelligent,ai)领域中,深度学习神经网络算法慢慢崭露头角。深度学习是一种机器学习方法,它作为人工神经网络可以根据学习过程中的示例数据来独立地构建(训练)出基本规则。随着深度学习模型的不断发展,利用深度学习对惯性传感器信号获取人体运动数据,分析处理实现跌倒检测具有重要意义。深度学习算法能够自动提取最相关的特征来进行评估,不需要从传感器数据中手动提取预定特征,与传统的机器学习算法相比可以提供更好的结果,目前常见跌倒检测中使用最多的深度学习模型有cnn、lstm等网络模型。


技术实现要素:

3.发明人发现,利用cnn提取数据特征并对数据进行检测与分类的同时会忽略时序化数据间的前后关联性,针对这种情况,可以设计循环神经网络来对时间序列数据进行处理,利用lstm对前后关联信息的处理能力,我们可以通过对跌倒前序列信号的分析得到导致跌倒的行为模式,来判断是否发生跌倒。mirto等人利用设计了一款基于lstm的模型架构,该架构可以有效地检测跌倒,同时可以在可穿戴设备上运行。段美玲等人利用双向长短期记忆神经网络进行跌倒检测,实验结果表明,利用双向lstm可以更好地平衡精确度和检测时延两方面的性能,但是lstm网络在并行处理上存在劣势,并且忽略的数据的空间特征。
4.因此,为了充分利用数据和特征来进行有效的跌倒检测,针对上述cnn和lstm深度学习网络存在的问题,本文利用基于加速度计和陀螺仪组合而成的imu传感器装置的人体运动数据进行采集,提出了一种基于imu的cbam-iam-cnn-bilstm跌倒检测算法,该算法通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测算法在复杂环境下检测的鲁棒性与稳定性。
5.具体,改进注意力机制的cnn-bilstm跌倒检测方法,包括如下步骤:
6.将传感器固定于受试者腰部正中间,采集人体日常活动和跌倒数据,构建数据集;
7.将数据降噪以及数据分割处理,将数据转化为预设形式的数据;
8.将预设形式的数据输入融合改进的cbam注意力机制的cnn+双向lstm的深度神经网络模型,得到跌倒的分类判别;
9.其中,所述模型通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信
息,以减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测方法在复杂环境下检测的鲁棒性与稳定性。
10.其中,所述融合改进的cbam注意力机制的cnn+双向lstm的深度神经网络模型主要由以下7个部分组成:
11.(1)输入层:接受三轴加速度计和三轴角速度计的数据,分别输入到卷积层和双向lstm层;
12.(2)卷积层:接受输入层传来的数据,进行卷积运算,其中卷积核大小为5
×5×
3,每个单元在卷积后根据方程relu激活函数进行激活;
13.(3)注意力机制:对于卷积神经网络生成的特征图,卷积注意力模块(cbam)会沿着两个独立的维度(通道和空间)依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化;为更好对人体的日常行为和跌倒行为的状态进行特征提取,在模型的不同位置加入cbam模块,并对其进行改进;
14.(4)池化层:采用最大池化法进行子采样,对卷积层所提取的信息做更一步降维,缩减模型大小,减少计算量,同时提高所提取特征的鲁棒性;
15.(5)双向lstm层:双向lstm是由两层循环神经网络组成,它们的输入相同,只是信息传递方向不同,最终预测的结果是由前向和反向层共同决定;
16.(6)dropout层:在全连接层和双向lstm层后加入dropout层,在训练过程中,对于神经网络训练单元,按照一定的概率将其从网络中移除,防止模型过拟合,提高模型的泛化能力;
17.(7)输出层:对经过卷积处理后的特征向量和经过双向lstm网络处理后的特征向量进行拼接,完成特征拼接,再通过全连接层(dense layer)将每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来,得到一个具体的数值,然后根据softmax分类器得出最终的分类结果。
18.与现有技术相比,上述技术方案具有以下优点:
19.本文通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测算法在复杂环境下检测的鲁棒性与稳定性。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明一个实施例所提供的一种改进注意力机制的cnn-bilstm跌倒检测方法的流程示意图;
22.图2为本发明一个实施例所提供的cbam-iam-cnn-bilstm模型图;
23.图3为本发明一个实施例所提供的cbam中通道注意力模块和空间注意力模块;
24.图4为本发明一个实施例所提供的改进的cbam通道注意力机制模型图;
25.图5为本发明一个实施例所提供的模型训练准确率;
26.图6为本发明一个实施例所提供的测试集的混淆矩阵。
具体实施方式
27.本发明的核心思想在于,通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测算法在复杂环境下检测的鲁棒性与稳定性。
28.参见图1,本发明实施例提供一种改进注意力机制的cnn-bilstm跌倒检测方法,包括:
29.将传感器固定于受试者腰部正中间,采集人体日常活动和跌倒数据,构建数据集;
30.将数据降噪以及数据分割处理,将数据转化为预设形式的数据;
31.将预设形式的数据输入融合改进的cbam注意力机制的cnn+双向lstm的深度神经网络模型,得到跌倒的分类判别;
32.其中,所述模型通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,以减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测方法在复杂环境下检测的鲁棒性与稳定性。
33.其中,所述融合改进的cbam注意力机制的cnn+双向lstm的深度神经网络模型主要由以下7个部分组成:
34.(1)输入层:接受三轴加速度计和三轴角速度计的数据,分别输入到卷积层和双向lstm层;
35.(2)卷积层:接受输入层传来的数据,进行卷积运算,其中卷积核大小为5
×5×
3,每个单元在卷积后根据方程relu激活函数进行激活;
36.(3)注意力机制:对于卷积神经网络生成的特征图,卷积注意力模块(cbam)会沿着两个独立的维度(通道和空间)依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化;为更好对人体的日常行为和跌倒行为的状态进行特征提取,在模型的不同位置加入cbam模块,并对其进行改进;
37.(4)池化层:采用最大池化法进行子采样,对卷积层所提取的信息做更一步降维,缩减模型大小,减少计算量,同时提高所提取特征的鲁棒性;
38.(5)双向lstm层:双向lstm是由两层循环神经网络组成,它们的输入相同,只是信息传递方向不同,最终预测的结果是由前向和反向层共同决定;
39.(6)dropout层:在全连接层和双向lstm层后加入dropout层,在训练过程中,对于神经网络训练单元,按照一定的概率将其从网络中移除,防止模型过拟合,提高模型的泛化能力;
40.(7)输出层:对经过卷积处理后的特征向量和经过双向lstm网络处理后的特征向
量进行拼接,完成特征拼接,再通过全连接层(dense layer)将每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来,得到一个具体的数值,然后根据softmax分类器得出最终的分类结果。
41.下面,本文给出了基于改进注意力机制的cnn-bilstm跌倒检测方法的详细过程:
42.跌倒是造成老年人意外受伤的重要原因之一。随着老龄人口的快速增长,跌倒检测成为医疗健康领域的一个关键问题。为了及时、准确地对老年人进行跌倒检测,本文提出了一种基于改进注意力机制的模型——-cbam-iam-cnn-bilstm,该模型包括卷积层,双向lstm层,采样层和全连接层,并在网络结构中引入改进的注意力机制——convolutional attention block module(cbam)卷积模块,该模块将一维卷积层替代全连接层来聚合各通道间的信息,使模型能够准确提取不同行为特征。将可穿戴传感器采集的人体加速度及角速度数据分别输入该模型的卷积层和双向lstm层,进行特征融合后再经过softmax进行分类识别,将本模型与cnn、cnn-bilstm模型对比,同时对不同的注意力机制se、eca、cbam进行对比,在准确率,灵敏度和特异度都有不同程度的提升。实验结果表明,该算法的准确率为97.37%,敏感度为97.29%,特异度为99.56%,证实了该模型具有较好的实用性和较强的泛化能力。
43.目前世界正面临着人口老龄化的严峻挑战。联合国最新统计显示,全球老龄人口总数已达6.29亿,占世界总人口的10%。预计到2050年全球老龄化人口比例将增至15%。据中国第七次人口普查数据显示,60岁及以上人口为26402万人,占18.70%。其中,65岁及以上人口为19064万人,占13.50%。60岁及以上人口的比重上升5.44个百分点,人口老龄化程度进一步加深。随着老年人口比例的快速增加,老年人的健康问题越来越受到全社会的关注。跌倒是造成老年人伤残、失能和死亡的重要因素,据世界卫生组织(who)的相关报道,全球每年约40余万人死于跌倒,一半以上是60岁以上的老年人。中国疾病监测系统的数据显示,跌倒已成为中国65岁以上老年人因伤致死的首位原因。根据测算,中国每年有4000多万老年人至少发生1次跌倒。据世界卫生组织报告,跌倒是造成中国老年人疾病负担的首要健康问题之一,老年人跌倒后易导致身体机能严重受损,并对老年人的心理造成影响,降低老年人独立生活能力。可见,跌倒已经成为威胁老人身心健康的严重问题,也成为了一个社会关注的重要问题,因此,对跌倒检测的研究具有显著的社会意义。
44.近年来,研究者在跌倒检测算法方面已经开展了许多工作。根据使用设备和检测方法的不同,跌倒检测算法主要分为以下3个方面:基于计算机视觉的方法、基于场景传感器的方法和基于可穿戴式设备的方法。基于计算机视觉的跌倒检测方法通过从监控设备中被动获取人体运动信息,并对获取的视频或图像进行处理,来检测是否发生跌倒,但是这种方法会侵犯用户隐私,同时对存在人体大面积被遮挡的情况容易产生误判,对准确率造成影响。基于场景传感器的方法利用安装在监控区域内的场景传感器采集压力、震动和声音等信息来判断跌倒是否发生。但是此类传感器布置成本较高,对噪声信息比较敏感,受周围环境影响较大,误报和漏报率较高,针对不同环境下的设备布置也有较高要求,不适用于日常生活场景。基于可穿戴式设备的方法通常采用加速度计、陀螺仪和惯性测量单位(imu)等传感器自动检测跌倒,通过wifi、移动网、蓝牙等通信设备向医护人员发送求助信息。随着传感器技术以及姿态算法的发展,体积更小、精度更高、性能更强的imu在运动分析中开始得到应用,目前最高精度的惯性传感器件的动作捕捉技术精度已接近基于多摄像头的视频
动作捕捉技术。当前基于可穿戴的传感器的步态分析系统已成为促进非医院环境下开展持续跌倒风险评估的可行手段。随着惯性传感器的发展,其检测精度不断提高,基于可穿戴设备的方法可以随时随地的对人体进行跌倒检测,并且不会对用户隐私造成影响,设备成本较低,用户体验好,相比于其他两种方法具有更多的优势。
45.现今,随着计算机计算能力的提高,在人工智能(artificial intelligent,ai)领域中,深度学习神经网络算法慢慢崭露头角。深度学习是一种机器学习方法,它作为人工神经网络可以根据学习过程中的示例数据来独立地构建(训练)出基本规则。随着深度学习模型的不断发展,利用深度学习对惯性传感器信号获取人体运动数据,分析处理实现跌倒检测具有重要意义。深度学习算法能够自动提取最相关的特征来进行评估,不需要从传感器数据中手动提取预定特征,与传统的机器学习算法相比可以提供更好的结果,目前常见跌倒检测中使用最多的深度学习模型有cnn、lstm等网络模型。吕艳等人构建一种基于卷积神经网络(cnn)的老年人跌倒检测模型,利用多层卷积神经网络训练和优化,cnn能够直接从大量的标注数据中逐层抽取其中的关键信息,当我们用cnn模型从数据中提取信息时,一般是通过卷积核去提取数据的局部信息,然而,每个局部信息对数据能否被正确识别的影响力是不同的,近几年许多研究者将注意力机制融入卷积模块,证明注意力机制在对网络性能改进方面拥有巨大的潜力。hu等人提出了se(squeezeexcitation)模块,它学习特征图中各个通道间的关联关系,生成通道注意力,让网络更加关注信息丰富的通道,为cnn带来明显的性能提升。cbam(convolutionalblock attention module)模块则在se模块基础上进行了进一步的扩展,该模块将特征图按通道进行全局池化,获得空间注意力。但是利用cnn提取数据特征并对数据进行检测与分类的同时会忽略时序化数据间的前后关联性,针对这种情况,可以设计循环神经网络来对时间序列数据进行处理,利用lstm对前后关联信息的处理能力,我们可以通过对跌倒前序列信号的分析得到导致跌倒的行为模式,来判断是否发生跌倒。mirto等人利用设计了一款基于lstm的模型架构,该架构可以有效地检测跌倒,同时可以在可穿戴设备上运行。段美玲等人利用双向长短期记忆神经网络进行跌倒检测,实验结果表明,利用双向lstm可以更好地平衡精确度和检测时延两方面的性能,但是lstm网络在并行处理上存在劣势,并且忽略的数据的空间特征。
46.因此,为了充分利用数据和特征来进行有效的跌倒检测,针对上述cnn和lstm深度学习网络存在的问题,本文利用基于加速度计和陀螺仪组合而成的imu传感器装置的人体运动数据进行采集,提出了一种基于imu的cbam-iam-cnn-bilstm跌倒检测算法,该算法通过cnn提取数据的空间特征,利用lstm提取时间特征,并进行特征融合,在cnn中加入注意力机制——convolutional attention block module(cbam)卷积模块,并针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,减少冗余计算的同时更好的对特征进行提取,以提高跌倒检测算法在复杂环境下检测的鲁棒性与稳定性。
47.本文主要包含三部分内容:人体运动数据采集、数据预处理和跌倒检测算法设计。第一部分内容主要是设计实验方案,采集人体日常活动和跌倒数据,构建数据集;第二部分主要是进行数据降噪以及数据分割处理,将数据转化为适用于算法的形式;第三部分提出了cbam-iam-cnn-bilstm算法,并对不同类型的跌倒及日常活动数据进行自动特征提取和学习,最终实现跌倒的准确分类判别。
48.一、实验方案
49.首先建立人体活动模型。传感器竖直放置时,建立人体三维坐标,其中y轴垂直于地面,即人体上下方向。x轴为人体前后方向,而z轴位于人体左右方向。
50.目前已有的跌倒检测研究使用的数据多数采用实验室环境下由年轻人模拟老年人动作获取的数据,但是研究表明老年人在行走过程中加速度的幅度变化要远远小于年轻人,其主要原因是老年人身体机能下降,动作迟缓等,因此在无法获取老年人真正跌倒数据的情况下,为了在实验室环境下让年轻人更加逼真的模拟老年人的动作,同时也可以避免造成不必要的伤害,受试者将佩戴老人生活模拟体验套装,在膝盖处、肘处、手腕处绑上护腕限制关节活动,在双脚和手腕处绑上沙袋,模拟老人身体笨重、肢体僵硬状态、行动迟缓的状态。实验设备采用选用lpms-b2姿态传感器,设备参数如表1所示。
51.表1 lpms-b2主要性能参数
[0052][0053][0054]
传感器通过蓝牙与电脑端通信,以200hz的频率进行采样,加速度采集范围为
±
16g,角速度采集范围为
±
2000dps。通过前期传感器不同佩戴位置的实验分析发现,将设备佩戴在腰间准确率最高,因此将传感器固定于受试者腰部正中间,采集人体日常活动和跌倒数据,构建数据集。
[0055]
本实验采集了包括行走时滑倒、晕倒、坐下时跌倒、起身时跌倒4种跌倒动作和行走、慢跑、跳、上楼梯、下楼梯和坐下在内的6种日常动作。受试者共有12人,分别包括10位男性和2位女性,年龄分布在20-25岁之间。数据样本数如表2所示。其中,跌倒样本有560个,其余日常活动样本每种500个,总样本数为3560个。
[0056]
表2数据采集样本数
[0057][0058]
二、数据预处理
[0059]
1、kalman滤波
[0060]
卡尔曼滤波(kalman filtering)是目前应用最为广泛的滤波方法,它是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于测量出的数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。由于传感器容易受到振动、温度、电磁干扰等各种因素的影响而产生噪声,影响最终人体活动分类精度,所以,对采集到的加速度、角速度数据进行特征提取前先引入卡尔曼滤波对数据进行处理,消除噪声。kalman滤波器的主要公式如下:
[0061]
x(k|k-1)=ax(k-1|k-1)+bu(k)
ꢀꢀꢀ
(1)
[0062]
p(k|k-1)=ap(k-1|k-1)a
t
+q
ꢀꢀꢀ
(2)
[0063][0064]
x(k|k)=x(k|k-1)+k(k)[z(k)-hx(k|k-1)]
ꢀꢀꢀ
(4)
[0065]
p(k|k)=(1-k(k)h)p(k|k-1)
ꢀꢀꢀ
(5)
[0066]
其中,x(k|k-1)为k时刻的先验状态估计值,是根据上一时刻(k-1时刻)的最优估计预测的k时刻的结果,x(k|k)和x(k-1|k-1)分别表示k时刻和k-1时刻的状态估计值,p(k|k-1)为k时刻的先验估计协方差,p(k|k)和p(k-1|k-1)分别表示k时刻和k-1时刻的后验估计协方差,z(k)为测量值,u(k)是观测的噪声,k(k)为卡尔曼增益,a为状态转移矩阵,b为将输入转换为状态的矩阵,r为测量矩阵协方差,q为过程激励噪声协方差,h为状态变量到测量的转换矩阵,[z(k)-hx(k|k-1)]为实际观测和预测观测的残差,和卡尔曼增益一起修正先验。卡尔曼滤波主要有两个计算步骤,第一步通过公式(1)(2)得到估计值。公式(3)(4)(5)是卡尔曼滤波器的状态更新方程,修正之前的估计值,得到当前时刻的最优估计值同时更新最小均方误差矩阵,为下一时刻使用kalman算法做准备。这样反复执行更新方程,可减少噪声对传感器数据的影响,从而提高跌倒检测的准确性。
[0067]
2、数据分割
[0068]
实验表明人从跌倒到接触地面的时间一般小于2s。由于采样频率为200hz,首先将跌倒活动降频至100hz,因此选择2s的滑动窗口来截取3轴加速度和角速度数据。其中每组数据包含了1200个采样点,分别由三轴加速度和三轴角速度数据构成,数据格式如式6所示。
[0069][0070]
其中分别表示三轴加速度;表示三轴角速度,n的值为200。
[0071]
三、跌倒检测模型构建
[0072]
1、cbam-iam-cnn-bilstm网络架构
[0073]
为提高跌倒检测的准确性,本文提出了一种融合改进的cbam注意力机制的cnn+双向lstm的深度神经网络模型(cbam-iam-cnn-bilstm模型),进行人体日常活动和跌倒行为分类,在该模型中,将采集的加速度及角速度数据首先分别送入到cnn和双向lstm中,提取人体运动数据的空间特征和时间特征,将其特征进行拼接,最后再进行分类判别,模型整体结构如图2所示。
[0074]
cbam-iam-cnn-bilstm模型主要由以下7个部分组成:
[0075]
(1)输入层:接受三轴加速度计和三轴角速度计的数据,分别输入到卷积层和双向lstm层。
[0076]
(2)卷积层:接受输入层传来的数据,进行卷积运算。其中卷积核大小为5
×5×
3,每个单元在卷积后根据方程relu激活函数进行激活。
[0077]
(3)注意力机制:对于卷积神经网络生成的特征图,卷积注意力模块(cbam)会沿着两个独立的维度(通道和空间)依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化。为更好对人体的日常行为和跌倒行为的状态进行特征提取,本文在模型的不同位置加入cbam模块,并对其进行改进,详见下面卷积注意力模块这部分内容进行的详细介绍。
[0078]
(4)池化层:采用最大池化法进行子采样,对卷积层所提取的信息做更一步降维,缩减模型大小,减少计算量,同时提高所提取特征的鲁棒性。
[0079]
(5)双向lstm层:双向lstm是由两层循环神经网络组成,它们的输入相同,只是信息传递方向不同,最终预测的结果是由前向和反向层共同决定。
[0080]
(6)dropout层:在全连接层和双向lstm层后加入dropout层,在训练过程中,对于神经网络训练单元,按照一定的概率将其从网络中移除,防止模型过拟合,提高模型的泛化能力。
[0081]
(7)输出层:对经过卷积处理后的特征向量和经过双向lstm网络处理后的特征向量进行拼接,完成特征拼接。再通过全连接层(dense layer)将每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来,得到一个具体的数值,然后根据softmax分类器得出最终的分类结果。
[0082]
2、卷积注意力模块
[0083]
卷积注意力模块(cbam)是一种简单有效的卷积神经网络注意力模块。给定一个特征图f∈rc×h×w作为输入,cbam依次推导出一个一维通道注意力mc∈rc×1×1和二维空间注意力ms∈r1×h×w,如图3所示cbam中通道注意力模块和空间注意力模块。整个过程可以由以下公式表示:
[0084][0085]
[0086]
其中表示对应元素相乘,在相乘操作前,通道注意力和空间注意力分别需要按空间维度和通道维度进行广播。f

为经过通道注意力调整后的特征图,f

为最终输出的特征图。
[0087]
为了有效地计算通道注意力,首先使用全局均值池化和最大值池化操作来聚合特征映射的空间信息,生成两个不同的通道描述符和然后将这两个描述符转发到共享网络,以生成通道注意力图mc∈rc×1×1。共享网络由具有一个隐藏层的多层感知器(mlp)组成。通道注意力模块数学表达式为:
[0088][0089]
其中,σ表示sigmoid函数,其中w0∈r
c/r
×c,w1∈rc×
c/r
,mlp的权重w0和w1共享。和分别表示均值池化特征和最大值池化特征。
[0090]
空间注意力模块首先沿输入特征图的通道轴进行全局均值池化和最大值池化操作,生成两个不同的空间上下文描述符和然后通过标准卷积层进行连接和卷积,生成二维空间注意图。空间注意力模块数学表达式为:
[0091][0092]
其中,σ表示sigmoid函数,f7×7表示为卷积核大小为7
×
7的卷积操作。
[0093]
计算生成通道注意力时,要使用全连接层对特征进行映射,然而全连接层的计算量巨大,占用较多的资源的同时模块的参数量也随之增大,因此当在一个卷积神经网络中大量插入cbam模块时,会导致网络参数大量增长,计算时间变长,而跌倒检测在保证精度的情况下需要更低的延时。文献认为在cnn任意给定的中间特征图中,使用全连接层对通道特征进行映射会产生许多冗余计算。因此针对此问题,本文设计使用一维卷积操作对一维通道注意力进行通道特征聚合,与原有cbam中使用全连接层聚合通道特征不同,本文选择使用卷积核长度为k的一维卷积来聚合该通道邻域内的k个通道的信息。将卷积后的两个特征按元素相加,并通过sigmoid函数运算,生成通道注意力mc∈rc×1×1,随后将生成的通道注意力沿空间上的两个维度进行广播扩充至rc×h×w,再与输入特征图按对应元素相乘获得注入通道注意力后的特征图。改进的cbam通道注意力计算过程如式11所示。
[0094][0095]
其中,σ表示sigmoid函数,表示卷积核大小为k的一维卷积操作。k由通道数自适应决定。改进后的cbam通道注意力机制模型如图4所示。由于卷积操作的参数共享性质,引入一维卷积可以减少通道注意力模块的参数量,提高模型整体运行效率。
[0096]
四、实验及结果分析
[0097]
本实验对数据中的日常行为和跌倒行为进行检测,并对检测精度进行验证。本实验采用tensorflow 2.5.0深度学习框架搭建跌倒检测模型,硬件配置为intel core i7-10700处理器,nvidia geforce gtx1060显卡。
[0098]
利用构建的数据集进行模型的训练和测试,数据集按照比例被随机划分为训练集和测试集,其中80%的数据用于模型训练,20%的数据用于模型测试。通过训练集训练跌倒检测模型;测试集则用于评估最终模型的泛化能力。使用adam算法对网络进行网络的优化,在网络层之间加入dropout方法达到提高模型泛化能力的目的。在网络最后的全连接层加上了softmax分类器计算最后输出结果。模型参数设置如表3所示。
[0099]
表3 cbam-cnn-bilstm网络参数设置
[0100][0101]
损失函数采用多分类的交叉熵损失函数(cross entropy loss),其损失值表达式为:
[0102][0103]
式中yi为第i个样本对应的真实标签;pi为模型训练该动作的预测值;n为动作类别总数;k为样本总数。
[0104]
1、评价指标
[0105]
根据分类预测结果,从以下四个方面进行分析:
[0106]
(1)准确率反映的是识别结果中识别正确的分类占全部分类的比例,反映了模型对数据集的训练效果,其数学表达式为:
[0107][0108]
(2)特异度反映的是识别出的负样本占所有负样本的比例,其数学表达式为:
[0109][0110]
(3)灵敏度反映的是识别出的正样本占所有正样本的比例,其数学表达式为:
[0111][0112]
其中,tp为被模型预测为正类的正样本,tn为被模型预测为负类的负样本,fp为被模型预测为正类的负样本,fn为被模型预测为负类的正样本。
[0113]
2、模型结果对比
[0114]
为了验证本研究模型的有效性和改进之后的效果,本文分别与cnn,cnn-bilstm以
及目前应用最广泛的三种注意力机制进行比较,分别是se注意力机制(squeeze-and-excitation networks),eca(efficient channel attention)和cbam(convolutional block attention module)。训练准确率如图5所示。
[0115]
表4改进后的cbam-cnn-bilstm模型与其他模型性能比较
[0116][0117]
结果如表4所示。可以很直观的看出,本文模型准确率,灵敏度和特异度都是最高的,由图5可以看出,本文模型准确率上升较为平缓,未出现大范围振荡现象,在迭代480次之后,模型准确率趋于稳定。注意力机制可以特征信息赋予不同权重,以获取更多所需要关注目标的细节信息,从而抑制其他无用信息。通过分析cnn-bilstm模型和引入se,eca和cbam注意力机制后的模型,可以看出引入注意力机制后准确率都有不同程度的提升,其中eca注意力机制模块对模型准确率提升最大,为0.66%。eca模块相比于se模块,直接在全局平均池化层之后使用1x1卷积层替换全连接层。该模块避免了维度缩减,并有效捕获了跨通道交互。se和eca更多的是关注对通道域的分析,局限于考虑特征图通道之间的作用关系。cbam从通道和空间两个作用域出发,引入空间注意力和通道注意力两个分析维度,实现从通道到空间的顺序注意力结构。鉴于eca模块相比于se模块的提升,本文针对cbam的通道注意力模块,引入一维卷积替代全连接层来聚合各通道间的信息,使模型能够对两个维度进行注意力分配从而增强了注意力机制对模型性能的提升效果,实验结果表明,相比于cbam-cnn-bilstm网络模型,改进后的模型准确率,灵敏度和特异度分别提高了1.19%,1.97%,0.35%。相比于cnn-bilstm模型准确率,灵敏度和特异度分别提高了1.58%,1.78%,0.26%。
[0118]
为了观察lstm层数对分类精度的影响,我们对比了lstm层数在1、2、3层的模型精度变化,cnn参数保持不变。实验结果如表5所示,当lstm层数的数量为2时,模型的精度最高,性能优于1层和3层,因此我们最终将lstm层数设置为2。
[0119]
表5在不同lstm层数下模型的精度
[0120][0121]
3、模型测试结果
[0122]
本文分别对跌倒,行走,慢跑,跳,上楼梯,下楼梯,坐下这7种动作进行识别,共760组数据用于测试,测试结果如表6所示,测试集的混淆矩阵如图6所示。混淆矩阵包括了测试
集中7种行为预测正确和预测错误的样本数量。在混淆矩阵中,主对角线上的数值是预测正确的样本数量,其他位置的数值则为预测错误的样本数量。在数据采集过程中,跌倒行为类别共有4种,每种还包括了向前向后和侧向跌倒,由表6可知,跌倒行为识别准确率为99.74%,灵敏度达到100%,特异度达到99.69%,由图6可知,有1个跳的动作被识别为跌倒,其原因可能是由于跳动作与跌倒中向前向后跌倒的动作行为有所相似,y轴数据上下波动较大,导致识别错误。对于日常行为,坐下识别效果最好,由于实验过程中受试者穿戴老年人生活模拟体验套装,限制了身体活动,导致慢跑动作幅度变小,与走路行为相似,导致有11组慢跑数据被预测成行走。通过上述实验结果分析,该模型能有效的对人体跌倒和日常活动行为进行识别。
[0123]
表6 cbam-iam-cnn-bilstm模型测试结果
[0124][0125]
五、结论
[0126]
本文首先论述了跌倒检测的重要性。然后结合深度学习在跌倒检测方面的应用,分析了现有跌倒检测方法存在的不足。通过对几种使用最多的深度学习模型和注意力机制讨论,提出了cbam-iam-cnn-bilstm跌倒检测模型,利用imu传感器装置采集人体运动数据,构建跌倒数据集。针对cbam中通道注意力模块,利用一维卷积替代全连接层,增强注意力机制对模型性能的提升效果。再结合特征融合的方法,通过增加上下文信息来提高跌倒检测的精度。实验结果显示,本文提出的跌倒检测模型准确率为97.37%,与其他网络模型相比,本文模型准确率,特异度和灵敏度更高,同时具有较强的泛化能力和较好的实用性。
[0127]
本文模型还有很多优化空间,在未来工作中,我们将进一步完善数据集,加入更多的动作来验证模型性能,在以后的研究中将继续改进模型,优化实时训练的过程,降低训练的周期,减少误判行为,同时针对cbam中空间注意力模块进行改进,同时更换基础网络等多方因素来提高算法的检测性能。
[0128]
本说明书中各个部分采用递进的方式描述,每个部分重点说明的都是与其他部分的不同之处,各个部分之间相同相似部分互相参见即可。
[0129]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1