技术领域
[0001]本发明属于远程健康监护技术领域,特别涉及一种用于跌倒判决的神经网络模型及其跌倒判决方法、基于深度学习的人体跌倒监测系统。
背景技术
[0002]跌倒是对老年人造成健康损害乃至死亡的重要原因。随着老人年龄的增加,老年人身体变得十分脆弱,突如其来的跌倒很容易给他们带来致命的伤害。跌倒行为检测能够在老人跌倒后第一时间给予医疗干预,对于减少老人身体损害具有重要意义。
[0003]近年来,已有一些已经基于深度学习的跌倒检测技术的研究和应用。例如,物联网技术深度学习技术的应用主要集中于姿态传感器数据检测(中国发明专利CN201930671549.7)、姿态评估(中国发明专利CN201911346598.9)、异常报警(中国发明专利CN202110945470.5)等,现有技术主要的局限表现在:传感器类型以及佩戴位置的选择对检测精度的影响;跌倒检测算法在处理不同传感器数据有明显的误差,以及依赖某种特定的传感器才具有较高的灵敏度、精确度。
[0004]现有技术中公开了一种处理时间序列的Transformer方法,它采用基于注意力机制代替了传统方法的递归和卷积处理,具有并行性。这使得该架构在计算上比RNN(循环神经网络)高效。在序列建模时保留序列中元素的顺序,Transformer引入了一种位置编码策略。对序列中元素的位置进行编码,按位置进行索引。然而,跌倒是一个完整事件,传感器数据为时时间序列,使用传统的滑动窗和Transformer方法处理会造成局部信息丢失,而丢失的这部分信息可能会导致误判。
发明内容
[0005]为解决上述现有技术存在的技术问题,本发明提供了一种用于跌倒判决的神经网络模型及其跌倒判决方法、基于深度学习的人体跌倒监测系统,通过本发明能够快速准确的实时监测跌倒事件的发生,保障了跌倒人员的安全,降低了经济损失。
[0006]本发明采取如下技术方案:
[0007]一种用于跌倒判决的神经网络模型,其包括:
[0008]线性投影层:将可穿戴传感器数据提取分割为二维样本矩阵块序列,输入样本矩阵块大小为N*N*M,N*N表示矩阵块的维度,M表示输入序列长度,线性投射层的维度为M*M*D,D代表样本点被映射的向量长度;输入序列经过线性投射层之后的输出维度为M*D,即一共有M个标识token,每个token的维度是D;再加上一个特殊字符(*)class token即cls,该特殊字符放在序列头部以区分不同时间序列;cls随机初始化并与位置信息相加,其中,位置信息设定为1到M的数字;最终线性投影层的输出加上位置信息后维度是(M+1)*D;
[0009]编码层:由N个相同的Transformer编码器堆叠,编码器为一个子层,在每个子层中使用一个残差连接,然后是层归一化和一个多层感知机;每个子层的输出公式为:
[0010]Sublayer(y)=LayerNorm(x+Sublayer(x)) (1)
[0011]其中,Sublayer(x)是子层本身实现的函数,模型的所有子层中嵌入层的维度都为128;编码器的主体结构采用多头注意力机制;注意力函数描述为将一个查询Query和一组键key-值value对映射到一个输出,其中查询、键、值和输出都是向量;输出是按值的加权和计算的,其中分配给每个值的权重是通过查询兼容性函数与相应键计算的;多头注意力机制中使用缩放点积注意,输入是由维度为d
k的查询和键以及维度为d
v的值组成;所有键计算查询的点积,每个键除以
后应用softmax函数来获得值的权重;同时计算一组查询的注意函数,打包到一个矩阵Q中;键和值也被打包到矩阵K和V中;计算输出矩阵结果为:
[0012]
[0013]在多头注意力机制前后采用层归一化,利用层归一化,计算样本的均值和方差;
[0014]分类层:由一层全连接层组成,其中,全连接层的输入维度为M*D,全连接层的输出实现了跌倒和非跌倒的二分类。
[0015]本发明还公开了一种基于上述神经网络模型的跌倒判决方法,其按如下步骤:
[0016]步骤1):对公开数据集进行数据预处理,将80%的数据样本用作训练集,20%的数据样本作为测试集;其中,跌倒和非跌倒事件采样周期相同,跌倒瞬间的持续时长为数秒,对数据集中的每一个跌倒事件时间序列使用重叠滑动窗提取局部时间特征;滑动窗提取特征的过程依赖于长或短的时间间隔;每一个局部特征被重新排列为一个N*N的样本矩阵;
[0017]步骤2):特征融合及模型计算:可穿戴传感器数据包括两个加速计和一个陀螺仪获取的数据块,此三个数据块作为模型输入,将每个事件的三个数据块堆叠为一个多通道输入序列;线性投影层处理短时间特征即样本矩阵,输入序列为数个样本矩阵,每个样本矩阵的维度为N*N*M,线性投影层的维度为N*D,输入样本序列在经过线性投影层之后加上位置信息编码信息和用来区分不同序列的特殊字符(*),最终线性投影层的输出维度为(M+1)*D;Transformer编码层处理长时间特征即样本矩阵序列;编码层由N个相同的Transformer编码器堆叠,在每个子层中使用一个残差连接,然后是层归一化和一个多层感知机通过Transformer编码器的堆叠;
[0018]步骤3):结果分类:输入时间序列经过线性投影层和编码层后,由分类层完成跌倒和非跌倒的分类任务。
[0019]优选的,步骤1)中,跌倒和非跌倒事件采样周期均为12s,跌倒瞬间的持续时长为2s,将时间窗的大小设置为400个采样点对数据集中的每一个跌倒事件时间序列使用重叠滑动窗提取局部时间特征,滑动窗的重叠率为250个采样点;采样频率为200Hz,400个采样点即为2s。
[0020]优选的,步骤2)中,线性投影层处理短时间特征即样本矩阵,输入序列为9个样本矩阵,每个样本矩阵的维度为N*N*M,N=20,M=9,线性投影层的维度为N*D,D=128,输入样本序列在经过线性投影层之后加上位置信息编码信息和用来区分不同序列的特殊字符(*),位置编码为数字1到9;最终线性投影层的输出维度为(M+1)*D即10×128。
[0021]优选的,步骤3)中,全连接分类层的输入维度为10×128,输出维度为1×2,输出为跌倒和非跌倒的二分类结果。
[0022]本发明还公开了一种基于深度学习的人体跌倒监测系统,其包括:
[0023]终端侧,包括可穿戴传感器、移动端,可穿戴传感器佩戴在被监测人体身上,用于采集数据,可穿戴传感器采集的数据传输到移动端,通过移动端发送到云端侧;
[0024]云端侧,包括云管理平台、权利要求1所述的神经网络模型,云管理平台接收终端侧的数据,并将数据输入到所述的神经网络模型;已训练好的神经网络模型,对传入的数据进行判断,判决为跌倒或未发生跌倒,当判决为跌倒时,云管理平台发送报警信息给医疗救助侧;
[0025]医疗救助侧,在接收到云平台管理的报警信息后,立刻进行救护。
[0026]优选的,云端侧中,报警信息内容包含当前发生跌倒老人的姓名、性别、年龄、医疗备案号、当前位置信息。
[0027]优选的,云端侧中,云管理平台记录维护所负责区域内所有被监测者的基础信息、医疗信息以及跌倒数据。
[0028]本发明提出基于Patch-Transformer的跌倒事件检测技术方案,首先采用待检测人体的传感器数据,然后从利用重叠滑动窗方法将传感器数据分割为短时间和长时间特征组,长短时间特征提供局部和完整的时序信息,避免了在识别过程中由于时间信息的缺失而造成的影响。再利用跌倒检测事件模型中的线性卷积层处理短时间特征,将时间位置信息嵌入卷积层输出送入Transformer编码层处理长时间特征,最终的分类结果由全连接层计算而得。重叠滑动窗的处理方式减少了该跌倒检测方法对特定传感器的依赖程度,提高了鲁棒性。此外,低空间和时间复杂度在快速得出计算结果的同时也可以减少硬件资源的使用。
[0029]本发明有效降低了医疗卫生的经济成本,减少跌倒对老人带来的伤害,推广后具有良好的经济效益和社会效益。
附图说明
[0030]图1是跌倒检测与健康监测系统整体框架图。
[0031]图2是基于深度学习的跌倒判决流程图。
[0032]图3是多通道传感器预处理图。
[0033]图4是基于Patch-Transformer的跌倒检测模型。
具体实施方式
[0034]为了对本发明的技术方案由更加清楚的理解,现结合优选实施例及附图对本发明进行详细说明。
[0035]本发明所涉及基于深度学习的人体跌倒监测系统框图如
图1所示。
[0036]如
图1所示,本发明优选实施例提出的基于深度学习的人体跌倒检测系统由终端侧、云端侧和医疗救助侧三部分构成。在终端侧,被监测者佩戴可穿戴传感器,实现数据采集功能。云端侧由神经网络模型和云管理平台组成。医疗救助侧由本地医疗中心和远程医疗中心组成。各部分具体描述如下:
[0037]在终端侧,被监测者将可穿戴的加速度传感器佩戴在身上,采集三轴加速度数据和三轴旋转角速度信息,这些数据通过蓝牙无线协议传送到移动端(本实施例选用手机),通过手机发送给云端侧。
[0038]在云端侧,云管理服务器通过与终端侧一致的无线协议接收终端侧的可穿戴加速度传感器数据,输入到神经网络模型。根据已经训练好的神经网络模型,对传入的数据进行判断,判决为跌倒或未发生跌倒,一旦判决为跌倒,云管理平台将发送报警信息,内容包含当前发生跌倒被监测者(如老人)的姓名、性别、年龄、医疗备案号、当前位置等信息,以及时进行医疗干预。云管理平台同时也会记录维护所负责区域内所有被监护者的基础信息、医疗信息以及跌倒数据。
[0039]在医疗救助侧,在接收到云平台管理的报警信息后,会立刻安排本地医疗中心的救护人员前往查看,做初步的诊断,然后将跌倒人员送往远程医疗中心医治。
[0040]本发明涉及的神经网络模型,由线性投影层、Transformer编码层和分类层构成。线性投影层由卷积层构成,投影层提取短时间特征,如跌倒的短暂过程。对多个通道的卷积操作充分利用了短时间序列的时序信息。Transformer编码层不包含递归和卷积,为了使模型利用序列的顺序,将位置信息嵌入补丁序列中以保留位置信息,嵌入向量的结果序列作为编码器的输入,Transformer编码层由交替的多层多头自注意和多层感知机(MLP)块组成。在每个块之前应用层归一化(LayerNorm),在每个块之后应用残差连接。通过编码层部分来处理长时间间隔,保留了长时间序列的时序信息。最后使用全连接层作为分类层,实现跌倒事件和非跌倒事件的检测。该网络模型详细结构介绍如下:
[0041]1、线性投影层:卷积神经网络(CNN,是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一)具有归纳偏置的特性,Transformer又具有很强的全局归纳建模能力,将两者结合能够有效解决传统跌倒检测技术所存在的问题。标准的Transformer接受一维标记嵌入序列(Sequence of token embeddings)作为输入。将可穿戴传感器数据提取分割为一个二维的样本矩阵块序列,输入样本矩阵块大小为N*N*M(N*N表示矩阵块的维度,M表示输入序列长度),线性投射层的维度为M*M*D(D,这里的D代表样本点被映射的向量长度)。输入序列经过线性投射层之后的输出维度为M*D,即一共有M个标识(token),每个token的维度是D。再加上一个特殊字符(*)class token(cls),该特殊字符放在序列头部用来区分不同时间序列。cls随机初始化并与位置信息相加,其中,位置信息将其设定为1到M的数字。最终线性投影层的输出加上位置信息后维度是(M+1)*D。
[0042]2、编码层:编码层由N个相同的Transformer编码器堆叠,编码器为一个子层,在每个子层中使用一个残差连接,然后是层归一化和一个多层感知机(MLP)。每个子层的输出是公式为:
[0043]Sublayer(y)=LayerNorm(x+Sublayer(x)) (1)
[0044]其中,Sublayer(x)是子层本身实现的函数,模型中的所有子层中的嵌入层的维度都为128。编码器(编码层的子层)的主体结构是多头注意力机制。注意力函数可以描述为将一个查询(Query)和一组键(key)-值(value)对映射到一个输出,其中查询、键、值和输出都是向量。输出是按值的加权和计算的,其中分配给每个值的权重是通过查询的兼容性函数与相应键计算的。多头注意力机制中使用的是缩放点积注意(Scaled Dot-ProductAttention),输入是由维度为d
k的查询和键以及维度为d
v的值组成。所有键计算查询的点积,每个键除以
然后应用一个softmax函数来获得值的权重。同时计算一组查询的注意函数,它们被打包到一个矩阵Q中。键和值也被打包到矩阵K和V中。计算输出矩阵结果为:
[0045]
[0046]在多头注意力机制前后采用层归一化。利用层归一化,计算样本的均值和方差,
[0047]层归一化的输入、均值和方差的计算公式如下:
[0048]
[0049]
[0050]
[0051]其中M为归一化层的维度,m为[1,M]区间的值,
为输入的值,μ为样本均值,σ
2为样本方差。
[0052]保证数据特征分布的稳定性。每一个子层的输出部分由两层隐藏层的多层感知机构成,解决单层感知机无法解决的非线性问题。
[0053]3、分类层:由一层全连接层组成,单层全连接结构可以减小模型计算量,优化空间和时间复杂度。其中,全连接层的输入维度为由M*D,全连接层的输出实现了跌倒和非跌倒的二分类。
[0054]本发明的技术方案涉及了一种基于Patch-Transformer(Patch是将滑动时间窗截取的时间序列片段重新排列为一个样本矩阵,整个时间序列的所有样本矩阵组成一个新的序列作为输入;Transformer是一种基于注意力机制的深度学习模型,将此两种方法结合并且用于跌倒检测是本发明独有的技术创新)网络的跌倒检测模型的跌倒判决方法,流程如
图2所示。
[0055]本发明优选实施例基于神经网络模型的跌倒判决方法,其步骤如下:
[0056]步骤1:对公开数据集Sisfall进行数据预处理,经过预处理,共得到跌倒样本1798例,非跌倒样本6146例。将80%的数据样本用作训练集,20%的数据样本作为测试集。其中,跌倒和非跌倒事件采样周期均为12s。跌倒瞬间的持续时长为2s,将时间窗的大小设置为400个采样点(采样频率为200Hz,400个采样点即为2s)对数据集中的每一个跌倒事件时间序列使用重叠滑动窗提取局部时间特征,滑动窗的重叠率为250个采样点。采用重叠滑动窗可以解决局部时间特征分割时信息丢失问题。滑动窗提取特征的过程依赖于长或短的时间间隔,长时间间隔特征,如跌倒过程的整体动作,以及短时间间隔特征,如跌倒瞬间的动作细节。每一个局部特征被重新排列为一个N*N(N=20)的样本矩阵。将一个事件提取的多个连续样本矩阵块整合为一个序列,样本矩阵能够很好的抓住传感器数据的局部特征,而整个事件的样本矩阵序列又能够保证跌倒和非跌倒事件的完整性,避免在跌倒过程中部分信息的丢失,具体的数据预处理内容如
图3所示。
[0057]步骤2:特征融合及模型计算,两个加速计和一个陀螺仪组成的三个数据块组作为模型输入。将每个事件的三个数据块堆叠为一个多通道输入序列。线性投影层处理短时间特征(样本矩阵),输入序列为9个样本矩阵,每个样本矩阵的维度为N*N*M(N=20,M=9),线性投影层的维度为N*D(D=128),输入样本序列在经过线性投影层之后加上位置信息编码信息和用来区分不同序列的特殊字符(*),此案例中位置编码为数字1到9。最终线性投影层的输出维度为(M+1)*D即10×128。Transformer编码层处理长时间特征(样本矩阵序列)。编码层由N(N=3)个相同的Transformer编码器堆叠,在每个子层中使用一个残差连接,然后是层归一化和一个多层感知机(MLP).通过Transformer编码器的堆叠,增加了网络深度,提高了模型对长时间间隔特征的感知能力。基于Patch-Transformer的网络结构如
图4所示。
[0058]步骤3:结果分类:输入时间序列经过线性投影层和编码层后,由分类层完成跌倒和非跌倒的分类任务。分类层由全连接层组成,全连接分类层的输入维度为10×128,输出维度为1×2,输出为跌倒和非跌倒的二分类结果。使用全连接层作为最终的分类具有更低的时间和空间复杂度。其中,低的复杂度计算能够提高运行效率,更快速的识别跌倒事件的发生。
[0059]以上对本发明的具体实施例进行了描述。需要说明的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。