一种心音分类方法与流程
本发明涉及心音分类的技术领域,尤其涉及到一种心音分类方法。
背景技术:
心音异常检测是对心脏疾病进行初筛的一种有效、简便的方法。
近年来,基于深度学习的异常心音检测方法取得了良好的精度,但是在临床实用中尚存在两个问题:(1)只能处理比较干净的心音,无法有效抵御体内伪迹(比如呼吸音)的干扰,心音检测模型的鲁棒性不足。即使采用带通滤波、小波去噪等预处理手段,也难以完全分离在时域和频域都有混叠的心音和肺音,而且预处理参数依赖人工设定,无法适应具有个体差异和时变差异的心肺音信号。(2)需要先将心音信号转为梅尔频谱图保存,再将梅尔频谱图导入到网络模型中,涉及两次i/o操作,不仅严重降低了计算效率,消耗存储资源,而且无法实现端到端的优化,不能学习比梅尔频谱更利于异常心音检测的特征。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种能减少心音信息量的丢失、更具有鲁棒性、计算效率及准确率高的心音分类方法。
为实现上述目的,本发明所提供的技术方案为:
一种心音分类方法,包括以下步骤:
s1、心肺音分离子网预训练:采用预先搜集的肺音信号对干净的心音,按照不同的能量比进行污染,生成混合信号x∈r1×l,划分训练集和测试集;并将训练集中的混合信号输入到心肺音分离子网进行预训练,以最大化心肺音估计的信噪比作为目标函数,采用梯度下降法进行优化,获得心肺音分离子网的初始参数;
s2、梅尔频谱等效子网预训练:将训练集中干净的心音xc∈r1×l以及相应梅尔频谱特征输入到梅尔频谱等效子网进行预训练,以最小化均方误差作为目标函数,采用梯度下降法进行优化,获得梅尔频谱等效子网的初始参数;
s3、心音分类子网预训练:将训练集中干净的心音xc∈r1×l输入到心音分类子网进行预训练,以最小化交叉熵作为目标函数,采用梯度下降法进行优化,获得心音分类子网的初始参数;
s4、使用卷积神经网络和长短时记忆神经网络搭建紧凑的心肺音分离子网,使用长短时记忆神经网络搭建紧凑的梅尔等效频谱子网,使用卷积神经网络搭建紧凑的心音分类子网;对心肺音分离子网、梅尔频谱等效子网、心音分类子网,进行知识蒸馏,联合训练紧凑的端到端的心音分类网络;
s5、通过知识蒸馏后的紧凑的心音分类网络对测试集中听诊的混合信号x∈r1×l进行心音分类,最后得出心音的分类结果。
进一步地,所述步骤s2的具体过程如下:
s2-1、将心音信号xc∈r1×l转为梅尔频谱图y∈rm×k×3,(m=k=128)作为梅尔频谱等效网络的标签,同时将时域心音信号xc∈r1×l进行短时傅里叶变换,如公式(2)所示:
上式中,xc∈r1×l为一维时域信号,w为长度为n的窗函数,s表示信号x的移动步长,t=0,…,t-1表示时间帧序号,f=0,…,n/2表示频段序号,n表示傅里叶变换长度;经过短时傅里叶变换得到的是复时频谱矩阵x,包含实部和虚部;
将复时频谱矩阵x代入公式(3)进行取模操作得到时频模
s2-2、利用梅尔刻度滤波器组将线性频谱映射到基于听觉感知的梅尔非线性频谱中;
从赫兹频率转换到梅尔频率的公式如下:
s2-3、将梅尔非线性频谱输入到含有q个神经元的全连接层,输出非线性谱
s2-4、将mr∈rm×k、mg∈rm×k、mb∈rm×k合并为预训练特征提取网络的时频域特征
上式中,m为样本数;采用adam训练优化器,训练100个epoch,梅尔频谱等效网络收敛后,获得梅尔频谱等效子网的初始参数。
进一步地,所述步骤s4中,对心肺音分离子网、梅尔频谱等效子网、心音分类子网进行知识蒸馏,联合训练紧凑的端到端的心音分类网络时,以公式(6)为目标函数进行优化:
minj1=∑(yt-ys)2+λ1ω1(st||ss)+λ2ω2(mt||ms)(6)
上式中,ω为基于kl散度的全局数据分布距离或为基于流形嵌入的局部关系度量,st为心肺音分离子网出来的估计心音;ss为心肺音分离紧凑子网的估计心音;mt为梅尔等效频谱子网的心音梅尔频谱图;ms为梅尔等效频谱紧凑子网的心音梅尔频谱图;yt为心音分类子网的心音分类结果;ys为心音分类紧凑子网的心音分类结果;λ1和λ2为超参数;结果采用adam训练优化器,训练100个epoch,网络收敛后,获得紧凑的心音分类网络的初始参数。
进一步地,所述步骤s5的具体过程如下:
s5-1、将听诊的混合信号x∈r1×l经过知识蒸馏后的心肺音分离紧凑子网进行分离,获得分离后的肺音信号估计
s5-2、将听诊的混合信号x∈r1×l和分离后的肺音信号估计
s5-3、然后将心音信号估计
s5-4、最后把时频域特征
与现有技术相比,本方案原理及优点如下:
1)通过构建辅助数据集,获取额外的先验知识,分别对心肺音分离子网、梅尔频谱等效子网和心音分类子网进行预训练。预训练子网特征提取能力强,但网络参数量巨大,计算复杂度高。因此,本方案通过知识蒸馏构建心肺音分离紧凑子网、梅尔频谱等效紧凑子网和心音分类紧凑子网,即:依据预训练子网输出特征的空间分布,构建正则项,引导紧凑的端到端的心音分类网络的学习。
2)同时搭建梅尔频谱等效网络,减少了i/o操作,提高计算效率,避免存储资源的消耗,可以学习到比梅尔频谱更利于异常心音检测的特征。实现时域混合信号至时域心音分类的端到端的学习,提高心音分类的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种心音分类方法中预训练网络的流程图;
图2为本发明一种心音分类方法中梅尔频谱等效子网的示意图;
图3为本发明一种心音分类方法中紧凑的心音分类网络的示意图;
图4为本发明一种心音分类方法中联合优化网络的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
本实施例所述的一种心音分类方法,包括以下步骤(其中包括如图1所示的预训练网络过程):
s1、心肺音分离子网预训练:采用预先搜集的肺音信号对干净的心音,按照不同的能量比进行污染,生成混合信号x∈r1×l(l表示信号的长度),划分训练集和测试集;并将训练集中的混合信号输入到心肺音分离子网进行预训练,以最大化心肺音估计的信噪比作为目标函数,采用梯度下降法进行优化,训练100个epoch,获得分离后的肺音信号估计
能量比计算如下:
上式中,pc,pr分别为心音能量与肺音能量。
s2、梅尔频谱等效子网预训练,其分为四个子步骤:
s2-1、将心音信号xc∈r1×l转为梅尔频谱图y∈rm×k×3,(m=k=128)作为梅尔频谱等效网络的标签,同时将时域心音信号xc∈r1×l进行短时傅里叶变换,如公式(2)所示:
上式中,xc∈r1×l为一维时域信号,w为长度为n的窗函数,s表示信号x的移动步长,t=0,…,t-1表示时间帧序号,f=0,…,n/2表示频段序号,n表示傅里叶变换长度;经过短时傅里叶变换得到的是复时频谱矩阵x,包含实部和虚部;
将复时频谱矩阵x代入公式(3)进行取模操作得到时频模
s2-2、利用梅尔刻度滤波器组将线性频谱映射到基于听觉感知的梅尔非线性频谱中;
从赫兹频率转换到梅尔频率的公式如下:
s2-3、将梅尔非线性频谱输入到含有q个神经元的全连接层,输出非线性谱
s2-4、将mr∈rm×k、mg∈rm×k、mb∈rm×k合并为预训练特征提取网络的时频域特征
上式中,m为样本数;采用adam训练优化器,训练100个epoch,梅尔频谱等效网络收敛后,获得梅尔频谱等效子网的初始参数。
梅尔频谱等效子网的示意图如图2所示。
s3、将时域心音信号xc∈r1×l,输送到心音分类alexnet网络结构中得到心音分类的结果,以交叉熵损失函数为目标进行优化,采用adam训练优化器,训练100个epoch。待分类网络收敛后,获得心音分类子网的初始参数。
s4、使用卷积神经网络和长短时记忆神经网络搭建紧凑的心肺音分离子网,使用长短时记忆神经网络搭建紧凑的梅尔等效频谱子网,使用卷积神经网络搭建紧凑的心音分类子网。对心肺音分离子网、梅尔频谱等效子网、心音分类子网,进行知识蒸馏,联合训练紧凑的端到端的心音分类网络;
具体地,以公式(6)为目标函数进行优化:
minj1=∑(yt-ys)2+λ1+λ1(st||ss)+λ2ω2(mt||ms)(6)
上式中,ω为基于kl散度的全局数据分布距离或为基于流形嵌入的局部关系度量,st为心肺音分离子网出来的估计心音;ss为心肺音分离紧凑子网的估计心音;mt为梅尔等效频谱子网的心音梅尔频谱图;ms为梅尔等效频谱紧凑子网的心音梅尔频谱图;yt为心音分类子网的心音分类结果;ys为心音分类紧凑子网的心音分类结果;λ1和λ2为超参数;结果采用adam训练优化器,训练100个epoch,网络收敛后,获得紧凑的心音分类网络的初始参数。紧凑的心音分类网络如图3所示。
s5、通过知识蒸馏后紧凑的心音分类网络对测试集中听诊的混合信号x∈r1×l进行心音分类,最后得出心音的分类结果。
如图4所示,具体过程包括:
s5-1、将听诊的混合信号x∈r1×l经过知识蒸馏后的心肺音分离紧凑子网进行分离,获得分离后的肺音信号估计
s5-2、将听诊的混合信号x∈r1×l和分离后的肺音信号估计
s5-3、然后将心音信号估计
s5-4、最后把时频域特征
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除