APP下载

基于注意力机制的空时融合深度学习睡姿监测算法研究

2022-08-03石用伍李小勇石用德石用民谢泉

中国医疗设备 2022年7期
关键词:睡姿特征提取准确率

石用伍,李小勇,石用德,石用民,谢泉

1. 贵州省人民医院 设备处,贵州 贵阳 550002;2. 华南师范大学 环境学院,广东 广州51000;3. 贵州省盘州市大山镇卫生院,贵州 盘州 553507;4. 贵州省盘州市大山镇城镇规划建设管理所,贵州 盘州 553507;5. 贵州大学 大数据与信息工程学院,贵州 贵阳 550025

引言

一般情况下,睡姿可以分为仰卧、俯卧、左侧卧和右侧卧[1]。睡姿是诊断和治疗体位相关性睡眠呼吸障碍的核心指标之一[2],如睡眠呼吸暂停综合征等疾病与患者的睡姿具有密切的相关性[3]。近年来,接触式的多导睡眠监测仪(Polysom-nography,PSG)已成为常用的睡姿监测和睡眠诊断的“金标准”[4-7]。因此,探究一种可对用户睡姿进行实时、有效、无扰监测并改善睡眠质量的方法具有重要的临床意义。

心冲击图(Ballistocardiogram,BCG)是一种时序信号,其可非接触式描记心脏活动及血液运行时心脏、血管冲击和反弹而引起的躯体微弱运动[8]。在不同的睡姿下,可以通过提取心冲击图呈现的不同波形差异的特征工程来实现睡姿的识别分类[9-12]。由于传统的机器学习方法大多是一些浅层的学习技术,主要通过特征工程对样本数据进行特征提取,然后进行建模和训练,得到回归或分类模型,实现对信号的回归或分类处理[12],但这种算法容易受到特征工程的限制[13]。相对而言,深度学习是解决机器学习特征工程问题的有效途径,可以自动从数据中提取更高级的抽象特征,从而建立更好的分类模型[14-18]。本研究选用基于注意力机制的空时融合深度学习睡姿监测算法(Deep Learning Sleeping Posture Monitoring Model,CTAM)来建立睡姿监测模型,并结合卷积神经网络(Convolutional Neural Networks,CNN)和长短时记忆网络(Long Short Term Memory Network,LSTM)融合模型的优点,提出了一种全局分析BCG 信号的方法,并用于对基于BCG 信号的睡姿监测性能的分析。

1 CTAM处理方法

1.1 空时特征融合和注意力机制的睡姿检测模型

CTAM 主要使用CNN 和LSTM 两种不同特点的神经网络对BCG 信号进行处理,然后加入注意力机制完成BCG 信号的关键特征提取。CNN 与LSTM 结合能够提高提取BCG 信号特征的能力,同时结合注意力机制分析数据的特征有助于筛选出BCG 信号中有区分度的特征,进而提高睡姿分类的准确性。采用的卷积神经网络和长短时记忆网络作的简要介绍如下。

1.1.1 卷积神经网络

CNN 因具有能局部感知、共享权值的特性被常用于图像领域中视觉图像的局部特性及网络结构的优化[19]。作为一种前馈网络,卷积神经网络擅长于提取信号中包含的空间特征,但不能有效处理时间序列信号。通常的一维CNN 模型由输入层、卷积层、激活函数、池化层和输出层五部分组成。本研究在参考LeNet-5[20]的基础上设计的卷积神经网结构如图1 所示。其中与LeNet-5 不同的是,本研究中的CNN 模型输入层数据格式为1×250 的序列,并且分别在两个最大池化层之后加入批归一化技术(Batch Normalization,BN)、激活函数(Leaky ReLU)和丢弃技术(Dropout)。

图1 CNN模型的结构图

加入BN 技术用于CNN 训练不仅可以加快模型的收敛速度,而且可以在一定程度上缓解深层网络中“梯度弥散”的问题[21],使训练的深度学习模型更加稳定。本研究引入Leaky ReLU 是为了解决ReLU 的输入值为负的时候,输出始终为0,同时一阶导数也始终为0,从而导致神经元不更新参数,也就是神经元不学习的情况[22],公式(1)定义如下。

式中scale为小于1 的非负数,当取0 时,Leaky ReLU 激活函数退化为ReLU 函数。Dropout 策是一种正则化技术,可通过对训练数据进行复杂的自适应来防止或减少CNN 的过拟合,本研究随机选择一部分该层的输出作为丢弃元素实现丢弃策略。虽然CNN 能精确的获取BCG 信号的局部特征,但由于BCG 信号也可以看作是一种时序信号,因此不能充分获取BCG 信号时域特征,模型的精度和泛化性能不高。

1.1.2 长短时记忆网络

由于BCG 信号可以看作是一种时序信号,而LSTM是一种强大的时序信号处理和分类方法[23]。因此,本研究将LSTM 作为模型的处理单元引入。两层的LSTM 分类网络结构包括输入层、LSTM 层、分类层和输出层,结构图如图2 所示。

图2 LSTM模型的结构图

其中的单元(Cell)状态为输入的数据提供了时间依赖性,赋予了数据时间特征,LSTM 通过单元状态实现长期控制,该功能主要通过输入门、遗忘门、输出门三个门实现的。状态单元的结构如图3 所示,这三个门结构在图3中的位置分别对应i、f和o,另外候选值g将信息添加到单元状态。

图3 LSTM内部单元结构图

1.2 CATM睡姿检测模型

本研究设计的融合时空特征和注意力机制的睡眠检测模型如图4 所示。CTAM 由输入层、预处理层、CNN 层、LSTM 层、注意力层、softmax 层和输出层组成。CTAM 进行分类的过程如下:输入预处理后的BCG 信号经过CNN层进行空域特征提取,同时经过LSTM 层进行时域特征提取,融合后的特征信息经过注意力层根据各属性特征的重要性进行加权计算,最后通过softmax 函数分类计算,输出分类识别结果,各层的具体定义如下。

图4 CTAM的结构图

1.2.1 预处理层

由于不同受试者的BCG 信号具有不同的分布,从提升模型的收敛速度、避免数值问题和消除量纲影响角度出发,将原始BCG 信号标准化为方差为1 和均值为0 的序列,具体变换函数如公式(2)所示。

式中,x为原始数据特征值,mean(x)为原始数据的平均值,std(x)为原始数据的标准差,x’为标准化后的值。

1.2.2 CNN层

完成数据预处理后,使用CNN 层提取BCG 信号的局部特征。CNN 层是由许多一维网络堆叠而成,其中包含卷积层、批归一化技术、激活函数,同时用池化层进行采样聚合,而卷积层是CNN 最为核心的部分,它将输入的特征图与多个卷积核卷积,生成不同的特征图,并通过卷积运算获得BCG 信号的高级特征。

本研究中CNN 层输入的大小可以表示为H×W×1,H和W分别代表归一化后得到的数据高度和宽度(本研究所有模型中的H和W值分别为1 和250),假设有N 个单位的层输入,使用M 宽度的滤波器W,卷积层输出为(N-m+1)个单位,卷积计算过程如公式(3)所示。

1.2.3 LSTM层

对于BCG 信号,LSTM 能够有效利用BCG 信号的前后信息进行特征学习。BCG 信号按顺序输入到LSTM 层中学习,最终获得BCG 信号的时序特征。LSTM 通过单元状态实现长期控制,长期控制功能主要通过遗忘门、输入门、输出门三个门实现。当新的信息进入LSTM 模型时,根据相关规则判断信息是否有用,只有满足算法认证要求的信息被保留,不一致的信息通过遗忘门被遗忘。

对于t时刻的LSTM 模型,生成的特征向量ht的隐藏状态如公式(4)所示。

式 中,xt为t 时 刻BCG 信 号 的 输 入,ht为t时 刻LSTM 层的隐藏状态,w为两个单元之间的连接权值,b为偏置向量。

1.2.4 注意力层

在基于BCG 信号的睡姿检测过程中,预处理后的BCG 信号经过CNN 层进行空域特征提取,同时经过LSTM 层进行时域特征提取,融合后的特征重要程度存在差异。其中的显著特征通常会蕴藏更多信息量,所以应对BCG 信号中与睡姿相关的显著特征给予更多关注,来提高睡姿检测的准确性。因此,引入注意力机制(Attention Mechanism)[24]。

首先,利用空域特征提取模块输出的特征向量yt和时域提取模块的特征向量ht融合成特征向量st通过非线性变换得到特征向量ut,可用公式(5)表示。

然后,用基于上下信息的特征向量uw的相似度表示特征向量ut的重要性,并获得归一化的重要性权重系数αt,uw是一个随机初始化矩阵,该矩阵可以聚焦于ut上的重要信息。上述的BCG 信号特征的权重系数可用公式(6)表示。

最后,用αt与ht的加权和计算出对不同睡姿影响更为显著BCG 信号的特征,用公式(7)表示。并由此利用注意力机制分析出数据特征的重要程度,得到对BCG 信号中与睡姿检测相关更为显著的特征。

1.2.5 输出层

在输出层,将注意力层生成的特征向量OUTAM输入到全连接到分类层进行特征压缩,然后使用softmax 函数进行睡姿识别,得到分类结果可用公式(8)表示。

式中,wh表示分类器的权值矩阵,其可以将outAM映射到一个新的长度为h的向量。h为睡姿的类别数。

具体基于空时特征融合和注意力机制的睡姿检测模型训练和工作流程框如图5 所示。

图5 深度学习的睡姿检测模型训练和工作流程框图

1.3 数据采集

截至目前,BCG 信号测量还未形成标准和公认的数据库,因此,本研究使用深圳市量子慧智科技有限公司开发的基于PVDF 传感器的睡眠带对受试者进行睡姿数据采集。其中数据场景包括睡姿(仰卧、俯卧、左侧卧和右侧卧)、离床和体动,离床和体动可以降低睡姿检测和其他体征检测算法的误判,数据采集步骤如下。

① 记录受测人员身份和体征信息,包括姓名、性别、年龄、身高和体重;② 放置睡眠带连接数据采集设备,持续10 min;③ 让受测人员躺在睡眠带上模拟体动10 min,包括翻身、转体和轻微体动动作;④ 在某一固定睡姿下睡眠持续120 min;⑤ 完成后,起身离床,继续采集10 min数据后停止,保存数据。其中采集BCG 信号具体睡姿、时长和受测人员数的信息如表1 所示。

表1 BCG信号采集信息记录表

采集的四种睡姿(仰卧、俯卧、左侧卧和右侧卧)、体动和离床对应的典型BCG 信号波形如图6 所示。从图6 中可以看出,体动和离床有较为明显的区分特征,仰卧、俯卧和侧卧三种睡姿也有较为明显的区分特征,而左侧卧和右侧卧睡姿下对应的BCG 信号波形相似度较高,提取特征进行分类需要一定的经验,表明需使用深度学习进行分类识别。

图6 四种睡姿、体动和离床对应的BCG信号波形图

本研究使用睡眠带采集的BCG 信号采样率为50 Hz。因此,在对检测睡姿的BCG 信号进行训练、验证提出的CTAM 模型之前首先从采集的数据集中选取5 s 的数据且用1 s 的时间窗进行截取,标注对应的标签,即对应四种睡姿(仰卧、俯卧、左侧卧和右侧卧)、体动和离床中一类,并且对两大类中间的BCG 信号做部分丢弃,消除边界效应。最后共计获得样本总数为48000 个,随机取其中的40000个样本作为训练集,余下的8000 个样本为测试集。

1.4 模型评价指标

为了对模型进行评价,本研究选取常用评价分类模型性能的3 种指标:准确率(Accuracy,Ac)、精确率(Precision,P)和召回率(Recall,R)。对应的表达式如公式(9)所示。

式中,TP(True Positive)是正类被归为正类的样本数,即正阳性;FP(False Positive)是正类被归为负类的样本数,即假阳性;FN(False Negative)是负类被归为正类的样本数,即假阴性;TN(True Negative)是负类被归为负类的样本数,即真阴性。

1.5 实验运行环境和参数配置

本研究中所有模型均在配置为Core i9-10900K CPU,32 GB 内存和GeForce RTX3090 显卡的计算机上进行训练和测试。计算机操作系统为ubuntu 18.04 LTS 版,所有模型使用Tensorflow 2.3.1 框架实现。仿真实验中所有模型的初始化参数都采用相同的配置,这样使得所有模型都在相对公平的条件进行对比,更有利于反映出CNN 模型、CNN-LSTM 模型和CTAM 模型的真实性能。其中,CNN层和全连接层的权系数初始化方法都使用He 等[25]提出的Kaiming 法,该方法有利于加速模型的收敛速度,LSTM层的权系数初始化方法使用正交方法[26]。所有模型的优化器都使用Adam 方法,该方法具有更快的收敛速度和稳定性[27],并且在模型训练过程中可以不使用验证集。具体参数配置如表2 所示。

表2 CNN、CNN-LSTM和CTAM的参数配置

2 结果

CNN 模型、CNN-LSTM 模型 和CTAM 模型 训 练 过程的准确率曲线和损失函数曲线如图7 所示,可以看出,CTAM 模型具有最快的速度使得训练过程分类准确率达到稳定状态,同时具有最快的速度使得损失函数值达到接近0 的稳定状态,而CNN-LSTM 模型次之。综合训练过程分类准确率和损失函数收敛曲线可以看出,在模型的收敛速度上性能依次降低的顺序为CTAM 模型、CNN-LSTM 模型和CNN 模型,这也体现出了CTAM 模型相对其他两种模型具有更快的收敛速度。

图7 CNN、CNN-LSTM和CTAM准确率和损失函数对比曲线图

CNN、CNN-LSTM 和CTAM 模型训练后测试集上得到性能指标,如表3 所示,CTAM 模型的准确率最高,为99.49%,分别较CNN 模型和CNN-LSTM 模型的98.03%和94.88%有1.46%和4.61%的提升。

表3 各模型性能指标对比

综合实验结果中的训练过程准确率曲线、训练过程损失函数值曲线和各模型预测分类的准确率,可以看出CTAM 模型相比CNN 模型、CNN-LSTM 模型在入侵检测中具有更好的性能。其中CTAM 模型在对随机分割得到的8000 个测试样本的预测分类混淆矩阵如图8 所示,可以看出,容易出现混淆的是右侧卧和左侧卧,其他状态的分类准确率达到了100%,这也印证图6 所示的各状态波形图直观印象。综合上述实验结果,说明空时融合技术和注意力机制模型在基于BCG 信号的睡姿检测中的有效性较高。

图8 CTAM模型对测试集分类的混淆矩阵

3 讨论

目前,在基于BCG 信号睡姿检测方面的深度学习模型较少,相关研究人员对非接触式睡姿监测技术,如基于红外图像识别[6]、基于压力的阵列传感等技术的睡姿识别模型[7]等进行了广泛的研究,并获得了较好的效果。针对BCG 信号用于睡姿检测的特点及当前常用模型特征提取不充分的问题,本研究创新性地利用BCG 信号空时域信息,将CNN 和LSTM 提取的特征进行融合,提出了注意力机制下的空时特征融合深度学习模型CTAM,充分利用了各网络的优势,并引入注意力机制完成空时融合后的关键特征提取,获得了BCG 信号用以睡姿监测的最优特征表示。该模型避免了人工特征存在的有区分度特征表达不充分的问题,同时提升了模型的收敛速度和泛化性能,使得本研究提出的模型更适合基于BCG 信号的睡姿监测。今后将进一步增加验证样本量,深化该算法模型在健康领域的应用研究。

4 结论

CTAM 模型实现了端到端的实时睡姿检测方案,通过睡眠带测试真实睡眠下状态下睡姿的BCG 信号,构建数据集进行仿真对比实验。结果表明,相比具有类似结构的传统CNN 模型和空时融合的CNN-LSTM 模型,CTAM 在训练集的收敛性和测试集的准确率上都有显著的提升,其中,在测试集上的准确率分别较CNN 模型和CNN-LSTM 模型提升了1.46%和4.61%。该算法模型在基于BCG 信号实现睡姿的实时、有效、无扰监测和睡眠质量监测领域具有较好的应用前景。

猜你喜欢

睡姿特征提取准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取
糊涂觉和奇怪的睡姿