电子科技大学《基于深度学习的呼吸应肺病听诊研究与应用》
ps:估计是 呼吸音 而不是 呼吸应
顺着文章简单梳理一下思路:
摘 要
1.研究内容:呼吸音
传统研究呼吸音的方法是听诊器,而现在研究呼吸音的方法是深度神经网络
2.研究难点:
a.目前最大的呼吸数据集是ICBHI,仅920条音频模型太少
b.传统的CNN模型不能很好利用呼吸音的时间特征
3.解决办法:
a.改良呼吸音特征提取与优化过程:
b.融合CNN-RNN网络提出一个新的网络模型
c.迁移学习以解决样本量不足的问题
d.基于HTML开发Web服务,将b中提到的模型应用其中以实现 用户上传呼吸音频并返回诊断结果 的功能
第一章 绪论
介绍了一些社会背景、国内外研究现状、本科的主要工作内容
主要工作内容:
1.特征提取与特征优化
2.提出一个新的网络模型
3.利用迁移学习解决样本量小的问题
4.对网络模型利用Time Pooling层进行拼接,以提高网络模型的泛化能力
5.验证提出的算法(整个方法)是否适用于呼吸音
a.验证对呼吸音的去噪和优化效果:比较有无音频去噪 和 比较有无特征优化剪切
b.验证网络性能:比较该网络与GRU和LSTM等网络在训练层的性能
c.验证迁移学习:比较该数据集与两种不同数据集(共三个数据集)的迁移学习和不迁移学习的模型
d.将本文提出的模型与其他模型相比较
6.基于HTML开发Web服务,将模型应用,以实现 用户上传呼吸音频并返回诊断结果 的功能
第二章 相关理论概述
1.肺部听诊知识
2.呼吸音种类:气管呼吸音、支气管呼吸音、囊状呼吸音
3.呼吸异常声音:喘鸣音(Wheezes)、干啰音(Rhonchi)、爆裂音(Crackles)、支气管音(Bronchial)
4.音频特征提取:(盗图)
Step1.预加重(作用:弥补高频信号衰减,我感觉就是横坐标频率不变,纵坐标能量变大了)
Step2.分帧加窗 (音频宏观上不稳定,但分的很细一小段时间间隔如几十ms(这被称为帧)就可以看作稳定的),划分有帧,帧移等概念
Step3.离散傅里叶变换DFT (将每个时间窗口内的数据从时域变频域),也有用FFT的,可以理解为FFT就是DFT的简便方法
Step4.梅尔滤波器
首先,利用N个三角形滤波器组,将上一步的功率谱波形滤波得到N个输出功率谱波形
然后,利用图1公式计算进而得到N个 对数功率谱 以模仿人耳感知。
接着,对N个 对数能量 进行离散余弦变换DCT 得到N个梅尔频率倒谱(MFCC)系数(图2)
图 1
图 2
小波变换、声谱图提取
5.分类算法
a.卷积神经网络(其中的最大池化更常用)
b.循环神经网络
第三章 呼吸音数据特征的构建
1.呼吸音数据库的介绍
(可以看上一篇文章)
每个病人的 呼吸的声音 和 疾病 都分别做好了标注
2.因为数据集
a.可能混入环境导致质量不好,所以本文选取了390个(原920个呼吸音样本)
b.数据集中选用了4个设备,但有3个设备的数据量过小因此可以淘汰,避免对结果造成影响
c.共有8种症状(含健康),其中有4种症状样本太少所以淘汰。所以,本文只有上呼吸道感染,健康,慢性阻塞性肺病,支气管扩张共四类
3.对呼吸音进行去噪
a.滤波和小波变换
b.数据切片(固定为10s,并且至少有两个呼吸周期)
c.MFC特征提取
d.GradCam特征优化:提升模型对特征图中关键部分的敏感度
第四章 基于深度学习的呼吸音肺病识别模型
1.迁移学习:将模型在某些方面的领域(源域)所训练学习到的能力 迁移到 另外的领域(目标域)。因此,模型对目标域识别的时候,也可以借鉴在源域所学到的知识,以达到更好的效果。
以本文为例,呼吸音的数据过少,所以可以采用源域训练数据(如Audioset数据集)。本文中用源域训练出模型后,复制某几层参数(选取层数规则不一),其余层使用目标数据,最终构建模型。
2.Audioset数据集
3.基于VGGish的CNN-RNN模型
利用源域在 左侧流程 进行训练VGGish,然后参数传递到 右侧流程 再对 目标域 训练和学习
其中,Time Pooling将VGGish和BiLSTM的输出整合,提高模型的泛化能力
图3 图4
图5
图3是VGGish的结构图
图4是VGGish参数传递图
图5是BiLSTM的结构图
最后通过TimePooling拼接,输出4分类
第五章 实验结果及对比分析
首先,将上文提出的模型算法简称为VGGish-BiLSTM
最后4类病分类准确率大概都在70~90%,总体准确率为83.6%
对比1 未去噪(原来是去噪的)
准确率 79.95%
对比2 未进行特征优化(原来是特征优化的)
准确率79.08%
对比3 未根据呼吸周期剪切(原来是根据呼吸周期剪切的)
准确率82.21%
对比4 把BiLSTM结构分别替换为LSTM、GRU、BiGRU
LSTM准确率77.18%
GRU准确率78.8%
BiGRU准确率81.52%
对比5 无迁移学习(原来是有迁移学习的) 和 迁移学习的源域是GTZAN数据集
无迁移学习准确率70.18%
GTZAN准确率65.73%(这证明了Audio set对呼吸音的数据集有积极的作用,而GTZAN由于和呼吸音相关性差进而导致了消极的作用)
对比6 传统呼吸音分类算法
对比7 VGGish与其他结构实验比较
对比8 与2020年提出的CRNN算法比较
第六章是服务应用,不做解读