发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种呼吸音识别方法及系统,通过采用牛顿算法执行对BP神经网络的训练,可极大程度地缩短样本训练的时间,从而提高识别工作效率与准确度。
相应的,本发明提出了一种呼吸音识别方法,所述方法包括:
获取呼吸声训练样本集和呼吸声识别样本;
基于小波分解法对所述呼吸声训练样本集所对应的第一肺音信号特征集以及所述呼吸声识别样本所对应的第二肺音信号特征进行提取;
将所述第一肺音信号特征集导入BP神经网络,并基于牛顿算法对所述BP神经网络进行模型训练;
将所述第二肺音信号特征导入训练后的BP神经网络进行识别,输出所述呼吸声识别样本的分类结果。
可选的,所述获取呼吸声训练样本集和呼吸声识别样本包括:
采集已知类型的呼吸声数据集,并对所述已知类型的呼吸声数据集中的每一个呼吸声数据进行滤波处理,得到呼吸声训练样本集;
采集待识别类型的呼吸声数据,并对所述待识别类型的呼吸声数据进行滤波处理,得到呼吸声识别样本。
可选的,将所述呼吸声训练样本集中的每一个呼吸声训练样本以及所述呼吸声识别样本统称为呼吸声样本,所述呼吸声样本包括人体在吸气状态下的肺声样本、人体在呼气状态下的肺声样本以及人体在间歇状态下的肺声样本。
可选的,所述基于小波分解法对所述呼吸声训练样本集所对应的第一肺音信号特征集以及所述呼吸声识别样本所对应的第二肺音信号特征进行提取包括:
对所述呼吸声训练样本集中的每一个呼吸声训练样本进行时域-频域转换,获取每一个呼吸声训练样本的能量特征,形成所述呼吸声训练样本集所对应的第一肺音信号特征集;
对所述呼吸声识别样本进行时域-频域转换,获取所述呼吸声识别样本所对应的第二肺音信号特征。
可选的,所述将标记后的第一肺音信号特征集导入BP神经网络进行有序性模型训练包括:
将所述第一肺音信号特征集划分为训练特征集和测试特征集;
构建BP神经网络,并将所述训练特征集导入所述BP神经网络,其中所述BP神经网络包括输入层、隐藏层和输出层;
对所述隐藏层的神经元进行稀疏性限制,以及对所述BP神经网络的损失函数进行稀疏局限性优化,获取优化后的BP神经网络;
以预设步长值作为限定条件,基于牛顿算法对所述优化后的BP神经网络的权值参数进行迭代修正,获取结构最优的BP神经网络。
可选的,所述将标记后的第一肺音信号特征集导入BP神经网络进行有序性模型训练还包括:
将所述测试特征集导入所述结构最优的BP神经网络进行识别,并判断输出的分类结果是否符合实际情况;
若是,将所述结构最优的BP神经网络定义为训练后的BP神经网络;
若否,基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新,得到当前结构最优的BP神经网络,并返回将所述测试特征集导入所述当前结构最优的BP神经网络进行识别。
另外,本发明实施例还提供了一种呼吸音识别系统,所述系统包括:
样本获取模块,用于获取呼吸声训练样本集和呼吸声识别样本;
特征提取模块,用于基于小波分解法对所述呼吸声训练样本集所对应的第一肺音信号特征集以及所述呼吸声识别样本所对应的第二肺音信号特征进行提取;
网络训练模块,用于将所述第一肺音信号特征集导入BP神经网络,并基于牛顿算法对所述BP神经网络进行模型训练;
结果识别模块,用于将所述第二肺音信号特征导入训练后的BP神经网络进行识别,输出所述呼吸声识别样本的分类结果。
可选的,所述特征提取模块用于对所述呼吸声训练样本集中的每一个呼吸声训练样本进行时域-频域转换,获取每一个呼吸声训练样本的能量特征,形成所述呼吸声训练样本集所对应的第一肺音信号特征集;以及对所述呼吸声识别样本进行时域-频域转换,获取所述呼吸声识别样本所对应的第二肺音信号特征。
可选的,所述网络训练模块包括依次相连接的数据划分单元、网络构建单元、网络预处理单元和网络训练单元;其中,
所述数据划分单元用于将所述第一肺音信号特征集划分为训练特征集和测试特征集;
所述网络构建单元用于构建BP神经网络,并将所述训练特征集导入所述BP神经网络,其中所述BP神经网络包括输入层、隐藏层和输出层;
所述网络预处理单元用于对所述隐藏层的神经元进行稀疏性限制,以及对所述BP神经网络的损失函数进行稀疏局限性优化,获取优化后的BP神经网络;
所述网络训练单元用于以预设步长值作为限定条件,基于牛顿算法对所述优化后的BP神经网络的权值参数进行迭代修正,获取结构最优的BP神经网络。
可选的,所述网络训练模块还包括网络测试单元,且所述网络测试单元与所述网络训练单元相连接;
所述网络测试单元用于将所述测试特征集导入所述结构最优的BP神经网络进行识别,并判断输出的分类结果是否符合实际情况,相应的判断结果为:若是,将所述结构最优的BP神经网络定义为训练后的BP神经网络;若否,基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新,得到当前结构最优的BP神经网络,并返回将所述测试特征集导入所述当前结构最优的BP神经网络进行识别。
在本发明实施例中,针对BP神经网络的权值参数选取,采用步长取值方式可克服传统随机取值方式中存在的数据覆盖能力不足、无法保证获取到最优解的问题;通过采用牛顿算法执行对BP神经网络的训练,可极大程度地缩短样本训练的时间,同时减少训练样本以有效防止在训练过程中出现过度拟合现象,从而提高识别工作效率与准确度。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1为本发明实施例中的呼吸音识别方法的流程示意图。
如图1所示,一种呼吸音识别方法,所述方法包括如下步骤:
S101、获取呼吸声训练样本集和呼吸声识别样本;
在本发明实施例中,选定电子听诊器为主要的肺音信号采集设备,预先设定该电子听诊器的采样频率与采样时长,且保持其内置蓝牙模块与终端检测设备的正常连接关系,使得该终端检测设备可实现对采集数据的滤波处理以及后续的模型训练与识别。相关的实施过程包括:首先采集已知类型的呼吸声数据集,并对所述已知类型的呼吸声数据集中的每一个呼吸声数据进行滤波处理,得到呼吸声训练样本集,将作为模型训练时的基本数据;其次采集待识别类型的呼吸声数据,并对所述待识别类型的呼吸声数据进行滤波处理,得到呼吸声识别样本,将作为模型正常运行时的测试数据。在此期间,主要采用高通滤波器将每一个呼吸声数据所夹杂的低频环境噪声和低频心音噪声过滤掉。
其中,将所述呼吸声训练样本集中的每一个呼吸声训练样本以及所述呼吸声识别样本统称为呼吸声样本,所述呼吸声样本包括人体在吸气状态下的肺声样本、人体在呼气状态下的肺声样本以及人体在间歇状态下的肺声样本,以便于全面反映出人体健康状况。
S102、基于小波分解法对所述呼吸声训练样本集所对应的第一肺音信号特征集以及所述呼吸声识别样本所对应的第二肺音信号特征进行提取;
本发明实施过程包括:首先对所述呼吸声训练样本集中的每一个呼吸声训练样本进行时域-频域转换,获取每一个呼吸声训练样本的能量特征,形成所述呼吸声训练样本集所对应的第一肺音信号特征集,与此同时对所述第一肺音信号特征集中的每一个肺音信号特征进行医学标记,以直观反映出该肺音信号特征的所属类别;其次对所述呼吸声识别样本进行时域-频域转换,获取所述呼吸声识别样本所对应的第二肺音信号特征。
其中,以从所述呼吸声识别样本中提取出第二肺音信号特征为例进行说明为:
(1)按照技术人员预先设定的各个频带范围,对所述呼吸声识别样本进行n尺度小波分解,获取其中的低频系数Ln和高频系数Hn,Hn-1,...,H1;
(2)根据所述低频系数Ln以及n个高频系数分别进行肺音信号重构,得到各个频带范围所对应的重构信号依次表示为S1,S2,...,Sn,Sn+1;
(3)计算各个频带肺音重构信号的能量值(即时域-频域转换)为:
(4)构造所述呼吸声识别样本所对应的初始特征向量T,并对所述初始特征向量T进行归一化处理,得到第二肺音信号特征T′为:
式中:Sj(t)为第j个重构信号Sj的N个离散点幅值。
S103、将所述第一肺音信号特征集导入BP神经网络,并基于牛顿算法对所述BP神经网络进行模型训练;
本发明实施过程包括:
(1)将所述第一肺音信号特征集划分为训练特征集和测试特征集,且此处的划分依据是技术人员预设的比例值;
(2)构建BP神经网络,并将所述训练特征集导入所述BP神经网络,其中所述BP神经网络包括输入层、隐藏层和输出层,且各层神经元的激励函数采用Sigmoid函数;
(3)对所述隐藏层的神经元进行稀疏性限制,以及对所述BP神经网络的损失函数进行稀疏局限性优化,获取优化后的BP神经网络;
具体的,首先拟定所述隐藏层的第j个神经元的平均活跃度
为:
接着确定目标函数为
并且在对该目标函数的优化过程中加入一个额外的稀疏性惩罚因子为:
此时可使得所述隐藏层中的每一个神经元的平均活跃度与稀疏性参数ρ值之间的差值保持在较小范围内;
最后利用所述稀疏性惩罚因子将所述BP神经网络的损失函数优化更新为:
其中,m为训练次数,
为给定输入向量x
(i)的条件下第j个神经元的激活度,ρ为稀疏性参数,本发明实施例设定为0.003,S2为所述隐藏层中的神经元总数量,L
cross-entropy为初始交叉熵损失函数,β为控制该稀疏性惩罚因子的权重值,
为两个伯努利随机变量之间的相对熵。
(4)以预设步长值作为限定条件,基于牛顿算法对所述优化后的BP神经网络的权值参数进行迭代修正,获取结构最优的BP神经网络。
具体的,根据所述优化后的BP神经网络的权值参数将从区间[-1,+1]内选取一个值,首先设定训练次数N与取值步长L,以及所述优化后的BP神经网络的训练函数为trainlm函数;其次以[-1+(n-1)L]为网络权值,使得所述优化后的BP神经网络对所述输入层给定的输入向量x
(i)进行训练运算,再获取运算得到的网络输出值y
(i)与所述输入层给定的目标输出
之间的偏差量e
n(1≤n≤N),根据n的不同取值重复此步骤,直至得到偏差集e={e
1,e
2,...,e
N};接着从所述偏差集e中筛选出一个最小偏差量,并以所述最小偏差量所对应的网络权值作为最优网络权值,以此确定结构最优的BP神经网络。
(5)将所述测试特征集导入所述结构最优的BP神经网络进行识别,并判断输出的分类结果是否符合实际情况(即分类结果是否与原始记载的医学标记吻合,以达到预设的训练结果),相应的判断结果为:若是,将所述结构最优的BP神经网络定义为训练后的BP神经网络;若否,基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新,得到当前结构最优的BP神经网络,并返回将所述测试特征集导入所述当前结构最优的BP神经网络进行识别,执行新一轮的更新判断。
其中,所述基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新为:
式中,Wij为训练前的BP神经网络中第i个神经元与第j个神经元之间的初始连接系数,W′ij为训练后的BP神经网络中第i个神经元与第j个神经元之间的更新连接系数,第i个神经元属于所述输入层,第j个神经元属于所述隐藏层,ΔWij为偏置系数,lr为学习速率,weight_decay为权重衰减系数,momentum为动量参数,且本发明实施例规定lr取值为0.01、momentum取值为0.09、weight_decay取值为0.0005。
S104、将所述第二肺音信号特征导入训练后的BP神经网络进行识别,输出所述呼吸声识别样本的分类结果。
在本发明实施例中,针对BP神经网络的权值参数选取,采用步长取值方式可克服传统随机取值方式中存在的数据覆盖能力不足、无法保证获取到最优解的问题;通过采用牛顿算法执行对BP神经网络的训练,可极大程度地缩短样本训练的时间,同时减少训练样本以有效防止在训练过程中出现过度拟合现象,从而提高识别工作效率与准确度。
实施例
请参阅图2,图2为本发明实施例中的呼吸音识别系统的组成示意图。
如图2所示,一种呼吸音识别系统,所述系统包括如下:
样本获取模块201,用于获取呼吸声训练样本集和呼吸声识别样本;
在本发明实施例中,选定电子听诊器为主要的肺音信号采集设备,预先设定该电子听诊器的采样频率与采样时长,且保持其内置蓝牙模块与终端检测设备的正常连接关系,使得该终端检测设备可实现对采集数据的滤波处理以及后续的模型训练与识别。相关的实施过程包括:首先采集已知类型的呼吸声数据集,并对所述已知类型的呼吸声数据集中的每一个呼吸声数据进行滤波处理,得到呼吸声训练样本集,将作为模型训练时的基本数据;其次采集待识别类型的呼吸声数据,并对所述待识别类型的呼吸声数据进行滤波处理,得到呼吸声识别样本,将作为模型正常运行时的测试数据。在此期间,主要采用高通滤波器将每一个呼吸声数据所夹杂的低频环境噪声和低频心音噪声过滤掉。
其中,将所述呼吸声训练样本集中的每一个呼吸声训练样本以及所述呼吸声识别样本统称为呼吸声样本,所述呼吸声样本包括人体在吸气状态下的肺声样本、人体在呼气状态下的肺声样本以及人体在间歇状态下的肺声样本,以便于全面反映出人体健康状况。
特征提取模块202,用于基于小波分解法对所述呼吸声训练样本集所对应的第一肺音信号特征集以及所述呼吸声识别样本所对应的第二肺音信号特征进行提取;
更进一步的,所述特征提取模块202用于对所述呼吸声训练样本集中的每一个呼吸声训练样本进行时域-频域转换,获取每一个呼吸声训练样本的能量特征,形成所述呼吸声训练样本集所对应的第一肺音信号特征集;以及对所述呼吸声识别样本进行时域-频域转换,获取所述呼吸声识别样本所对应的第二肺音信号特征。
其中,以从所述呼吸声识别样本中提取出第二肺音信号特征为例进行说明为:
(1)按照技术人员预先设定的各个频带范围,对所述呼吸声识别样本进行n尺度小波分解,获取其中的低频系数Ln和高频系数Hn,Hn-1,...,H1;
(2)根据所述低频系数Ln以及n个高频系数分别进行肺音信号重构,得到各个频带范围所对应的重构信号依次表示为S1,S2,...,Sn,Sn+1;
(3)计算各个频带肺音重构信号的能量值(即时域-频域转换)为:
(4)构造所述呼吸声识别样本所对应的初始特征向量T,并对所述初始特征向量T进行归一化处理,得到第二肺音信号特征T′为:
式中:Sj(t)为第j个重构信号Sj的N个离散点幅值。
网络训练模块203,用于将所述第一肺音信号特征集导入BP神经网络,并基于牛顿算法对所述BP神经网络进行模型训练;
更进一步的,所述网络训练模块203包括依次相连接的数据划分单元、网络构建单元、网络预处理单元、网络训练单元和网络测试单元,其中:
具体的,所述数据划分单元用于将所述第一肺音信号特征集划分为训练特征集和测试特征集,且此处的划分依据是技术人员预设的比例值;
具体的,所述网络构建单元用于构建BP神经网络,并将所述训练特征集导入所述BP神经网络,其中所述BP神经网络包括输入层、隐藏层和输出层,且各层神经元的激励函数采用Sigmoid函数;
具体的,所述网络预处理单元用于对所述隐藏层的神经元进行稀疏性限制,以及对所述BP神经网络的损失函数进行稀疏局限性优化,获取优化后的BP神经网络,相应的实施过程如下:
接着确定目标函数为
并且在对该目标函数的优化过程中加入一个额外的稀疏性惩罚因子为:
此时可使得所述隐藏层中的每一个神经元的平均活跃度与稀疏性参数ρ值之间的差值保持在较小范围内;
最后利用所述稀疏性惩罚因子将所述BP神经网络的损失函数优化更新为:
其中,m为训练次数,
为给定输入向量x
(i)的条件下第j个神经元的激活度,ρ为稀疏性参数,本发明实施例设定为0.003,S2为所述隐藏层中的神经元总数量,L
cross-entropy为初始交叉熵损失函数,β为控制该稀疏性惩罚因子的权重值,
为两个伯努利随机变量之间的相对熵。
具体的,所述网络训练单元用于以预设步长值作为限定条件,基于牛顿算法对所述优化后的BP神经网络的权值参数进行迭代修正,获取结构最优的BP神经网络,相应的实施过程如下:
根据所述优化后的BP神经网络的权值参数将从区间[-1,+1]内选取一个值,首先设定训练次数N与取值步长L,以及所述优化后的BP神经网络的训练函数为trainlm函数;其次以[-1+(n-1)L]为网络权值,使得所述优化后的BP神经网络对所述输入层给定的输入向量x
(i)进行训练运算,再获取运算得到的网络输出值y
(i)与所述输入层给定的目标输出
之间的偏差量e
n(1≤n≤N),根据n的不同取值重复此步骤,直至得到偏差集e={e
1,e
2,...,e
N};接着从所述偏差集e中筛选出一个最小偏差量,并以所述最小偏差量所对应的网络权值作为最优网络权值,以此确定结构最优的BP神经网络。
具体的,所述网络测试单元用于将所述测试特征集导入所述结构最优的BP神经网络进行识别,并判断输出的分类结果是否符合实际情况(即分类结果是否与原始记载的医学标记吻合,以达到预设的训练结果),相应的判断结果为:若是,将所述结构最优的BP神经网络定义为训练后的BP神经网络;若否,基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新,得到当前结构最优的BP神经网络,并返回将所述测试特征集导入所述当前结构最优的BP神经网络进行识别,执行新一轮的更新判断。
其中,所述基于反向传播算法对所述结构最优的BP神经网络进行模型系数更新为:
式中,Wij为训练前的BP神经网络中第i个神经元与第j个神经元之间的初始连接系数,W′ij为训练后的BP神经网络中第i个神经元与第j个神经元之间的更新连接系数,第i个神经元属于所述输入层,第j个神经元属于所述隐藏层,ΔWij为偏置系数,lr为学习速率,weight_decay为权重衰减系数,momentum为动量参数,且本发明实施例规定lr取值为0.01、momentum取值为0.09、weight_decay取值为0.0005。
结果识别模块204,用于将所述第二肺音信号特征导入训练后的BP神经网络进行识别,输出所述呼吸声识别样本的分类结果。
在本发明实施例中,针对BP神经网络的权值参数选取,采用步长取值方式可克服传统随机取值方式中存在的数据覆盖能力不足、无法保证获取到最优解的问题;通过采用牛顿算法执行对BP神经网络的训练,可极大程度地缩短样本训练的时间,同时减少训练样本以有效防止在训练过程中出现过度拟合现象,从而提高识别工作效率与准确度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可存储于一计算机可读存储介质中,存储介质可包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上对本发明实施例所提供的一种呼吸音识别方法及系统进行了详细介绍,本文中采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。