基于变值逻辑与深度学习模型的心音分类研究

姚如苹 孙静 潘家华 王威廉

引用本文:
Citation:

基于变值逻辑与深度学习模型的心音分类研究

    作者简介: 姚如苹(1995−),女,四川人,硕士生,主要研究生物医学信号处理. E-mail:1169124882@qq.com;
    通讯作者: 王威廉, wlwang@ynu.edu.cn
  • 中图分类号: TN912.3;TP183

Research on heart sound classification based on variable logic and deep learning model

    Corresponding author: WANG Wei-lian, wlwang@ynu.edu.cn
  • CLC number: TN912.3;TP183

  • 摘要: 针对目前心音分析算法识别率不够高的问题,提出了一种基于变值逻辑模型的先心病心音分类算法. 首先,对心音信号进行预处理,去除非病理性噪声并提取心音包络;然后,对心音信号的包络数据进行变值逻辑运算,对包络数据进行标记将其转换为伪DNA序列,并转换为可视化分析的测度数据;最后,使用Inception_Resnet_v2等深度学习模型对常见先心病心音信号进行多分类测试,并与其它已有的算法进行对比. 研究所用的正常和异常心音样本共1 000例,其中在测试集上进行多分类的平均准确率为0.931. 实验结果表明,该算法优于目前已有的几种算法,有望用于先心病初诊的机器辅助诊断.
  • 图 1  整体算法分析框图

    Figure 1.  Block diagram of the overall analysis algorithm

    图 2  维奥拉积分包络提取图

    Figure 2.  Diagram of Viola integral envelope extraction

    图 3  变值逻辑模型结构图

    Figure 3.  Structure diagram of the variant value logic model

    图 4  心音信号的包络标记图

    Figure 4.  The labeled marking diagram of heart sound signal

    图 5  0−1序列转换图

    Figure 5.  0−1 sequence conversion diagram

    图 6  ASD信号和正常信号的二维散点图

    Figure 6.  Scatter of ASD signal and normal signal

    图 7  ASD信号和正常信号的等高线图

    Figure 7.  The contour of ASD signal and normal signal

    图 8  Inception_Resnet_v2结构图

    Figure 8.  The structure of Inception_Resnet_v2

    表 1  心音信号集分布表

    Table 1.  The distribution of heart sound signal

    信号类型数量年龄/岁
    ASD2202~18
    VSD2703~17
    PDA2202~18
    正常2905~18
    下载: 导出CSV

    表 2  先心病心音信号多分类结果

    Table 2.  Multi-classification result table of congenital heart disease heart sound signal

    信号RTPAccVPP
    NOR0.9580.9470.972
    VSD0.9640.9330.964
    ASD0.9440.9130.971
    PDA0.9510.9300.961
    平均0.9540.9310.967
    下载: 导出CSV

    表 3  不同特征提取算法对比

    Table 3.  Comparison of different feature extraction algorithms

    各分类算法RTPAcc
    小波+SVM0.8250.816
    MFCC+SVM[7]0.8300.810
    变值模型+SVM0.9230.849
    下载: 导出CSV

    表 4  不同深度学习算法对比

    Table 4.  Comparison of different deep learning algorithms

    网络模型RTPAcc
    Mobilenet_v20.7950.792
    Inception_v30.9060.876
    Resnet_50[20]0.8970.886
    Inception_Resnet_v20.9540.931
    下载: 导出CSV
  • [1] Noemi G, Marco K. A novel method for measuring the timing of heart sound components through digital phonocardiography[J]. Sensors (Basel, Switzerland), 2019, 19(8): 4273- 4278.
    [2] 王美洁, 李智. 基于提升小波变换的心音信号特征提取方法[J]. 四川大学学报: 工程科学版, 2013, 45(S1): 123-127. Wang M J, Li Z. An algorithm of feature extraction for heart sounds based on lifting wavelet transforms[J]. Journal of Sichuan University: Engineering Science Edition, 2013, 45(S1): 123-127.
    [3] 周克良, 刘亚亚. 新阈值小波变换的心音去噪[J]. 计算机工程与设计, 2020, 41(9): 2476- 2481. Zhou K L, Liu Y Y. Heart sound denoising based on new threshold wavelet transform[J]. Computer Engineering and Design, 2020, 41(9): 2476- 2481.
    [4] Lanning C, Shandas R. Development and validation of implantable sensors for monitoring function of prosthetic heart valves: In vitro studies[J]. Medical and Biological Engineering and Computing, 2003, 41(4): 416-424. DOI:  10.1007/BF02348084.
    [5] Fritzsche D, Eitz T, Minami K, et al. Digital frequency analysis of valve sound phenomena in patients after prosthetic valve surgery: Its capability as a true home monitoring of valve function[J]. Journal of Heart Valve Disease, 2005, 14(5): 657-663.
    [6] 许春冬, 周静, 应冬文, 等. 心音信号MFCC特征向量提取方法的优化[J]. 信号处理, 2019, 35(3): 410-418. Xu C D, Zhou J, Ying D W, et al. Optimization of the extraction method of MFCC feature vectors for heart sound signals[J]. Signal Processing, 2019, 35(3): 410-418.
    [7] 郭春璐, 岳小冰. 基于支持向量机的心音信号自动识别[J]. 计算机与现代化, 2016(6): 36-39. DOI:  10.3969/j.issn.1006-2475.2016.06.008. Guo C L, Yue X B. Automatic recognition of heart sound signal based on support vector machine[J]. Computer and Modernization, 2016(6): 36-39.
    [8] 李战明, 韩阳, 韦哲, 等. 基于S变换的心音信号特征提取[J]. 振动与冲击, 2012, 31(21): 179-183. DOI:  10.3969/j.issn.1000-3835.2012.21.035. Li Z M, Han Y, Wei Z, et al. Heart sound feature extraction based on S transformation[J]. Vibration and Shock, 2012, 31(21): 179-183.
    [9] Zhang W, Han J, Deng S. Heart sound classification based on scaled spectrogram and partial least squares regression[J]. Biomedical Signal Processing & Control, 2017, 32: 20-28.
    [10] Liu C, Springer D, Li Q, et al. An open access database for the evaluation of heart sound algorithms[J]. Physiological Measurement, 2016, 37(12): 2181- 2213. DOI:  10.1088/0967-3334/37/12/2181.
    [11] Degroff C G, Bhatikar S, Hertzberg J, et al. Artificial neural network-based method of screening heart murmurs in children[J]. Circulation, 2001, 103: 2711- 2716. DOI:  10.1161/01.CIR.103.22.2711.
    [12] Maragoudakis M, Loukis E. Heart sound screening in real-time assistive environments through MCMC Bayesian data mining[J]. Universal Access in the Information Society, 2014, 13(1): 73-88. DOI:  10.1007/s10209-013-0293-4.
    [13] 谭朝文, 王威廉, 宗容, 等. 基于卷积神经网络的先心病心音信号分类算法[J]. 生物医学工程学杂志, 2019, 36(5): 728-736. Tan C W, Wang W L, Zong R, et al. Classification of heart sound signals in congenital heart disease based on convolutional neural network[J]. Journal of Biomedical Engineering, 2019, 36(5): 728-736.
    [14] 王新沛, 刘常春, 李远洋, 等. 基于高阶香农熵的心音分段算法[J]. 吉林大学学报: 工学版, 2010, 40(5): 1433- 1437. Wang X P, Liu C C, Li Y Y, et al. Heart sound segmentation algorithm based on high order Shannon entropy[J]. Journal of Jilin University: Engineering Edition, 2010, 40(5): 1433- 1437.
    [15] 郭兴明, 蒋鸿, 郑伊能. 基于改进的维奥拉积分方法提取心音信号包络[J]. 仪器仪表学报, 2016, 37(10): 2352- 2358. DOI:  10.3969/j.issn.0254-3087.2016.10.023. Guo X M, Jiang H, Zheng Y N. Extraction of heart sound envelope based on improved Viola integral method[J]. Acta Instrumenta Sinica, 2016, 37(10): 2352- 2358.
    [16] 侯海良, 罗良才, 成运, 等. 基于盲源提取和希尔伯特变换的心音包络提取[J]. 计算机仿真, 2012, 29(10): 215-218. DOI:  10.3969/j.issn.1006-9348.2012.10.052. Hou H L, Luo L C, Cheng Y, et al. Heart sound envelope extraction based on blind source extraction and Hilbert transform[J]. Computer Simulation, 2012, 29(10): 215-218.
    [17] 郑智捷. 多元逻辑函数的基础等价变值表示[J]. 云南民族大学学报: 自然科学版, 2011, 20(5): 396-397. Zheng Z J. Equivalent expressions of multiple-variable logic and variant logic functions[J]. Journal of Yunnan University for Nationalities: Natural Science Edition, 2011, 20(5): 396-397.
    [18] 曾平安, 郑智捷. 利用变值编码展现元胞自动机的4类经典分类模式[J]. 计算机科学, 2016, 43(S1): 139-141. Zeng P A, Zheng Z J. Using variable value coding to show 4 classical classification models of cellular automata[J]. Computer Science, 2016, 43(S1): 139-141.
    [19] 冷莉华, 郑智捷. 窦性心律失常心电序列的可视化研究[J]. 计算机科学, 2016, 43(S2): 183-185. Leng L H, Zheng Z J. Visualization research of ECG sequence in sinus arrhythmia[J]. Computer Science, 2016, 43(S2): 183-185.
    [20] He K M. Deep residual learning for image recognition[C]// IEEE Conference on Computer Vision & Pattern Recognition IEEE Computer Society, Las Vegas, USA, 2016: 770-778
  • [1] 孙雪华郭敏马苗 . 基于PCA和KICA双空间特征提取的玉米碰撞声信号分类. 云南大学学报(自然科学版), 2017, 39(1): 45-49. doi: 10.7540/j.ynu.20160370
    [2] 查启秋赵杨宋少帅宗容王威廉 . 基于FPGA的心音信号采集系统设计. 云南大学学报(自然科学版), 2017, 39(3): 356-359. doi: 10.7540/j.ynu.20160217
    [3] 马云强刘雪莲刘梦盈石雷张忠和赵宁 . 基于高光谱成像的不同花期薇甘菊特征分析及监测模型研究. 云南大学学报(自然科学版), 2021, 43(2): 290-298. doi: 10.7540/j.ynu.20200198
    [4] 肖苗常俊潘家华杨宏波王威廉 . 基于提升小波变换的心音去噪新方法. 云南大学学报(自然科学版), 2019, 41(6): 1118-1122. doi: 10.7540/j.ynu.20180659
    [5] 贾春花郭敏 . 基于HHT方法的果蝇鸣声特征提取及分类. 云南大学学报(自然科学版), 2011, 33(2): 152-157 .
    [6] 蒋作李彤杨柽 . Web文档特征提取中知识树构造. 云南大学学报(自然科学版), 2011, 33(S2): 168-172.
    [7] 陆正福周宪法杨慧慧李佳 . 基于深度学习的隐私保护型分布式人脸识别系统. 云南大学学报(自然科学版), 2021, 43(4): 700-706. doi: 10.7540/j.ynu.20200404
    [8] 阮春生张强陈林丁波洋方力陈穗云 . 不同烟草品种紫外-可见光谱特征的提取研究. 云南大学学报(自然科学版), 2009, 31(6): 616-624 .
    [9] 梅礼晔郭晓鹏张俊华郭正红肖佳 . 基于空间金字塔池化的深度卷积神经网络多聚焦图像融合. 云南大学学报(自然科学版), 2019, 41(1): 18-27. doi: 10.7540/j.ynu.20170670
    [10] 邱爽聂仁灿周冬明李兴叶 . 自归一化卷积神经网络的人脸识别方法. 云南大学学报(自然科学版), 2018, 40(4): 659-664. doi: 10.7540/j.ynu.20170436
    [11] 丁斋生周冬明聂仁灿侯瑞超刘栋刘琰煜 . 基于视觉显著性与残差网络的红外-可见光图像融合方法. 云南大学学报(自然科学版), 2019, 41(6): 1108-1117. doi: 10.7540/j.ynu.20180692
    [12] 钟鼎杰杨存建 . 基于遥感影像的山岳冰川信息计算机解译方法探讨——以梅里雪山为例. 云南大学学报(自然科学版), 2021, 43(5): 942-952. doi: 10.7540/j.ynu.20200543
    [13] 刘东陈境宇王生生 . 基于空间自适应和混合损失对抗网络的乳腺肿块图像分割方法. 云南大学学报(自然科学版), 2021, 43(): 1-10. doi: 10.7540/j.ynu.20210223
    [14] 张昭张沛曹勇杨莎黄树欣孙瀚张柏礼 . 面向变电设备金属锈蚀检测的分层嵌套标注方法. 云南大学学报(自然科学版), 2022, 4(1): 1-7. doi: 10.7540/j.ynu.P00113
    [15] 燕志星王海瑞杨宏伟靖婉婷 . 基于深度学习特征提取和GWO-SVM滚动轴承故障诊断的研究. 云南大学学报(自然科学版), 2020, 42(4): 656-663. doi: 10.7540/j.ynu.20190535
    [16] 郭敏尚志远白雅 . 储粮害虫微弱声信号特征提取与分析. 云南大学学报(自然科学版), 2006, 28(6): 497-503.
    [17] 刘平王顺芳 . 一种局部保留C2DPCA人脸特征提取方法. 云南大学学报(自然科学版), 2011, 33(S2): 206-209.
    [18] 于传波聂仁灿周冬明何敏 . 变空间协同表示判别分析的特征提取算法. 云南大学学报(自然科学版), 2019, 41(1): 28-35. doi: 10.7540/j.ynu.20170590
    [19] 齐鹏范玉刚李葵 . 基于SVD突变信息特征提取和VPMCD的故障诊断方法研究. 云南大学学报(自然科学版), 2016, 38(2): 211-218. doi: 10.7540/j.ynu.20150410
    [20] 贾春花郭 敏 . 基于HHT方法的果蝇鸣声特征提取及分类. 云南大学学报(自然科学版), 0, -1978(0): 0- .
  • 加载中
图(8)表(4)
计量
  • 文章访问数:  390
  • HTML全文浏览量:  462
  • PDF下载量:  21
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-10-13
  • 录用日期:  2021-01-26
  • 网络出版日期:  2021-04-12
  • 刊出日期:  2021-09-15

基于变值逻辑与深度学习模型的心音分类研究

    作者简介:姚如苹(1995−),女,四川人,硕士生,主要研究生物医学信号处理. E-mail:1169124882@qq.com
    通讯作者: 王威廉, wlwang@ynu.edu.cn
  • 1. 云南大学 信息学院,云南 昆明 650500
  • 2. 云南省阜外心血管病医院,云南 昆明 650032

摘要: 针对目前心音分析算法识别率不够高的问题,提出了一种基于变值逻辑模型的先心病心音分类算法. 首先,对心音信号进行预处理,去除非病理性噪声并提取心音包络;然后,对心音信号的包络数据进行变值逻辑运算,对包络数据进行标记将其转换为伪DNA序列,并转换为可视化分析的测度数据;最后,使用Inception_Resnet_v2等深度学习模型对常见先心病心音信号进行多分类测试,并与其它已有的算法进行对比. 研究所用的正常和异常心音样本共1 000例,其中在测试集上进行多分类的平均准确率为0.931. 实验结果表明,该算法优于目前已有的几种算法,有望用于先心病初诊的机器辅助诊断.

English Abstract

  • 心脏听诊是临床疾病检查,尤其是各类心血管疾病初诊的基本手段[1],如对先天性心脏病(简称先心病)的初诊和筛查主要依靠心脏听诊. 近年来,随着电子听诊器的出现,其大大方便了数字化记录心音,记录的心音信号称为心音图(Phonocardiogram,PCG). PCG载有心脏生理、病理的丰富信息,分析研究心音对于机器辅助诊断有重要意义. 目前,用于心音特征提取的方法主要有小波变换、频谱分析、数字滤波、梅尔倒谱频率系数(Mel Frequency Cepstrum Coefficient,MFCC)和离散傅里叶变换等[2-6]. 文献[7]首先使用小波去噪,然后提取MFCC作为心音特征后,采用支持向量机进行分类,在对异常和正常信号的分类中获得了0.93的准确率,但当异常心音种类增多时准确率明显下降,且训练样本过少无法保证算法的普适性. 文献[8]提出了基于S变换的心音特征提取方法,对一个周期进行S变换,提取变换后矩阵的统计学特征,并将该特征作为区分不同信号的特征向量,但该算法对于病理性信号的特征提取较不明显,不利于后续心音分类. 文献[9-12]使用传统的机器学习方法对心音信号进行分类,如支持向量机、人工神经网络等,但得到的准确率普遍较低. 文献[13]使用深度学习方法对心音进行分类,将提取的MFCC转换为二维特征样本,然后使用卷积神经网络对其进行分类,取得了0.895的准确率.

    上述研究中,各算法给出的准确率普遍较低,且训练样本过小,无法保证算法的普适性和鲁棒性等. 基于以上算法的不足,本文提出一种将变值逻辑模型与深度学习模型相结合的方法,将变值逻辑模型用于对心音信号的特征提取,用Inception_Resnet_v2网络实现对先心病心音信号的分类,实验结果表明本研究取得了较高的分类评价指标.

    • 本算法主要由3个部分组成:首先对心音信号进行预处理,滤去环境噪声和非病理性杂音,并提取心音信号的包络;然后使用变值逻辑模型进行心音信号的特征提取,得到10个测度向量并将其进行可视化分析;最后通过深度卷积神经网络对提取到的二位样本帧进行分类,算法框架如图1所示.

      图  1  整体算法分析框图

      Figure 1.  Block diagram of the overall analysis algorithm

    • 实验所用的数据为云南省阜外心血管病医院和昆明医科大学第一附属医院临床采集并经医学确诊,以及在云南省各地州进行先心病筛查时采集并建立的心音信号数据库. 每例样本含临床心脏听诊5个部位的信号,时长均为20 s或30 s,采样频率5000 Hz. 该心音信号数据库中,志愿者年龄2~18岁,所有志愿者均签署知情同意书,并经过云南大学医学院伦理委员会审查同意后,授权使用. 文中共使用了1 000例来自不同志愿者的心音信号,其中正常信号290例,房间隔缺损(Atrial Septal Defect,ASD)220例,室间隔缺损(Ventricular Septal Defect,VSD)270例,动脉导管未闭(Patent Ductus Artery,PDA)220例. 为避免模型发生过拟合,将数据集按照7∶2∶1划分为训练集、测试集和验证集. 训练集来自700例不同受试者的心音信号,包括200例正常心音信号和500例病理性心音信号. 测试集包括50例正常心音信号和150例病理性心音信号. 在训练过程中为了验证网络模型的有效性,采用30例正常心音信号和70例病理性心音信号组成的数据集对其验证. 信号分布如表1所示.

      信号类型数量年龄/岁
      ASD2202~18
      VSD2703~17
      PDA2202~18
      正常2905~18

      表 1  心音信号集分布表

      Table 1.  The distribution of heart sound signal

    • 由于采集环境的影响,心音信号往往含有背景噪声、呼吸音等非病理性噪声. 针对这类情况,使用了截止频率为25 Hz和400 Hz的四阶巴特沃斯带通数字滤波器进行了预处理滤波.

      对心音信号进行变值逻辑模型数据计算,需要对心音信号包络数据进行标记,然后对标记后的数据进行变值逻辑处理,转换为可视化分析所需要的10个测度. 在已有的算法中,使用归一化香农能量、希尔伯特−黄变换、同态包络和维奥拉积分法提取心音信号包络都取得了不错的效果[14-16]. 维奥拉积分法是基于自适应的快速检测算法,具有处理速度快、简单并且实时性强的特点,因此本文选择维奥拉积分法作为心音信号包络的提取方法,对正常心音信号采用维奥拉积分提取到的心音包络如图2所示. 图2(a)为未经滤波的原始心音信号,图2(b)为对应心音信号的维奥拉积分包络图. 由图2可知,维奥拉积分包络可以很好地反映心音信号的形态学特点,有利于后续的分析处理.

      图  2  维奥拉积分包络提取图

      Figure 2.  Diagram of Viola integral envelope extraction

    • 变值逻辑理论体系[17]是在传统的逻辑映射关系“与”、“或”、“非”3种逻辑运算的基础上引入了“置换”和“互补”等附加运算[18-19],从而扩展了逻辑函数空间. 通过对心音信号的包络数据进行变值运算,将其转换为可视化分析的测度数据. 对心音信号数据序列进行处理的变值逻辑模型结构如图3所示. 图3中的计算模型(Calculation Model,CM)包括基值计算模型(Base-valued Calculation Model,BVCM)、范围值计算模型(Range-valued Calculation Model,RVCM)以及区间取值计算模型(Interval-valued Calculation Model,IVCM). 计算模型的处理流程为:首先将心音序列通过基值计算模型、范围值计算模型、区间取值计算模型计算转换为区间取值序列,由区间的范围进一步将区间取值序列转换为由A、G、C、T 4个碱基组成的伪DNA序列;然后通过状态统计将其转换为计算机可识别的0−1序列;最后计算4个基元的概率测度.

      图  3  变值逻辑模型结构图

      Figure 3.  Structure diagram of the variant value logic model

    • BVCM的作用是对连续的心音数据序列 $\{ {a_0},{a_1}, $$ {a_2},\cdots,{a_i},\cdots,{a_n}\}$ 计算其基础值,获得相应的基值序列BV:$\left\{ {b_{0}},{b_{1}},\right. $$ \left. {b_{2}},\cdots,{b_{i}},\cdots,{b_{n}} \right\}$,计算公式如下:

      $ \begin{split} {b_{j}} =\;& \frac{1}{w}\sum\limits_{i = j}^{w + j - 1} {{a_i}}, j = 0,1,2,\cdots,n - w + 1, \\ &i = j,\;j + 1,j + 2,\cdots,n , \end{split} $

      其中,w为滑动窗口值. 经实验测试,将w设置为20个采样点、时长4 ms时,能获得较好的算法效果.

    • RVCM的作用是计算心音序列的范围值,获得相应的范围序列RV:$\left\{ {{r_{0}},{r_{1}},{r_{2}},\cdots,{r_{i}},\cdots,{r_{n}}} \right\}$,计算公式如下:

      $ \begin{split} {r_{j}} = \;&\frac{s}{2}\max \left\{ {{a_j},{a_{j + 1}},{a_{j + 2}},\cdots,{a_{j + w + 1}}} \right\} - \\ &\min \left\{ {{a_j},{a_{j + 1}},{a_{j + 2}},\cdots,{a_{j + w + 1}}} \right\} , \\ &j = 0,1,2,\cdots,n - w + 1, \end{split} $

      其中,$\max \left\{ {{a_j},{a_{j + 1}},{a_{j + 2}},\cdots,{a_{j + w - 1}}} \right\}$ 表示包含在滑动窗口内的心音数据序列的最大值,$\min \{ {a_j},a_{j + 1}, $$ {a_{j + 2}},\cdots,{a_{j + w - 1}} \}$ 表示包含在滑动窗口内的心音数据序列的最小值,s 为稳定区间值,在本算法中设置为0.925.

    • IVCM的作用是计算心音数据序列的区间值Rc):$\{{c}_{0},{c}_{1}, $$ {c}_{2},\cdots ,{c}_{j},\cdots ,{c}_{n+w-1}\}$,区间值的计算公式如下:

      $ {c}_{j}=\frac{{a}_{j}-{b}_{j}}{s{r}_{j}},j=\mathrm{0,1},2,\cdots ,n-w+1, $

      其中,s为稳定区间值.

    • 经过以上3个计算模型的处理,连续的心音信号数据序列 $ \{{a}_{0},{a}_{1}, $$ {a}_{2},\cdots ,{a}_{i},\cdots ,{a}_{n}\} $ 被转换成区间取值序列 ${R}\left({c}\right)\{{c}_{0},{c}_{1}, $$ {c}_{2},\cdots ,{c}_{j},\cdots ,{c}_{n+w-1}\}$,对该序列的区间范围参数用

      $ {d}_{vk}=\left\{\begin{array}{l}{\rm{A}},{c}_{i}\geqslant s;\\ {\rm{G}},0\leqslant {c}_{i}<s;\\ {\rm{C}},-s\leqslant {c}_{i}<0;\\ {\rm{T}},{c}_{i}<-s\end{array}\right.$

      进行比较划分. 其中,$i=0,1,2,\cdots,n-w+1 $.

      经过(4)式比较,进一步将区间取值序列 $ {R}\left({c}\right)\left\{{c}_{0},{c}_{1},{c}_{2},\cdots ,{c}_{j},\cdots ,{c}_{n+w-1}\right\} $ 转换为伪DNA序列. A、G、C、T分别源于生物学:腺嘌呤(A),鸟嘌呤(G),胞嘧啶(C)和胸腺嘧啶(T). 实验结果显示,不同的心音信号映射出的伪DNA碱基元素也不相同. 心音信号较为陡峭的上升和下降部分被映射为A和T,较为平缓的部分映射为G和C,将映射为A和T的元素分别标记为绿色和黄色,映射为G和C的标记为蓝色. 对维奥拉积分包络标记后的正常心音信号和患有VSD的心音信号对比如图4所示.

      图  4  心音信号的包络标记图

      Figure 4.  The labeled marking diagram of heart sound signal

    • 由于心音信号包络的波峰较多,转换出的伪DNA序列中的A和T元素较多,为了防止相关干扰,本文选取 A 和 T 元素同时作为标记元素,将标记后的不同伪DNA元素转换为0−1序列 $ {r}_{i} $,转换公式如下:

      $\begin{split} &{r}_{i}=\left\{\begin{array}{c}0,{d}_{k}\ne p,\\ 1,{d}_{k}=p,\end{array}\right.\\ &p\in \left\{{\rm{A}},{\rm{G}},{\rm{C}},{\rm{T}}\right\},k=\mathrm{0,1},2,\cdots ,n-w+1.\end{split}$

      为了对数据进行有效的数学统计和保证转换出的0−1序列中的原始信号有效信息得到最大保留,需要对伪DNA序列进行元素标记,从而将心音信号转换为0−1序列;同时为了使后期可视化构图表现出心音信号的特征,使用变值逻辑理论对分段后的0−1序列进行变值转换,将其分别转换为00,01,10,11 四个元素. 设分段段长为m,第n段的数据为 $ {x}_{i} $,其相邻的第n+1段的数据为 $ {y}_{i} $,则根据测度划分规则将0−1序列划分成为变值逻辑空间的4种变值状态,转换规则如下:

      $ E=\left\{\begin{array}{c}00,{x}_{i}=0,{y}_{i}=0;\\ 01,{x}_{i}=0,{y}_{i}=1;\\ 10,{x}_{i}=1,{y}_{i}=0;\\ 11,{x}_{i}=1,{y}_{i}=1.\end{array}\right. $

      算法示意图如图5所示.

      图  5  0−1序列转换图

      Figure 5.  0−1 sequence conversion diagram

      根据心音信号包络标记特点可知,由于正常心音信号除了S1S2以外,其他时段较为平缓,故转换出的伪DNA序列中G和C元素较多,A和T元素较少,若标记元素为A和T,则经过0−1序列转换出的0较多,1较少;而病理性心音信号在收缩期或舒张期含有病理性杂音,因此对于病理性心音信号来说,提取的维奥拉积分包络将会有更多上升和下降的幅度,转换出的伪DNA序列中A和T元素较多,经过0−1序列转换出的序列中1较多,0较少. 通过对转换出的0−1序列进行测度统计,则可以更直观地区别正常心音信号和异常心音信号.

    • 对转换出的0−1序列进行测度统计,分别统计出各个分段中4种变值逻辑状态的个数,然后计算各分段对应的测度向量,非归一化测度计算公式如(7)式所示,归一化测度计算公式如(8)式所示.

      $\left\{ \begin{gathered} {P_{00}} = {N_{00}}/m, \\ {P_{01}} = {N_{01}}/m, \\ {P_{10}} = {N_{10}}/m, \\ {P_{11}} = {N_{11}}/m, \end{gathered} \right.$

      $\left\{ \begin{array}{l} {P_0} = ({N_{00}} + {N_{01}})/m, \\ {P_1} = ({N_{10}} + {N_{11}})/m, \\ P_{{\rm{n}}_{00}} = {P_{00}}/{P_0}, \\ P_{{\rm{n}}_{01}} = {P_{01}}/{P_0}, \\ P_{{\rm{n}}_{10}} = {P_{10}}/{P_1}, \\ P_{{\rm{n}}_{11}} = {P_{11}}/{P_1}, \end{array} \right.$

      其中,m为分段段长,P00P01P10P11定义为非归一化测度,P0P1Pn00Pn01Pn10Pn11为归一化测度. 对于正常的心音信号,由于其转换出的00较多,11较少,故其统计出的P00Pn00数值较大;而对于病理性心音信号,则统计出的P11Pn11数值较大. 本文将心音信号经过变值逻辑模型处理后,将正常和病理性心音信号形态上的特点转换成了测度数据并进行可视化分析,然后结合可视化结果使用分类算法,进行分类.

    • 为了达到可视化分析的目的,本文将标记好的维奥拉积分进行变值逻辑转换,经测度统计后,转换为二维样本帧. 选择Pn00Pn11两个数值较大、较典型的测度向量,以Pn00x轴,Pn11y轴,将其转换为二维样本帧,分别绘制出其散点图与等高线图,观察其分布特征. 文中算法各参数选取为:滑动窗口值w为20,稳态区间值s为0.925,分段段长m为150. 可视化测度向量选择归一化测度Pn00Pn11和非归一化测度P00P11. 患有ASD和正常人的心音信号二维散点图如图6(a)图6(b)所示,相应的等高线图如图7(a)图7(b)所示. 图6(a)和图6(b)上半部分为经过非归一化后的二维散点图,下半部分为归一化后的二维散点图.

      图  6  ASD信号和正常信号的二维散点图

      Figure 6.  Scatter of ASD signal and normal signal

      图  7  ASD信号和正常信号的等高线图

      Figure 7.  The contour of ASD signal and normal signal

      图6(a)可以看出,房间隔缺损(ASD)的心音信号散点图集中在左下角的位置,而正常人的心音信号散点图则集中在左侧靠近y轴坐标轴的位置. 由于病理性信号在收缩期含有病理性杂音,因此经伪DNA序列转换后的0−1序列中1较多,经过测度统计后绘制的等高线图7(b)中,ASD信号的形状分布较广,范围更宽,且与散点图的分布类似集中在左下角的位置;而正常信号含有较少的杂音,因此绘制出的等高线图分布形状更集中,与散点图类似分布在左侧靠近坐标轴的位置.

      对于后续的机器学习分类器,文中将第1.4.7节测度统计中得到的10个测度向量保存为.csv文件,然后将这10个测度向量作为特征向量输入分类器进行心音分类. 对于深度卷积神经网络,文中将本节得到的二维样本帧作为神经网络的图像输入,将每一类数据按照不同文件夹存放,将其划分好训练集、测试集和验证集后转换为TFrecord文件,送入神经网络进行后续的分类识别.

    • 为了防止由于数据集过小带来模型的过拟合,同时增加足够的数据量并且提高分类的准确率,本文对现有的数据进行数据增强. 具体操作是将已有的图像(二维样本帧)进行水平和垂直翻转,或者对图像进行任意比例的缩放. 本文对图像进行直角旋转,旨在让网络模型学习图像的旋转不变性特征,设置数据增强因子为2,这意味着将原始数据量增加一倍.

    • Inception_Resnet_v2网络是由Google公司在2016年提出来的,其结构主要由Stem模块、Inception-Resnet模块、Recduction模块和Softmax层组成,如图8所示. Inception-Resnet模块是该网络的特征提取模块,为了节省计算资源引入非对称卷积核的方法,将n × n的卷积使用1×nn×1的卷积来代替,在提高运算性能的同时加深了网络深度与非线性. Inception_Resnet_v2是在Inception_v3的基础上引入残差模块,将Inception和Resnet进一步结合,在加深网络深度的同时,避免了由于网络深度过深带来模型的过拟合和梯度下降等问题,同时引入残差模块降低了计算复杂度,增加了分类准确率.

      图  8  Inception_Resnet_v2结构图

      Figure 8.  The structure of Inception_Resnet_v2

    • 实验的训练环境为深度学习开源软件TensorFlow 2.0;硬件环境为:处理器(Inter®Xeon® W-2102 CPU@2.90GHz),显卡(NVIDIA GeForce RTX2080),操作系统为64位Win10. 本文使用的Inception_Resnet_v2模型采用自适应矩估计(Adam)梯度优化算法对权重、偏置进行更新,训练迭代100 epoch,初始学习率设为0.001,当迭代到90次时,将学习率调为0.0001便于网络收敛,batch size =16,输入特征尺寸为299×299.

    • 文中将准确率(Acc)、灵敏度(RTP)和阳性预测值(VPP)作为模型的评价指标,计算公式如下:

      $A_{\rm{cc}} = \frac{{{T_{\rm{P}}} + {T_{\rm{N}}}}}{{{T_{\rm{P}}} + {T_{\rm{N}}} + {F_{\rm{P}}} + {F_{\rm{N}}}}},$

      $R_{\rm{TP}} = \frac{{{T_{\rm{P}}}}}{{{T_{\rm{P}}} + {F_{\rm{N}}}}},$

      $V_{\rm{PP}} = \frac{{{T_{\rm{P}}}}}{{{T_{\rm{P}}} + {F_{\rm{P}}}}},$

      式中,TP为阳性样本预测为阳性的数目,TN为阴性样本预测为阴性负的数目,FN为阳性样本预测为阴性的数目,FP为阴性样本预测为阳性的数目.

    • 文中选取Inception_Resnet_v2模型作为该算法的分类器,Inception_Resnet_v2是在Inception_v3的基础上引入了残差网络跳跃连接的方法,对比目前较主流的CNN、LSTM、Inception等网络,Inception_Resnet_v2在加深网络深度的同时,避免了梯度消失、 梯度爆炸的问题,将卷积核进行分解,进一步提升了计算能力和识别准确率.

      文中的训练集在训练过程中自适应调整神经网络的参数与权重,验证集在训练过程中用来查看训练效果,防止网络产生过拟合,测试集在训练结束后用来测试网络的实际分类效果. 因此,在测试集上对常见的先心病信号进行多分类的实验结果如表2所示. 由表2可知,在对先心病心音信号的分类中, 本算法在测试集上取得了0.931的平均准确率、0.954的平均敏感性和0.967的平均阳性预测值.

      信号RTPAccVPP
      NOR0.9580.9470.972
      VSD0.9640.9330.964
      ASD0.9440.9130.971
      PDA0.9510.9300.961
      平均0.9540.9310.967

      表 2  先心病心音信号多分类结果

      Table 2.  Multi-classification result table of congenital heart disease heart sound signal

      在测试集上使用不同的特征提取方法与文中所用特征提取算法相比的实验结果如表3所示. 表3展示了本文的特征提取算法与传统的特征提取方法相比在对先心病心音信号分类上的有效性. 其中,使用传统的小波技术与MFCC特征提取方法与使用变值逻辑模型作为特征提取方法相比,使用变值逻辑模型算法的准确率增加了0.033和0.039.

      各分类算法RTPAcc
      小波+SVM0.8250.816
      MFCC+SVM[7]0.8300.810
      变值模型+SVM0.9230.849

      表 3  不同特征提取算法对比

      Table 3.  Comparison of different feature extraction algorithms

      使用不同的深度学习模型在相同测试集上的实验结果如表4所示. 表 4展示了使用不同的深度学习模型对信号进行分类的准确率差异较大. 其中相比于轻量级神经网络Mobilenet_v2,本文的准确率增加了0.139;与Inception_v3网络相比较,Inception_Resnet_v2将Inception结构和Resnet结构相结合,在Inception_v3的基础上增加了残差模块,使其准确率进一步增加,本文的准确率增加了0.055. 同时,表4表3对比可知,使用机器学习模型,如SVM作为分类器的算法与本文使用深度学习模型作为分类器的算法相比,本文的准确率上升了0.082.

      网络模型RTPAcc
      Mobilenet_v20.7950.792
      Inception_v30.9060.876
      Resnet_50[20]0.8970.886
      Inception_Resnet_v20.9540.931

      表 4  不同深度学习算法对比

      Table 4.  Comparison of different deep learning algorithms

    • 文章对心音信号进行分析处理,提出了一种基于变值逻辑模型的先心病心音分类算法. 该算法主要分为3个阶段:第1阶段对心音信号进行去噪和包络提取;第2阶段将包络数据进行测度统计,使用变值逻辑模型将其转换为反映心音形态学特征的特征图也即二维样本帧;第3阶段使用深度学习模型,本文选取Inception_Resnet_v2网络将变值逻辑模型提取到的特征图进行图像多分类. 实验结果显示,该算法得到了较高的分类准确率,该算法对常见先心病心音多分类的平均准确率为0.931,平均灵敏度为0.954,平均阳性预测值为0.967. 与传统的机器学习方法相比,本文选用深度学习模型作为分类器,网络层数更深,学习到的特征更加丰富,准确率提升了0.082. 实验结果显示,变值逻辑模型与Inception_Resnet_v2网络结合提高了分类准确率,且该算法是在大样本环境下测试得到,保证了算法的普适性和鲁棒性,有望用于先心病初诊的机器辅助诊断.

参考文献 (20)

目录

    /

    返回文章
    返回