基于LBP 和Mixup 数据增强后的肺音识别*
2023-05-12古依聪刘启明
古依聪 郭 涛 李 成 刘启明 石 帅
(1.中北大学电子测试技术国家重点实验室 太原 030051)(2.中国航天科技集团有限公司中国运载火箭技术研究院 北京 100000)
1 引言
肺音听诊是诊断肺病的有效方法之一,但是,肺音中包含了非平稳信号,使用传统的听诊技术很难将肺音分离和分析[1],并且还受到医生经验、听力水平等因素的影响,导致结果的误差。将肺音听诊智能化,对所检测到的数据进行实时分析,能够对可能出现的健康问题进行提示,保护人们的健康[2]。
肺音中的异常的肺音可以分为两类,分别是以连续性为代表喘息音和断续性为代表的水泡音[3]。其中,喘息音持续时间为250ms 左右,频率在200Hz~600Hz。水泡音持续时间为20ms左右,频率在100Hz~300Hz,正常肺音是在100Hz~1000Hz[4]。本文将分类结果分为四类,分别是正常音、喘鸣音、水泡音、喘鸣水泡混合音。文本通过LBP 和Mixup进行数据增强后,采用CNN-RSM 混合模型将肺音进行分类,相较于其他使用同一数据库的作者,本文识别准确率提高10.31%。
2 肺音特征提取介绍
由于本文篇幅有限,着重介绍准确率最高的特征提取办法——梅尔谱图特征提取。其他特征提取方法的最终结果,将在后文进行进行对比的时候体现。
梅尔倒谱系数是声音信号处理方面常用的特征参数,以及由它引出的梅尔谱图特征提取办法。人耳所能听到的频率范围是在20Hz~20000Hz,1000Hz 以下的人的主观频域感知和频率是线性关系,1000Hz 以上的时候呈现对数关系[5],而梅尔频谱图则是根据人耳的此特征来进行设计的,在频带内按照临界带宽的大小设置一组滤波器,对信号进行滤波,低频分布密集,高频分布稀松[6]。将每个滤波器的功率作为信号的基本特征,经过进一步处理,则可成为神经网络的输入参数。
获得的梅尔谱图特征,如图1 所示。水泡音持续时间短,而且频率在100Hz~300Hz 之间,而喘鸣音在200Hz~600Hz 之间。同时可以看出梅尔谱图的低频信息十分丰富,对信号的低频信息更敏感,这是由于梅尔滤波器组对低频分辨率有更好的分辨率。所以适合对肺音这个低频信号进行分析。
图1 梅尔谱图
3 数据增强
由于数据库中的的6898 个肺音周期,正常肺音为3642 个周期,占比为53%。喘鸣音、水泡音及两者的混合音只占47%。这种不平恒的数据对于训练的神经网络的泛化能力有较大的影响,而且容易造成过拟合,因此我们需要进行数据增强,以此改善数据结构。
本文使用Mixup 的数据增强办法[7],随机抽取同一类中的两个样本或者不同类中的两个,按照一定的权值将其拼接起来,产生新的样本,扩充样本数量,增加样本间的线性表现,从后边的分类结果来看,还能增强样本的鲁棒性。在训练样本(xi,yi)与(xj,yj)的混合邻域分布中随机抽样生成新的特征目标向量:
式中λ可以是[0,1]中的固定值。
在将谱图特征输入深度学习网络之前,为了更好地表现谱图特征,还需要对谱图进行进一步优化,使用局部二值模式(Local Binary Pattern,LBP)可以提取到谱图的局部纹理特征[8]。并且LBP 具有计算简单且旋转不变性和灰度不变性的优点,可以降低深度学习网络过拟合的风险[9],同时使得神经网络具有更好的鲁棒性。标准的LBP 算法是一个非参数的3*3 的核,它根据每个像素与其周围的8 个像素的强度值作比较,当相邻像素强度值较高时赋值为1,否则为0,当这个像素与周围8 个值作比较后产生8位数二进制数,即为此点的LBP值[10]。
LBP 二进制由于数值只是0 和1 构成,且可以转化为十进制数,即一个十进制数就可以简洁明了地反映该区域的纹理信。滤波后的肺音经过Mel特征提取后,进行数据增强,再输入深度学习模型,最终得到分类结果如图2所示。
10时40分,他跟科长请假说回家做饭,便回到家里。他转了一圈儿,又找几个同学聊聊,以便日后给他作证,接着,又回到屋里干活。11时05分,他骑着自行车来到林业俱乐部门前,把车放下后,打一辆出租车来到学校附近停下。这时已是11时10分了。
图2 分类分类流程图
4 并行池化CNN模型
本次研究中卷积神经网络的输入是对原始信号进行降噪过后的肺音信号,再将信号利用前文所提到的Mel、WT、CQT、STFT 得到的谱图,输入到神经网络中[11],在后续的分类中进行比较,寻找最优结果。
设计的CNN模型共16层,由数据输入层、卷积层、ReLU层、池化层和全连接层构成。通过增加模型中的层数,增加的非线性可以得出目标函数的近似结构,拥有更好的特征表达,但是模型的复杂程度也增加了,使得模型更难优化且容易过拟合。选择CNN 模型合适的层数就非常重要了。将已经提取到的谱图作为CNN 神经网络的输入,进行训练。数据输入层主要是针对我们的输入图像进行预处理,包括去均值、归一化、PCA/白化。最终构建好的神经网络中选用了4 个卷积层,其中一个为大小5*5 数量64 的卷积核,3 个为3*3 数量为32 的卷积核进行运算。如图3所示。
图3 CNN结构图
5 CNN-RSM混合模型
随机子空间法(Random Subspace Method,RSM)的主要目的是在特征空间修改训练数据。给定训练数据集X 以及p 维的特征向量Xi,计算方法如下所示:
式中n是实例总数,从p维数据集中随机选择r个特征,从而得到了原始特征空间r 维随机子空间以及r维的特征向量,表达式如下:
6 研究结果
6.1 分类结果评估方法
本文采用按比例随机抽取测试集的方法进行分类。训练集比例为总数据的85%,测试集为15%。因为训练集结果存在过拟合和欠拟合的情况,并不能具有代表性,而测试集代表了实际使用中的真实情况,具有鲁棒性和泛化能力更好。所以本文将测试集结果的矩阵作为最终结果进行评估。
在评估深度学习网络模型时,针对混淆矩阵进行评估的主要计分公式有准确率(Accuracy)、灵敏度(Se)、特异度(Sp)、和ICBHI得分(score)[12]四种评估指标。四种评估指标的公式如下:
6.2 肺音识别结果评估
首先本文对Mel、WT、STFT、CQT 四种特征提取方式进行评估,将四种谱图特征输入CNN 模型进行分类,并将测试集结果进行对比,判断不同特征提取方式对结果的影响,其结果如表1所示。
表1 特征提取方式结果对比
由表中可以看出,四种特征提取方式中,Mel谱图的准确率达到72.38%、灵敏度达到35.9%、ICBHI 得分达到61.85%,都为最高,特异度比最高的WT谱图低了3.22%。灵敏度代表对异常肺音判断的准确率,特异度代表着对正确肺音判断的准确率。实际使用中异常肺音的判断比正常肺音的判断更重要,且Mel 谱图灵敏度最高,所以综合来看Mel谱图最优。本文将Mel谱图作为本文的特征提取办法。
再确定了最优的特征提取方式后,接着使用最优的特征提取方式,将数据增强前后的分类结果进行对比分析,将比未确定最优的特征提取方式之前直接进行四种特征提取方式数据增强前后进行对比更加简洁且具有说服力。常用Mel 谱图特征提取方式进行分类的数据增强前后对比如表2所示。
表2 数据增强前后对比
由表中可以看出,数据增强后灵敏度、特异度、ICBHI得分都有提升,尤其是灵敏度提升了11.3%,提升明显,这表明数增强明显的对肺音数据进行了优化,在一定程度上平衡了数据,增加了异常肺音的占比,使整个数据库变得均衡,这对于CNN 模型的泛化能力有了一定提升。但我们也注意到数据增强之后的特异度降低了1.3%,这是由于数据库中异常肺音数量的增加,同时可以看到特异度与灵敏度的差值由原来的64.5%降低到51.9%,使得官方测试集灵敏度与特异度差值过大的现象得到了一定缓解,数据准确率也提升了2.25%,证明了数据增强的重要性,同时也肯定了Mixup 和LBP 的效果。
在选取了最优的特征提取方式和对数据增强效果进行验证后,将数据集输入CNN 模型及CNN-RSM 模型中进行训练,训练结果如表3 所示,并将训练结果和使用一样数据库ICBHI 2017 的论文结果进行比对,对比结果表明,本文采用的数据增强后的CNN-RSM 混合模型的综合评比结果最佳。
表3 各模型训练结果及对比
由表中加黑的数据可以看出准确率最高的结果为CNN-RSM 模型的结果,准确率达到了76.01%,同时相较于单独的CNN 模型,结果的准确率、灵敏度、特异度、ICBHI 得分都有提升,其中准确率提升了3.63%,灵敏度提升了7.17%。这说明在CNN模型的最后一步将350各特征分类得到的4个特征的效果不如RSM,将CNN 善于提取复杂特征的特点和RSM 针对训练对象的数量和维度较小时分类效果明显的优点相结合起来,发挥各自优势的CNN-RSM模型为所用方法中的最优结果。
7 结语
对比相同数据的其他作者所做的结果,本文所做的模型在准确率方面优势明显,这对于肺音的判别至关重要,特异度提升了11.7%,ICBHI得分方面也相较与其他作者提升有0.68%,虽然提升较小,但综合四种评估标准来看,本文的CNN-SVM 模型具有较大优势,这取决于我们对于原始肺音种的降噪、谱图特征提取方式的选择、CNN 与RSM 各自优点的结合。在进行对比分析后,CNN-RSM 的准确率达到76.01%、灵敏度43.07%、特异度89.07%、ICBHI得分66.38%,肺音识别的四种评分标准的得分都较为优秀,能够在一定程度上满足肺音识别的需求。