CN118078255A - 一种基于注意力机制和领域泛化的呼吸事件识别方法 - Google Patents

一种基于注意力机制和领域泛化的呼吸事件识别方法 Download PDF

Info

Publication number
CN118078255A
CN118078255A CN202410398668.XA CN202410398668A CN118078255A CN 118078255 A CN118078255 A CN 118078255A CN 202410398668 A CN202410398668 A CN 202410398668A CN 118078255 A CN118078255 A CN 118078255A
Authority
CN
China
Prior art keywords
respiratory event
domain
data
module
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410398668.XA
Other languages
English (en)
Inventor
辛毅
宋雪丰
刘宏岩
侯天远
王宇航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jilin University
Original Assignee
Jilin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jilin University filed Critical Jilin University
Priority to CN202410398668.XA priority Critical patent/CN118078255A/zh
Publication of CN118078255A publication Critical patent/CN118078255A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本发明公开了一种基于注意力机制和领域泛化的呼吸事件识别方法,包括以下步骤:使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集;对采集信号数据进行分割,构建数据集;搭建呼吸事件识别模型,模型包括特征提取模块、注意力模块和领域泛化模块;对模型进行训练并保存和将测试数据输入训练好的模型,得到呼吸事件识别结果;本发明利用注意力机制对特征中的时序关系进行处理,并基于领域泛化的思想,通过呼吸事件识别器和领域鉴别器对抗的方式得到呼吸事件的域不变特征,在呼吸事件识别任务上达到了较高的精度并提高了模型在不同来源数据集上识别效果。

Description

一种基于注意力机制和领域泛化的呼吸事件识别方法
技术领域
本发明涉及生物医学信号处理领域,尤其涉及一种基于注意力机制和领域泛化的呼吸事件识别方法。
背景技术
阻塞性睡眠呼吸暂停(OSA)是一种较为常见的疾病,主要表现为睡眠期间呼吸气流减小或呼吸停止。严重的睡眠呼吸暂停会使病人处于缺氧状态,从而导致许多心脑血管疾病的产生。对于阻塞性睡眠呼吸暂停综合征的监测,多导睡眠图仍是目前广受认可的“金标准”。但由于需要在专门的医院或诊所进行测试,且费用高昂,多导睡眠图并没有在人群中普及,且其导联较多,对睡眠环境要求较高的患者受其影响较大,不易进入深度睡眠。
近年来,以灵活、舒适和低成本为特点的便携式睡眠监测设备及相应的自动诊断算法己成为家用监护和临床睡眠研究的热点。
便携式睡眠监测设备只有一或两个通道,测量睡眠过程中的血氧饱和度、心电图、脑电、呼吸和鼾声等信号。这些便携式的睡眠监测***采用新的功能材料和新的传感器结构,使测量***尺寸小型化,并具有较小的侵入性。使用这些可穿戴设备可以克服多导睡眠图的限制并在家庭环境下进行睡眠监测。
基于这些便携式睡眠监测设备采集的信号,已经有许多基于机器学习的方法被提出对OSA进行预测。对OSA的预测首先要识别睡眠过程中的睡眠事件,即两次呼吸事件间隔超过10秒。目前,对呼吸事件进行识别的方法主要是使用卷积神经网络和注意力模型。但是,这些模型训练时通常假设给定的数据服从一个静态分布。在真实世界中,我们通常面对的是未知的、不同的数据分布。在睡眠监测中,不同的数据分布可能是由于不同的测试设备,不同的测试环境或是患者个体自身的差异性导致的。把在特定训练集上训练的模型直接用于真实世界的数据可能会导致较大的误差。
发明内容
本发明的目的在于解决现有采用深度学习方法识别睡眠中呼吸事件由于数据分布差异导致模型在新的受试对象数据上表现不佳的问题,提出了一种基于注意力机制和领域泛化的呼吸事件识别方法。
为实现上述目的,本发明采用的技术方案为:
一种基于注意力机制和领域泛化的呼吸事件识别方法,使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,喉部振动信号中包含打鼾产生的振动信号和呼吸时气流通过气管产生的振动信号,打鼾产生的振动信号和呼吸时气流通过气管产生的振动均被视为呼吸事件,为反映睡眠状况对喉部振动信号中包含的呼吸事件进行识别,包括以下步骤:
步骤一:使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,包括采用接触式麦克风作为传感器,将其固定于受试对象的喉部侧方,对整晚睡眠过程种的喉部振动信号进行采集,传感器通过音频线与音频编码模块VS1053B连接,采集的喉部振动信号经VS1053B编码成音频文件,一次睡眠过程的信号采集结束后,将VS1053B编码的音频文件存储到SD卡中;
步骤二:对存储的喉部振动信号数据进行分割,记整晚睡眠过程中的喉部振动信号数据为x(nt),其中nt表示第nt个离散时间点,且nt=1,2,...,Nt,Nt代表采样点总数,将x(nt)截取为长度为M个采样点的Nm段,其中M取值80000,Nm为x(nt)的长度L除以M的值向下取整,表示为:
其中为向下取整运算符;
通过人工对每段数据中是否存在呼吸事件及呼吸事件的起始和结束位置进行判断,从而生成呼吸事件标签序列,其中每80个采样点的数据对应一个呼吸事件标签,每段数据对应的呼吸事件标签序列长度为1000,若标签对应的数据中包含呼吸事件则呼吸事件标签的值为1,若标签对应的数据中不包含呼吸事件则呼吸事件标签的值为0;同时生成领域标签,从不同受试者处采集的数据视为不同的领域,其中每80个采样点的数据对应一个领域标签,每段数据对应的领域标签序列长度为1000,从4名不同受试者处采集的数据视为4个不同的领域,从第一名受试者处采集的数据的领域标签的值为0,从第二名受试者处采集的数据的领域标签的值为1,从第三名受试者处采集的数据的领域标签的值为2,从第三名受试者处采集的数据的领域标签的值为3;将每段数据和与其对应的声音事件标签及领域标签组合,形成数据集;
步骤三:搭建呼吸事件识别模型,并采用步骤二中数据集进行训练;呼吸事件识别模型包括特征提取模块、注意力模块和领域泛化模块,具体为:
将数据集输入特征提取模块中,特征提取模块记为F,特征提取模块F包含对信号计算梅尔对数频谱及通过卷积神经网络提取特征;首先对分割后的每段长度为M个采样点的喉部振动信号数据进行预处理,记一段分割后需要预处理的信号为x0(ns),其中ns表示第ns个采样点,且ns=1,2,...,M;对信号x0(ns)进行分帧,将1024个采样点分为一帧,每两帧之间的帧移为80个采样点;然后使用汉宁窗对信号进行加窗,汉宁窗w(n)的表达式为:
w(n)=0.54-0.46cos(2πn/(Nw-1)) (2)
其中,Nw为汉宁窗的长度,取值为1024;
n表示窗函数中的第个n点,且n=1,2,...,Nw;将窗函数与分帧后的信号相乘得到加窗后的信号记为xi(n),表示为:
xi(n)=x0(n)w(n) (3)
其中,i表示分帧后的第i帧,且i=1,2,...,Ni,Ni代表一段分割后信号包含帧的总数;
然后对加窗后的每帧信号进行傅里叶变换得到频谱Xi(k),傅里叶变换的计算过程表示为:
其中,nk表示加窗后信号xi中的第个nk点且nk=1,2,...,1024,e为自然常数,j为虚数单位,k=0,1,2…,nk-1,表示频谱中频率的序号,Nf表示进行傅里叶变换的采样点数,取值为1024;
使用梅尔滤波器组对信号xi(n)的能量谱进行滤波,滤波时设置滤波器的上限截止频率为4000Hz,下限截止频率为50Hz,通过式(5)将上限截止频率和下限截止频率转换成梅尔频率:
其中,f’为待转换的频率,m'f为转换后的梅尔频率;
在转换后的上限截止频率和下限截止频率范围内均等的取nmels个梅尔频率值,记为mf,其中nmels取值为64,并通过式(6)将其转换回频率f:
通过将nmels个梅尔频率转换为频率得到中心频率序列{f1,f2,...,fmels};
梅尔滤波器组由一系列三角滤波器组成,其中心频率记为f(m),其中m代表三角滤波器的序号,取值为1≤m≤nmels,f(m)对应中心频率序列中的频率值,梅尔滤波器组Hm(k)的表达式为:
使用梅尔滤波器组Hm(k)对信号xi(n)的能量谱进行滤波,信号xi(n)的能量谱是通过对经过傅里叶变换得到频谱Xi(k)取模再计算平方得到的,再与梅尔滤波器组的表达式相乘并进行对数运算得到对数梅尔频谱Si(m):
对计算得到的对数梅尔频谱使用卷积神经网络提取特征;卷积神经网络包含4个卷积模块,每个卷积模块依次包含卷积核大小为3*3的第一卷积层、第一归一化层、第一激活函数层、卷积核大小为3*3的第二卷积层、第二归一化层、第二激活函数层和平均池化层;其中前三个卷积模块池化大小为2*2,第四卷积模块池化大小为1*1;激活函数层采用ReLU函数作为激活函数,ReLU函数的表达式为:
f(xb)=max(0,xb) (9)
其中xb为归一化层的输出;
第一至第四卷积模块的输入通道数分别为1、64、128和256,第一至第四卷积模块的输出通道数分别为64、128、256和512;
经过特征提取模块提取的特征进入注意力模块,注意力模块记为A,注意力模块A包含自注意力机制层,其中自注意力机制层嵌入尺寸为512,注意力头个数为8,查询大小为64,随机隐藏神经元概率为0.2;
经过注意力模块处理后的特征进入领域泛化模块,领域泛化模块包含呼吸事件识别器和领域鉴别器;
呼吸事件识别器记为G,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为2,激活函数层采用Sigmiod函数作为激活函数,Sigmoid函数的表达式为:
其中,xf为呼吸事件识别器的输出;
领域鉴别器记为D,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为领域的数量,从4名不同受试者处采集的数据视为4个不同的领域,领域的数量为4,对应的领域标签分别为0,1,2,3,激活函数层采用Softmax函数作为激活函数;领域鉴别器和注意力模块之间由一个梯度反转层连接;Softmax函数的表达式为:
其中,zd为领域鉴别器输出中第d领域对应的结果值,其中d=1,2,3,4,zc为领域鉴别器输出中第c领域对应的结果值,其中c=1,2,3,4,ND为领域的数量,ND取值为4;
呼吸事件识别模型的损失函数由呼吸事件识别器的损失函数和领域鉴别器的损失函数共同构成;其中,呼吸事件识别器的损失函数LC记为:
其中,Si为通过式(5)计算得到的对数梅尔频谱,y为对于呼吸事件的人工标注生成的呼吸事件标签,F为特征提取模块,A为注意力模块,G为领域泛化模块中的呼吸事件识别器,NC为分类的个数,此处分类为呼吸事件和非呼吸事件,NC取值为2;
领域鉴别器的损失函数LD记为:
其中,yD为对于领域进行人工标注得到的领域标签,D为领域泛化模块中的领域鉴别器,ND为领域的数量,ND取值为4;领域鉴别器的损失LD在反向传播的过程中经过梯度反转层,使得领域鉴别器的损失的梯度反向传播到注意力模块之前会自动取反:
其中,Rλ为梯度反转层,xl为梯度反转层的输入,模型训练时为反向传播过程中梯度反转层从后续领域鉴别器获取的梯度,I为单位矩阵;
λp是一个动态参数,其表达式为:
其中,p为训练的进程,即当前迭代次数与总迭代次数的比,γ为常数,取值为10;
呼吸事件识别模型的损失函数写作:
通过Adam优化器对呼吸事件识别模型的损失函数L进行优化,设置学习率为0.001,训练300轮后停止,从而得到呼吸事件识别模型;
步骤四:训练完成后,将训练好的呼吸事件识别模型进行保存;将需要处理的喉部振动信号输入到训练好的神经网络模型中,输出呼吸事件的识别结果。
本发明与现有技术相比,有益效果在于:
(1)本方法采用自注意力机制对卷积神经网络提取的特征进行处理。卷积神经网络的感受野决定了它只能提取局部特征,而无法对长时间的关联进行描述。而在喉部振动信号的处理中,一些呼吸事件的持续时间会超过卷积神经网络的感受野长度。采用自注意力机制对卷积神经网络提取的特征进行处理有利于对特征中的时序关系进行处理。
(2)本方法利用领域泛化的思想,通过呼吸事件识别器和领域鉴别器对抗的方式去除特征中与领域相关的信息,使得训练的模型能够从不同来源的呼吸事件中提取到相似的特征,有利于模型在未知数据集上取得较好的表现。
附图说明
图1为本发明提供的一种基于注意力机制和领域泛化的呼吸事件识别方法流程图;
图2为本方法步骤二中制作数据集分割数据的示意图;
图3为本方法步骤三中的呼吸事件识别模型的结构示意图;
图4为本方法步骤三中的数据预处理中对数梅尔频谱计算的流程图;
图5为本方法步骤三中的梅尔滤波器组的频率响应示意图;
图6为本方法的呼吸事件识别结果的示例图;
具体实施方式
下面结合附图对本发明进行详细说明。
如图1所示,本发明的方法流程包括四部分,分别为采集喉部振动信号,构建数据集,搭建呼吸事件识别模型,对模型进行训练并保存和将测试数据输入训练好的模型,得到呼吸事件识别结果。
本发明提供了一种基于注意力机制和领域泛化的呼吸事件识别方法,使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,喉部振动信号中包含打鼾产生的振动信号和呼吸时气流通过气管产生的振动信号,打鼾产生的振动信号和呼吸时气流通过气管产生的振动均被视为呼吸事件,为反映睡眠状况对喉部振动信号中包含的呼吸事件进行识别,包括以下步骤:
步骤一:使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,包括采用接触式麦克风作为传感器,将其固定于受试对象的喉部侧方,对整晚睡眠过程种的喉部振动信号进行采集,传感器通过音频线与音频编码模块VS1053B连接,采集的喉部振动信号经VS1053B编码成音频文件,一次睡眠过程的信号采集结束后,将VS1053B编码的音频文件存储到SD卡中;
步骤二:对存储的喉部振动信号数据进行分割,记整晚睡眠过程中的喉部振动信号数据为x(nt),其中nt表示第nt个离散时间点,且nt=1,2,...,Nt,Nt代表采样点总数,将x(nt)截取为长度为M个采样点的Nm段,其中M取值80000,Nm为x(nt)的长度L除以M的值向下取整,表示为:
其中为向下取整运算符;
通过人工对每段数据中是否存在呼吸事件及呼吸事件的起始和结束位置进行判断,从而生成呼吸事件标签序列,其中每80个采样点的数据对应一个呼吸事件标签,每段数据对应的呼吸事件标签序列长度为1000,若标签对应的数据中包含呼吸事件则呼吸事件标签的值为1,若标签对应的数据中不包含呼吸事件则呼吸事件标签的值为0;同时生成领域标签,从不同受试者处采集的数据视为不同的领域,其中每80个采样点的数据对应一个领域标签,每段数据对应的领域标签序列长度为1000,从第一名受试者处采集的数据的领域标签的值为0,从第二名受试者处采集的数据的领域标签的值为1,从第三名受试者处采集的数据的领域标签的值为2,从第三名受试者处采集的数据的领域标签的值为3;将每段数据和与其对应的声音事件标签及领域标签组合,形成数据集;
如图2所示,每80000个采样点的数据被截为一段,信号的采样率为8000Hz,一段数据的长度为10秒。在人工标注的过程中,信号中存在呼吸事件的位置被标记为1,不存在呼吸信号的位置被标记为0,从而得到呼吸事件的人工标注结果。同时,根据不同的数据来源生成领域标签,每个数据来源对应一个标签,在本实施例中,从4名不同受试者处采集的数据视为4个不同的领域,对应的领域标签分别为0,1,2,3,为方便训练,领域标签被转换为one-hot形式,即标签0写作[1,0,0,0],标签1写作[0,1,0,0],标签2写作[0,0,1,0],标签3写作[0,0,0,1]。
步骤三:搭建呼吸事件识别模型,并采用步骤二中所述的数据集进行训练;所述的呼吸事件识别模型包括特征提取模块、注意力模块和领域泛化模块;
如图3所示,呼吸事件识别模型包括特征提取模块、注意力模块和领域泛化模块,具体为:
首先对分割后的喉部振动信号数据进行预处理,计算其梅尔对数频谱;
如图4所示,本发明数据预处理中对数梅尔频谱计算流程包括四部分,分别为对喉部振动信号进行分帧、加窗,对分帧、加窗后的各帧信号进行傅里叶变换,得到各帧的频谱,对得到的频谱取模平方得到信号的能量并计算通过梅尔滤波器组的能量,最后对每个滤波器的输出取对数。
将数据集输入特征提取模块中,特征提取模块记为F,特征提取模块F包含对信号计算梅尔对数频谱及通过卷积神经网络提取特征;
首先对分割后的每段长度为M个采样点的喉部振动信号数据进行预处理,记一段分割后需要预处理的信号为x0(ns),其中ns表示第ns个采样点,且ns=1,2,...,M;对信号x0(ns)进行分帧,将1024个采样点分为一帧,每两帧之间的帧移为80个采样点;然后使用汉宁窗对信号进行加窗,汉宁窗w(n)的表达式为:
w(n)=0.54-0.46cos(2πn/(Nw-1)) (2)
其中,Nw为汉宁窗的长度,取值为1024,n表示窗函数中的第个n点,且n=1,2,...,Nw;将窗函数与分帧后的信号相乘得到加窗后的信号记为xi(n),表示为:
xi(n)=x0(n)w(n) (3)
其中,i表示分帧后的第i帧,且i=1,2,...,Ni,Ni代表一段分割后信号包含帧的总数;
然后对加窗后的每帧信号进行傅里叶变换得到频谱Xi(k),傅里叶变换的计算过程表示为:
其中,nk表示加窗后信号xi中的第个nk点且nk=1,2,...,1024,e为自然常数,j为虚数单位,k=0,1,2…,nk-1,表示频谱中频率的序号,Nf表示进行傅里叶变换的采样点数,取值为1024;
使用梅尔滤波器组对信号xi(n)的能量谱进行滤波,滤波时设置滤波器的上限截止频率为4000Hz,下限截止频率为50Hz,通过式(5)将上限截止频率和下限截止频率转换成梅尔频率:
其中,f’为待转换的频率,m'f为转换后的梅尔频率;
在转换后的上限截止频率和下限截止频率范围内均等的取nmels个梅尔频率值,记为mf,其中nmels取值为64,并通过式(6)将其转换回频率f:
通过将nmels个梅尔频率转换为频率得到中心频率序列{f1,f2,...,fmels};
如图5所示,梅尔滤波器组由一系列三角滤波器组成。每个三角滤波器的中心频率记为f(m),其中m代表三角滤波器的序号,取值为1≤m≤nmels,即本实施例中的梅尔滤波器组由64个三角滤波器组成。每个滤波器的中心频率对应中心频率序列中的频率值,即f(1)=f1,以此类推。这里,梅尔滤波器组Hm(k)的表达式为:
使用梅尔滤波器组Hm(k)对信号xi(n)的能量谱进行滤波,信号xi(n)的能量谱是通过对经过傅里叶变换得到频谱Xi(k)取模再计算平方得到的,再与梅尔滤波器组的表达式相乘并进行对数运算得到对数梅尔频谱Si(m):
对计算得到的对数梅尔频谱使用卷积神经网络提取特征;卷积神经网络包含4个卷积模块,每个卷积模块依次包含卷积核大小为3*3的第一卷积层、第一归一化层、第一激活函数层、卷积核大小为3*3第二卷积层、第二归一化层、第二激活函数层和平均池化层;其中前三卷积模块平均池化层的池化大小为2*2,第四卷积模块平均池化层的池化大小为1*1;激活函数层采用ReLU函数作为激活函数,ReLU函数的表达式为:
f(xb)=max(0,xb) (9)
其中xb为归一化层的输出;
第一至第四卷积模块的输入通道数分别为1,64,128和256,第一至第四卷积模块的输出通道数分别为64,128,256和512;
经过卷积神经网络提取的特征进入注意力模块,注意力模块记为A,注意力模块A包含自注意力机制层,其中自注意力机制层嵌入尺寸为512,注意力头个数为8,查询大小为64,随机隐藏神经元概率为0.2;
经过注意力模块处理后的特征进入领域泛化模块,领域泛化模块包含呼吸事件识别器和领域鉴别器;
呼吸事件识别器记为G,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为2,激活函数层采用Sigmiod函数作为激活函数,Sigmoid函数的表达式为:
其中,xf为呼吸事件识别器的输出;
领域鉴别器记为D,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为领域的数量,从4名不同受试者处采集的数据视为4个不同的领域,领域的数量为4,对应的领域标签分别为0,1,2,3,激活函数层采用Softmax函数作为激活函数;领域鉴别器和注意力模块之间由一个梯度反转层连接;所述的Softmax函数的表达式为:
其中,zd为领域鉴别器输出中第d领域对应的结果值,其中d=1,2,3,4,zc为领域鉴别器输出中第c领域对应的结果值,其中c=1,2,3,4,ND为领域的数量,ND取值为4;通过Softmax函数将多分类的输出值转换为范围在[0,1]且和为1的概率分布。
呼吸事件识别模型的损失函数由呼吸事件识别器的损失函数和领域鉴别器的损失函数共同构成;其中,呼吸事件识别器的损失函数LC记为:
其中,Si为通过式(5)计算得到的对数梅尔频谱,y为对于呼吸事件的人工标注生成的呼吸事件标签,F为特征提取模块,A为注意力模块,G为领域泛化模块中的呼吸事件识别器,NC为分类的个数,此处分类为呼吸事件和非呼吸事件,NC取值为2;
领域鉴别器的损失函数LD记为:
其中,yD为对于领域进行人工标注得到的领域标签,D为领域泛化模块中的领域鉴别器,ND为领域的数量,ND取值为4;领域鉴别器的损失LD在反向传播的过程中经过梯度反转层,使得领域鉴别器的损失的梯度反向传播到注意力模块之前会自动取反:
其中,Rλ为梯度反转层,xl为梯度反转层的输入,模型训练时为反向传播过程中梯度反转层从后续领域鉴别器获取的梯度,I为单位矩阵;
λp是一个动态参数,其表达式为:
其中p为训练的进程,即当前迭代次数与总迭代次数的比,γ为常数,取值为10;
呼吸事件识别模型的损失函数写作:
通过Adam优化器对呼吸事件识别模型的损失函数L进行优化,设置学习率为0.001,训练300轮后停止,从而得到呼吸事件识别模型。
步骤四:训练完成后,将训练好的呼吸事件识别模型进行保存;将需要处理的喉部振动信号输入到训练好的神经网络模型中,输出呼吸事件的识别结果。
如图6所示,本发明所述的呼吸事件识别模型在喉部振动信号中的实际识别结果。其中,矩形的虚线框内是识别到的呼吸事件。以一段与训练数据不同来源的喉部振动信号数据进行论证,模型能够将呼吸事件的位置标注为1,其他部分标注为0。由实验结果可以看出模型对于不同来源呼吸事件识别效果良好。

Claims (1)

1.一种基于注意力机制和领域泛化的呼吸事件识别方法,使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,喉部振动信号中包含打鼾产生的振动信号和呼吸时气流通过气管产生的振动信号,打鼾产生的振动信号和呼吸时气流通过气管产生的振动均被视为呼吸事件,为反映睡眠状况对喉部振动信号中包含的呼吸事件进行识别,其特征在于,包括以下步骤:
步骤一:使用一种便携的信号采集设备对睡眠过程中的喉部振动信号进行采集,包括采用接触式麦克风作为传感器,将其固定于受试对象的喉部侧方,对整晚睡眠过程种的喉部振动信号进行采集,传感器通过音频线与音频编码模块VS1053B连接,采集的喉部振动信号经VS1053B编码成音频文件,一次睡眠过程的信号采集结束后,将VS1053B编码的音频文件存储到SD卡中;
步骤二:对存储的喉部振动信号数据进行分割,记整晚睡眠过程中的喉部振动信号数据为x(nt),其中nt表示第nt个离散时间点,且nt=1,2,...,Nt,Nt代表采样点总数,将x(nt)截取为长度为M个采样点的Nm段,其中M取值80000,Nm为x(nt)的长度L除以M的值向下取整,表示为:
其中为向下取整运算符;
通过人工对每段数据中是否存在呼吸事件及呼吸事件的起始和结束位置进行判断,从而生成呼吸事件标签序列,其中每80个采样点的数据对应一个呼吸事件标签,每段数据对应的呼吸事件标签序列长度为1000,若标签对应的数据中包含呼吸事件则呼吸事件标签的值为1,若标签对应的数据中不包含呼吸事件则呼吸事件标签的值为0;同时生成领域标签,从不同受试者处采集的数据视为不同的领域,其中每80个采样点的数据对应一个领域标签,每段数据对应的领域标签序列长度为1000,从4名不同受试者处采集的数据视为4个不同的领域,从第一名受试者处采集的数据的领域标签的值为0,从第二名受试者处采集的数据的领域标签的值为1,从第三名受试者处采集的数据的领域标签的值为2,从第三名受试者处采集的数据的领域标签的值为3;将每段数据和与其对应的声音事件标签及领域标签组合,形成数据集;
步骤三:搭建呼吸事件识别模型,并采用步骤二中数据集进行训练;呼吸事件识别模型包括特征提取模块、注意力模块和领域泛化模块,具体为:
将数据集输入特征提取模块中,特征提取模块记为F,特征提取模块F包含对信号计算梅尔对数频谱及通过卷积神经网络提取特征;首先对分割后的每段长度为M个采样点的喉部振动信号数据进行预处理,记一段分割后需要预处理的信号为x0(ns),其中ns表示第ns个采样点,且ns=1,2,...,M;对信号x0(ns)进行分帧,将1024个采样点分为一帧,每两帧之间的帧移为80个采样点;然后使用汉宁窗对信号进行加窗,汉宁窗w(n)的表达式为:
w(n)=0.54-0.46cos(2πn/(Nw-1)) (2)
其中,Nw为汉宁窗的长度,取值为1024;
n表示窗函数中的第个n点,且n=1,2,...,Nw;将窗函数与分帧后的信号相乘得到加窗后的信号记为xi(n),表示为:
xi(n)=x0(n)w(n) (3)
其中,i表示分帧后的第i帧,且i=1,2,...,Ni,Ni代表一段分割后信号包含帧的总数;
然后对加窗后的每帧信号进行傅里叶变换得到频谱Xi(k),傅里叶变换的计算过程表示为:
其中,nk表示加窗后信号xi中的第个nk点且nk=1,2,...,1024,e为自然常数,j为虚数单位,k=0,1,2…,nk-1,表示频谱中频率的序号,Nf表示进行傅里叶变换的采样点数,取值为1024;
使用梅尔滤波器组对信号xi(n)的能量谱进行滤波,滤波时设置滤波器的上限截止频率为4000Hz,下限截止频率为50Hz,通过式(5)将上限截止频率和下限截止频率转换成梅尔频率:
其中,f’为待转换的频率,m'f为转换后的梅尔频率;
在转换后的上限截止频率和下限截止频率范围内均等的取nmels个梅尔频率值,记为mf,其中nmels取值为64,并通过式(6)将其转换回频率f:
通过将nmels个梅尔频率转换为频率得到中心频率序列{f1,f2,...,fmels};
梅尔滤波器组由一系列三角滤波器组成,其中心频率记为f(m),其中m代表三角滤波器的序号,取值为1≤m≤nmels,f(m)对应中心频率序列中的频率值,梅尔滤波器组Hm(k)的表达式为:
使用梅尔滤波器组Hm(k)对信号xi(n)的能量谱进行滤波,信号xi(n)的能量谱是通过对经过傅里叶变换得到频谱Xi(k)取模再计算平方得到的,再与梅尔滤波器组的表达式相乘并进行对数运算得到对数梅尔频谱Si(m):
对计算得到的对数梅尔频谱使用卷积神经网络提取特征;卷积神经网络包含4个卷积模块,每个卷积模块依次包含卷积核大小为3*3的第一卷积层、第一归一化层、第一激活函数层、卷积核大小为3*3的第二卷积层、第二归一化层、第二激活函数层和平均池化层;其中前三个卷积模块池化大小为2*2,第四卷积模块池化大小为1*1;激活函数层采用ReLU函数作为激活函数,ReLU函数的表达式为:
f(xb)=max(0,xb) (9)
其中xb为归一化层的输出;
第一至第四卷积模块的输入通道数分别为1、64、128和256,第一至第四卷积模块的输出通道数分别为64、128、256和512;
经过特征提取模块提取的特征进入注意力模块,注意力模块记为A,注意力模块A包含自注意力机制层,其中自注意力机制层嵌入尺寸为512,注意力头个数为8,查询大小为64,随机隐藏神经元概率为0.2;
经过注意力模块处理后的特征进入领域泛化模块,领域泛化模块包含呼吸事件识别器和领域鉴别器;
呼吸事件识别器记为G,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为2,激活函数层采用Sigmiod函数作为激活函数,Sigmoid函数的表达式为:
其中,xf为呼吸事件识别器的输出;
领域鉴别器记为D,由一个全连接层和一个激活函数层组成,其中全连接层的输入尺寸为512,输出尺寸为领域的数量,从4名不同受试者处采集的数据视为4个不同的领域,领域的数量为4,对应的领域标签分别为0,1,2,3,激活函数层采用Softmax函数作为激活函数;领域鉴别器和注意力模块之间由一个梯度反转层连接;Softmax函数的表达式为:
其中,zd为领域鉴别器输出中第d领域对应的结果值,其中d=1,2,3,4,zc为领域鉴别器输出中第c领域对应的结果值,其中c=1,2,3,4,ND为领域的数量,ND取值为4;
呼吸事件识别模型的损失函数由呼吸事件识别器的损失函数和领域鉴别器的损失函数共同构成;其中,呼吸事件识别器的损失函数LC记为:
其中,Si为通过式(5)计算得到的对数梅尔频谱,y为对于呼吸事件的人工标注生成的呼吸事件标签,F为特征提取模块,A为注意力模块,G为领域泛化模块中的呼吸事件识别器,NC为分类的个数,此处分类为呼吸事件和非呼吸事件,NC取值为2;
领域鉴别器的损失函数LD记为:
其中,yD为对于领域进行人工标注得到的领域标签,D为领域泛化模块中的领域鉴别器,ND为领域的数量,ND取值为4;领域鉴别器的损失LD在反向传播的过程中经过梯度反转层,使得领域鉴别器的损失的梯度反向传播到注意力模块之前会自动取反:
其中,Rλ为梯度反转层,xl为梯度反转层的输入,模型训练时为反向传播过程中梯度反转层从后续领域鉴别器获取的梯度,I为单位矩阵;
λp是一个动态参数,其表达式为:
其中,p为训练的进程,即当前迭代次数与总迭代次数的比,γ为常数,取值为10;
呼吸事件识别模型的损失函数写作:
通过Adam优化器对呼吸事件识别模型的损失函数L进行优化,设置学习率为0.001,训练300轮后停止,从而得到呼吸事件识别模型;
步骤四:训练完成后,将训练好的呼吸事件识别模型进行保存;将需要处理的喉部振动信号输入到训练好的神经网络模型中,输出呼吸事件的识别结果。
CN202410398668.XA 2024-04-03 2024-04-03 一种基于注意力机制和领域泛化的呼吸事件识别方法 Pending CN118078255A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410398668.XA CN118078255A (zh) 2024-04-03 2024-04-03 一种基于注意力机制和领域泛化的呼吸事件识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410398668.XA CN118078255A (zh) 2024-04-03 2024-04-03 一种基于注意力机制和领域泛化的呼吸事件识别方法

Publications (1)

Publication Number Publication Date
CN118078255A true CN118078255A (zh) 2024-05-28

Family

ID=91165081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410398668.XA Pending CN118078255A (zh) 2024-04-03 2024-04-03 一种基于注意力机制和领域泛化的呼吸事件识别方法

Country Status (1)

Country Link
CN (1) CN118078255A (zh)

Similar Documents

Publication Publication Date Title
CN108670200B (zh) 一种基于深度学习的睡眠鼾声分类检测方法及***
CN108416367B (zh) 基于多传感器数据决策级融合的睡眠分期方法
CN112166475A (zh) 基于呼吸***的声音管理呼吸状况
WO2021114761A1 (zh) 一种电子听诊器的肺部啰音人工智能实时分类方法、***、装置及可读存储介质
CN106821376A (zh) 一种基于深度学习算法的癫痫发作预警***及方法
WO2014036263A1 (en) An accurate analysis tool and method for the quantitative acoustic assessment of infant cry
US20170360362A1 (en) Sleep profiling system with feature generation and auto-mapping
CN111248859A (zh) 基于卷积神经网络的睡眠呼吸暂停自动检测方法
US20200365271A1 (en) Method for predicting sleep apnea from neural networks
CN111685774B (zh) 基于概率集成回归模型的osahs诊断方法
CN112587153A (zh) 一种基于vPPG信号的端到端的非接触房颤自动检测***和方法
Reggiannini et al. A flexible analysis tool for the quantitative acoustic assessment of infant cry
CN111202517A (zh) 一种睡眠自动分期方法、***、介质及电子设备
CN113576401A (zh) 基于卷积神经网络的睡眠呼吸暂停综合征快速诊断装置
Wu et al. A novel approach to diagnose sleep apnea using enhanced frequency extraction network
CN111613210A (zh) 一种各类呼吸暂停综合征的分类检测***
Zhang et al. An effective deep learning approach for unobtrusive sleep stage detection using microphone sensor
CN111312293A (zh) 一种基于深度学习对呼吸暂停症患者的识别方法及***
CN113974607A (zh) 一种基于脉冲神经网络的睡眠鼾声检测***
Luo et al. Design of embedded real-time system for snoring and OSA detection based on machine learning
CN118078255A (zh) 一种基于注意力机制和领域泛化的呼吸事件识别方法
Hu et al. Auditory receptive field net based automatic snore detection for wearable devices
CN116649903A (zh) 多导睡眠监测信号融合驱动的睡眠数据处理方法及***
Kala et al. An objective measure of signal quality for pediatric lung auscultations
CN114488841B (zh) 一种智能穿戴设备的数据搜集处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination