嘈杂环境下的肠鸣音检测方法、装置及系统与流程

文档序号:12609225阅读:500来源:国知局
嘈杂环境下的肠鸣音检测方法、装置及系统与流程

本发明涉及生物医学信号处理技术领域,具体而言,涉及一种嘈杂环境下的肠鸣音检测方法、装置及系统。



背景技术:

肠道是消化器官中最长的管道,主要功能是消化和吸收食物。一旦肠道有异常,就可能会引起消化吸收障碍,以及一系列相关症状。因此,肠道疾病的诊断非常必要。在肠道疾病的诊疗过程中,肠鸣音听诊属于常用的无创检查。

现阶段的诊疗过程中,肠鸣音的采集和辨别主要依赖于医师的人工听诊。肠鸣音的产生来源于肠道的运动,其在时间范围内的出现具有稀疏性,因而对肠鸣音的听诊过程一般需要较长的时间和比较安静的环境。采用传感器采集信号结合计算机辅助分析的方法可以为肠鸣音的采集和辨别提供有力的保障,但是,现有环境中嘈杂的声音信号和患者体腔内的振动信号往往与肠鸣音信号具有相似的波动特性,容易对肠鸣音的采集和辨别形成严重的干扰,导致在嘈杂环境下识别出肠鸣音的准确性较差。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种嘈杂环境下的肠鸣音检测方法、装置及系统,能够提升在嘈杂环境中从采集肠鸣音混合信号识别出肠鸣音信号的准确性。

第一方面,本发明实施例提供了一种嘈杂环境下的肠鸣音检测方法,包括:

通过传感器采集当前用户的肠鸣音混合信号,其中,所述肠鸣音混合信号包括肠鸣音信号和环境干扰信号;

将所述肠鸣音混合信号转换为数字信号;

提取所述数字信号的时频谱特征;

将所述数字信号的时频谱特征输入训练好的卷积神经网络中进行处理,检测出肠鸣音出现的时间点,从而区分所述肠鸣音信号和所述环境干扰信号;其中,所述卷积神经网络的训练过程包括:

通过所述传感器分别采集肠鸣音样本信号和至少一组干扰样本信号;

将所述肠鸣音样本信号和至少一组干扰样本信号均转换成数字样本信号;

提取所述数字样本信号的时频谱特征;

在时频域内,对所述数字样本信号制作信号标签;所述信号标签包括用于标记肠鸣音信号在所述肠鸣音样本信号中出现时间点的肠鸣音标签,和用于标记干扰信号在所述干扰样本信号中出现时间点的干扰标签;

按照所述肠鸣音标签和所述干扰标签从所述数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本;

将所述训练样本对应的数字样本信号的时频谱特征作为训练数据,将所述肠鸣音标签和所述干扰标签作为监督信息,训练用于区分肠鸣音信号和各种干扰信号的卷积神经网络。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,提取所述数字样本信号的时频谱特征包括:

对具有时序的所述数字样本信号进行分帧和加窗;

对加窗后的所述数字样本信号进行快速傅里叶变换,提取功率谱;

采用Gammatone滤波器组对所述功率谱滤波;所述Gammatone滤波器组实现的是一种线性变换,其冲激相应表示为:

gi(t)=Atn-1exp(-2πbit)cos(2πfii),t≥0,1≤i≤N,

其中,A表示调节比例的常数,n表示滤波器级数,bi表示衰减速度,fi表示中心频率,φi表示相位,N表示滤波器个数;针对第i个滤波器,有bi=1.019ERB(fi),其中等效矩形带宽ERB(fi)的表达式为

<mrow> <mi>E</mi> <mi>R</mi> <mi>B</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>24.7</mn> <mo>&times;</mo> <mrow> <mo>(</mo> <mn>4.37</mn> <mo>&times;</mo> <mfrac> <msub> <mi>f</mi> <mi>i</mi> </msub> <mn>1000</mn> </mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

对经过Gammatone滤波器组的滤波后的所述功率谱的系数矩阵进行离散余弦变换,得到Gammatone倒谱系数;

将所述Gammatone倒谱系数作为所述数字样本信号的时频谱特征。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面第二种可能的实施方式,其中,在时频域内对所述数字样本信号制作信号标签包括:

在时频域内对每个时间点对应的所述数字样本信号进行判断;其中,每个时间点对应的所述数字样本信号为所述分帧和加窗后的信号帧;

当当前时间点的所述信号帧中有肠鸣音信号时,为所述信号帧设置肠鸣音标签;当当前时间点的所述信号帧中有干扰信号时,为所述信号帧设置干扰标签;其中,所述肠鸣音标签和所述干扰标签用多维向量表示;

按照所述肠鸣音标签和所述干扰标签从所述数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本包括:按照设置所述肠鸣音标签和所述干扰标签的所述信号帧顺序,从所述数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本。

结合第一方面或第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中:所述卷积神经网络包括输入层、多个隐藏层、全链接层和输出层。所述隐藏层和全链接层都含有自身的参数,所述参数包括权值和偏置;

所述卷积神经网络的的训练过程采用梯度下降法,具体过程包括:

对卷积神经网络进行随机初始化;

开始训练,将所述训练样本和所述信号标签的顺序随机化,每次不重复地随机抽取J个训练样本作为输入样本组成一个样本子集,抽取与所述输入样本对应的信号标签组成一个标签子集,完成在一个所述样本子集所有输入样本上的训练为一轮训练,完成在所有样本子集上的训练为一次训练;

在一轮训练的过程中,所述样本子集内所有的输入样本全部进行前向传播,经过所述卷积神经网络的作用后,在卷积神经网络的输出层与对应的信号标签进行比较,计算输出结果与对应的信号标签之间差异的平方作为平方误差;取得所有输入样本的输出结果与信号标签的平方误差;

在一轮训练的过程中,利用所述平方误差进行反向传播和参数更新,包括:从所述输出层开始,反向依次经过每一层,取得每一层上的等效误差;利用每一层上的等效误差计算所在层上参数的梯度,利用每一层上的梯度更新所在层的参数;

在一次训练的过程中,完成最后一轮训练时,计算所有所述平方误差的平均误差,利用所述平均误差判断所述卷积神经网络是否收敛;在所述平均误差趋于设定的稳定阈值时,确定所述卷积神经网络达到收敛,如果所述卷积神经网络达到收敛则停止训练;否则开始新一次训练,直到训练的次数或时长达到设定阈值时,停止训练;

训练停止后,将当前的卷积神经网络作为训练好的卷积神经网络。

结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述输入样本进行前向传播的具体过程包括:

所述卷积神经网络的输入层对所述输入样本做运算,卷积神经网络的每一层对上一层的输出做运算;

卷积神经网络中第l层的输出为

xl=f(ul) 式(1)

其中f(·)是激活函数,ul=Wlxl-1+bl,xl-1是第l-1层的输出,第l层的输入,Wl和bl分别是第l层的权值和偏置;激活函数采用sigmoid函数或者双曲线正切函数;

计算输出结果与对应的信号标签之间的平方误差包括:针对每一个输入样本,计算由卷积神经网络的输出层得到的输出结果与对应的信号标签之间的平方误差,第j个输入样本的平方误差函数是

其中,K表示所述输出结果和信号标签的维度,表示第j个样本经过卷积神经网络后的输出结果的第k维,表示第j个样本对应的信号标签的第k维。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述反向传播和参数更新具体包括:

将所述输出结果与信号标签的平方误差从所述输出层开始,反向依次传递至卷积神经网络中的每一层,取得每一层上的等效误差;所述等效误差为平方误差对所在层参数的误差变化率,计算公式为

其中,E为输出结果的平方误差,b为卷积神经网络的参数;

输出层上的等效误差为

式中的L代表输出层,运算符号表示逐个元素相乘;yL为输出层的输出结果,tL为输出层的信号标签;

其他层上的等效误差为

利用每一层上的等效误差δl,计算所在层上参数的梯度,得到权值和偏置的梯度分别为:

η为学习率,为不同的参数设置不同的学习率;

利用每一层上参数的梯度更新所在层的参数;在每一层原有的参数上加上所在层参数的梯度得到新的参数。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,在一次训练的过程中,完成最后一轮训练时,计算所有所述平方误差的平均误差,所述平均误差函数为:

其中,J表示一次训练中的样本个数;

在所述平均误差EJ趋于趋于设定的稳定阈值时,确定所述卷积神经网络达到收敛;

如果所述卷积神经网络达到收敛则停止训练;否则开始新一次训练,更新卷积神经网络的参数,逐渐最小化EJ,使所述卷积神经网络的输出结果与对应的信号标签接近。

第二方面,本发明实施例还提供一种嘈杂环境下的肠鸣音检测装置,包括:

卷积神经网络训练模块,用于卷积神经网络的训练,具体训练过程包括:通过传感器分别采集肠鸣音样本信号和至少一组干扰样本信号;将所述肠鸣音样本信号和至少一组干扰样本信号均转换成数字样本信号;提取所述数字样本信号的时频谱特征;在时频域内,对所述数字样本信号制作信号标签;所述信号标签包括用于标记肠鸣音信号在所述肠鸣音样本信号中出现时间点的肠鸣音标签,和用于标记干扰信号在所述干扰样本信号中出现时间点的干扰标签;按照所述肠鸣音标签和所述干扰标签从所述数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本;将所述训练样本对应的数字样本信号的时频谱特征作为训练数据,将所述肠鸣音标签和所述干扰标签作为监督信息,训练用于区分肠鸣音信号和各种干扰信号的卷积神经网络;

信号采集模块,用于通过传感器采集当前用户的肠鸣音混合信号,其中,所述肠鸣音混合信号包括肠鸣音信号和环境干扰信号;

信号转换模块,用于将所述肠鸣音混合信号转换为数字信号,并提取所述数字信号的时频谱特征;

肠鸣音检测模块,用于将所述数字信号的时频谱特征输入所述卷积神经网络训练模块训练好的所述卷积神经网络中进行处理,检测出肠鸣音出现的时间点,从而区分所述肠鸣音信号和所述环境干扰信号。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述卷积神经网络训练模块包括:

信号加窗单元,用于对具有时序的所述数字样本信号进行分帧和加窗;

傅里叶变换单元,用于对加窗后的所述数字样本信号进行快速傅里叶变换,提取功率谱;

Gammatone滤波器组,用于实现一种线性变换,对所述功率谱滤波;所述Gammatone滤波器组的冲激相应表示为:

gi(t)=Atn-1exp(-2πbit)cos(2πfii),t≥0,1≤i≤N,

其中,A表示调节比例的常数,n表示滤波器级数,bi表示衰减速度,fi表示中心频率,φi表示相位,N表示滤波器个数;针对第i个滤波器,有bi=1.019ERB(fi),其中等效矩形带宽ERB(fi)的表达式为

<mrow> <mi>E</mi> <mi>R</mi> <mi>B</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>24.7</mn> <mo>&times;</mo> <mrow> <mo>(</mo> <mn>4.37</mn> <mo>&times;</mo> <mfrac> <msub> <mi>f</mi> <mi>i</mi> </msub> <mn>1000</mn> </mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

离散余弦变换单元,用于对经过Gammatone滤波器组的滤波后的所述功率谱的系数矩阵进行离散余弦变换,得到Gammatone倒谱系数;将所述Gammatone倒谱系数作为所述数字样本信号的时频谱特征。

第三方面,本发明实施例还提供一种嘈杂环境下的肠鸣音检测系统,包括第二方面提供的肠鸣音检测装置和传感器;

所述传感器用于在神经网络训练过程中采集肠鸣音样本信号和至少一组干扰样本信号;在进行肠鸣音检测过程中采集当前用户的肠鸣音混合信号,其中,所述肠鸣音混合信号包括肠鸣音信号和环境干扰信号;并将采集的信号发送至所述肠鸣音检测装置。

本发明实施例所提供的嘈杂环境下的肠鸣音检测方法、装置及系统,利用肠鸣音信号与环境干扰信号的在时频域特征上表现的差异,训练一个卷积神经网络区分肠鸣音和干扰音,可以完成在嘈杂环境中对肠鸣音的检测,有助于提升肠鸣音检测的准确性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的一种嘈杂环境下的肠鸣音检测方法的流程图;

图2示出了本发明实施例所提供的肠鸣音检测方法中,训练卷积神经网络的具体方法的流程图;

图3示出了本发明实施例所提供的肠鸣音检测方法中,卷积神经网络的训练过程的流程图;

图4示出了本发明实施例所提供的肠鸣音检测方法中,卷积神经网络的结构示意图;

图5示出了本发明实施例所提供的一种嘈杂环境下的肠鸣音检测装置的结构示意图;

图6示出了本发明实施例所提供的一种嘈杂环境下的肠鸣音检测系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,肠鸣音的采集和辨别主要依赖于医师的人工听诊,对肠鸣音的听诊过程一般需要较长的时间和比较安静的环境。采用传感器采集信号结合计算机辅助分析的方法可以为诊疗过程提供有力的保障,但是现有环境中的嘈杂语音等干扰信号与肠鸣音信号具有相似的波动特性,容易对肠鸣音的采集和辨别形成严重的干扰。针对这一问题,在嘈杂环境下的肠鸣音检测算法具有重要的意义。

卷积神经网络适用于图像、语音信号处理,通常被用来构建复杂的、高度非线性的相关关系。卷积神经网络的主要特点在于其可以通过有监督的训练过程提取出具有鉴别性质的特征组合形式,多样的特征组合形式被存储在多层次的卷积核中。更进一步,在多层卷积层的共同作用下,可以实现对特征的多层次抽象和组合,从而使多层次卷积核的表达能力更加丰富,扩展了卷积神经网络在有限样本基础上学到的内容的适用性。

利用肠鸣音信号与噪音信号的在时频域特征上表现的差异,训练一个卷积神经网络区分肠鸣音和噪音,可以完成在噪音干扰下对肠鸣音的检测。卷积神经网络可以自发的提取出在特征上用于区分肠鸣音和语音的关键信息,学习结果在时频域内的表现形式与特征的表现形式相近,便于分析和调整。

基于此,本发明提供了一种嘈杂环境下的肠鸣音检测方法、装置及系统,可以滤除环境中的噪音,更清晰的提取和识别肠鸣音,完成在嘈杂环境中对肠鸣音的检测。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种嘈杂环境下的肠鸣音检测方法进行详细介绍,图1示出了本发明实施例所提供的一种嘈杂环境下的肠鸣音检测方法的流程图。如图1所示,该检测方法包括:

步骤S101,通过传感器采集当前用户的肠鸣音混合信号,其中,肠鸣音混合信号包括肠鸣音信号和环境干扰信号;

步骤S102,将上述肠鸣音混合信号转换为数字信号;

步骤S103,提取上述数字信号的时频谱特征;

步骤S104,将数字信号的时频谱特征输入训练好的卷积神经网络中进行处理,检测出肠鸣音出现的时间点,从而区分肠鸣音信号和环境干扰信号。

其中,训练卷积神经网络的具体方法如图2所示,包括如下步骤。

步骤S201,通过传感器分别采集肠鸣音样本信号和至少一组干扰样本信号。

步骤S202,将肠鸣音样本信号和至少一组干扰样本信号均转换成数字样本信号。

步骤S203,提取数字样本信号的时频谱特征。本发明实施例采用的时频谱特征为Gammatone倒谱系数,提取数字样本信号的Gammatone倒谱系数的具体步骤包括:对具有时序的数字样本信号进行分帧和加窗;对每一帧的数字样本信号先补零到N点,N=2i,i为整数,且i≥8;然后,对每一帧的数字样本信号进行加窗或预加重处理,加窗函数采用汉明窗(hamming)或哈宁窗(hanning)。

对加窗后的数字样本信号进行快速傅里叶变换,提取功率谱;

采用Gammatone滤波器组对功率谱滤波;所述Gammatone滤波器组实现的是一种线性变换,其冲激相应表示为:

gi(t)=Atn-1exp(-2πbit)cos(2πfii),t≥0,1≤i≤N,

其中,A表示调节比例的常数,n表示滤波器级数,bi表示衰减速度,fi表示中心频率,φi表示相位,N表示滤波器个数;针对第i个滤波器,有bi=1.019ERB(fi),其中等效矩形带宽ERB(fi)的表达式为

<mrow> <mi>E</mi> <mi>R</mi> <mi>B</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>24.7</mn> <mo>&times;</mo> <mrow> <mo>(</mo> <mn>4.37</mn> <mo>&times;</mo> <mfrac> <msub> <mi>f</mi> <mi>i</mi> </msub> <mn>1000</mn> </mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

对经过Gammatone滤波器组的滤波后的功率谱的系数矩阵进行离散余弦变换,得到Gammatone倒谱系数;Gammatone倒谱系数结合了人耳的听觉特性,是一种听觉滤波特征,低频的分辨率高,高频的分辨率适当压缩。

需要说明的是,经过上述步骤,可以分别得到肠鸣音样本信号c(t)对应的Gammatone倒谱系数C(j)和语音样本信号对应的Gammatone倒谱系数S(j),这两种倒谱系数将作为训练数据用于卷积神经网络的训练。同理,待检测的嘈杂环境下采集到的肠鸣音混合信号通过上述步骤得到的Gammatone倒谱系数,可以作为特征用于肠鸣音出现时间的检测。

步骤S204,在时频域内,对数字样本信号制作信号标签;信号标签包括用于标记肠鸣音信号在肠鸣音样本信号中出现时间点的肠鸣音标签,和用于标记干扰信号在干扰样本信号中出现时间点的干扰标签。该步骤的具体过程包括:

在时频域内对每个时间点对应的数字样本信号进行判断;其中,每个时间点对应的数字样本信号为分帧和加窗后的信号帧;

当当前时间点的信号帧中有肠鸣音信号时,为信号帧设置肠鸣音标签;当当前时间点的信号帧中有干扰信号时,为信号帧设置干扰标签。

其中,肠鸣音标签和干扰标签用多维向量表示。如果只有一组干扰信号,如干扰信号为语音信号,信号标签可以采用二维向量表示,对某一时刻t有[1,0]表示该时刻有肠鸣音出现,[0,1]表示该时刻有语音出现。注意这里的时间索引t不再是具体的采样信号的时间索引,而是经过步骤S203得到的Gammatone倒谱系数的时间顺序索引,即Gammatone倒谱系数中第t帧系数在时间顺序上的时间点。如果具有多组干扰信号,需要解决多分类问题,可以增加标签向量维度,保持向量中元素的取值结果与分类结果的对应关系。

步骤S205,按照肠鸣音标签和干扰标签从数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本。具体过程包括:按照设置肠鸣音标签和干扰标签的信号帧顺序,从数字样本信号中抽取肠鸣音标签信号和各组干扰标签信号作为训练样本。训练样本的形式是连续d帧Gammatone倒谱系数矩阵,该矩阵中心的一帧为带有肠鸣音或语音的倒谱系数。所有训练样本抽取完成后,未被抽取的Gammatone倒谱系数被认为不包含肠鸣音和语音,因此不被用于训练卷积神经网络。被抽取出的样本组成一个训练样本集合,内部的排列顺序仅表示被抽取的顺序,不再对应具体的时间时间点。与之相应的,连续帧顺序的标签中仅标记了肠鸣音和语音出现的标签被抽取出来,组成标签集合,其余标签不被采用。由此,可以得到用于训练卷积神经网络的两类信号样本和相应的标签。同理,对嘈杂环境下采集到的肠鸣音混合信号,也可抽取样本集合。

步骤S206,将训练样本对应的数字样本信号的时频谱特征作为训练数据,将肠鸣音标签和干扰标签作为监督信息,训练用于区分肠鸣音信号和各种干扰信号的卷积神经网络。

所述的卷积神经网络的结构如图4所示,包括输入层、多个隐藏层、全链接层和输出层。隐藏层和全链接层都含有自身的参数,所述参数包括权值和偏置。卷积神经网络的隐藏层包含交替排列的两个卷积层和两个下采样层,卷积层和下采样层都包含自身的权值和偏置。卷积层通过卷积核与输入的卷积计算,每次从输入的块上得到一个输出,通过卷积核在输入上的遍历得到完整的输出。所述的卷积核即为卷积层的权值。下采样层通过设计好的比例系数,对输入进行压缩。

卷积神经网络的的训练过程如图3所示,具体过程包括:

步骤S2061,对卷积神经网络进行随机初始化;除了卷积神经网络的权值和偏置需要初始化外,更为重要的是,需要设定网络深度和卷积核的数量。本实施例中采用的是典型的配置,随着学习任务复杂度的提高和训练样本的增加,可以适当增加网络的深度和卷积核的数量。同时,卷积核的规格也是重要的影响因素,建议设计第一层卷积层内卷积核的边长大于样本时间跨度的一般,这样有利于卷积神经网络习得全局意义的特征表达形式;

步骤S2062,开始训练,将训练样本和信号标签的顺序随机化,每次不重复地随机抽取J个训练样本作为输入样本组成一个样本子集,抽取与输入样本对应的信号标签组成一个标签子集,完成在一个样本子集所有输入样本上的训练为一轮训练,完成在所有样本子集上的训练为一次训练;

步骤S2063,在一轮训练的过程中,样本子集内所有的输入样本全部进行前向传播,经过卷积神经网络的作用后,在卷积神经网络的输出层与对应的信号标签进行比较,计算输出结果与对应的信号标签之间差异的平方作为平方误差;取得所有输入样本的输出结果与信号标签的平方误差;

平方误差代价函数被定义为

<mrow> <msup> <mi>E</mi> <mi>J</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msubsup> <mi>t</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> </mrow>

其中J表示一次训练中的样本个数,K表示输出和标签的维度,表示第j个样本经过卷积神经网络的输出的第k维,表示第j个样本对应的标签的第k维。训练的目标是要更新网络的参数,使得网络输出与标签更接近,也就是最小化EJ。针对其中的一个样本时,则第j个样本的误差函数是

<mrow> <msup> <mi>E</mi> <mi>j</mi> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msubsup> <mi>t</mi> <mi>k</mi> <mi>j</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>.</mo> </mrow>

定义神经网络中第l层的输出为

xl=f(ul)其中ul=Wlxl-1+bl

这里f(·)是激活函数,xl-1是第l-1层的输出,也就是第l层的输入,Wl和bl分别是第l层的权值和偏置。激活函数可以有很多种,一般是sigmoid函数或者双曲线正切函数,sigmoid函数将输出压缩到[0,1],双曲线正切函数将输出压缩到[-1,1]。将训练数据归一化为零均值和方差为1的分布形式,可以在随机梯度下降的过程中增强收敛性。如此就可以实现前向传播,每一层对上一层的输出做运算,经过非线性的激活函数得到输出结果,样本信息被逐层传递,最后的输出结果即是对输入样本是肠鸣音或语音的预测值。

步骤S2064,在一轮训练的过程中,利用平方误差进行反向传播和参数更新,包括:从输出层开始,反向依次经过每一层,取得每一层上的等效误差;利用每一层上的等效误差计算所在层上参数的梯度,利用每一层上的梯度更新所在层的参数;

反向传播和参数更新过程包括:

误差对神经网络参数的变化率被定义为

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <mi>b</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <mi>u</mi> </mrow> </mfrac> <mfrac> <mrow> <mo>&part;</mo> <mi>u</mi> </mrow> <mrow> <mo>&part;</mo> <mi>b</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <mi>u</mi> </mrow> </mfrac> <mo>&CenterDot;</mo> <mn>1</mn> <mo>=</mo> <mi>&delta;</mi> <mo>,</mo> </mrow>

于是输出层上的反向传播为

第L层即输出层,其中的运算符号表示逐个元素相乘,其他层上的反向传播为

通过每一层上的误差变化率δl可以得到各个权值和偏置的梯度

<mrow> <msup> <mi>&Delta;W</mi> <mi>l</mi> </msup> <mo>=</mo> <mo>-</mo> <mi>&eta;</mi> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>W</mi> <mi>l</mi> </msup> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <msup> <mi>&eta;x</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msup> <mrow> <mo>(</mo> <msup> <mi>&delta;</mi> <mi>l</mi> </msup> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> </mrow>

<mrow> <msup> <mi>&Delta;b</mi> <mi>l</mi> </msup> <mo>=</mo> <mo>-</mo> <mi>&eta;</mi> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msup> <mi>b</mi> <mi>l</mi> </msup> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <msup> <mi>&eta;&delta;</mi> <mi>l</mi> </msup> <mo>,</mo> </mrow>

其中的η是学习率,可以为不同的参数设置不同的学习率,利用梯度下降法更新参数时,参数的梯度被加在原有的参数上得到新的参数。

在卷积层的输出是多个输入卷积组合的的结果,可表示为

<mrow> <msubsup> <mi>x</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <munder> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>&Element;</mo> <msub> <mi>M</mi> <mi>j</mi> </msub> </mrow> </munder> <msubsup> <mi>x</mi> <mi>i</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>*</mo> <msubsup> <mi>k</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>l</mi> </msubsup> <mo>+</mo> <msubsup> <mi>b</mi> <mi>j</mi> <mi>l</mi> </msubsup> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中表示第l层上的第j维输出,Mj表示输入集合,表示输入集合中一个具体的输入,表示第l层上联系该输入与第j维输出的权值,表示相应的偏置。卷积层前后与下采样层相连,卷积层上的反向传播和参数更新带有下采样层的逆过程。本发明实施例中的下采样层的权值用表示,下采样因子用n表示,下采样过程即将n×n的块加权平均。误差变化率从下采样层反向传播时,只需要一次与前向传播时参与计算的权值相乘即可得到前面一个卷积层上的误差变化率。根据前述反向传播,可得卷积层上的误差变化率为

其中的up(·)表示上采样计算,就是将一个点上的对象复制到与进行下采样的块大小相同的矩阵中去,这一过程也被称为Kronecker积,可表示为

<mrow> <mi>u</mi> <mi>p</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>&equiv;</mo> <mi>x</mi> <mo>&CircleTimes;</mo> <msub> <mn>1</mn> <mrow> <mi>n</mi> <mo>&times;</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> </mrow>

其中的n就是下采样计算中的因子。于是,可得该卷积层上误差对偏置的变化率

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>,</mo> <mi>v</mi> </mrow> </munder> <msub> <mrow> <mo>(</mo> <msubsup> <mi>&delta;</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <mi>u</mi> <mi>v</mi> </mrow> </msub> <mo>,</mo> </mrow>

其中u,v表示的是前向传播时进行下采样的块所在位置,误差对卷积核的变化率为

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>k</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>l</mi> </msubsup> </mrow> </mfrac> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>,</mo> <mi>v</mi> </mrow> </munder> <msub> <mrow> <mo>(</mo> <msubsup> <mi>&delta;</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <mi>u</mi> <mi>v</mi> </mrow> </msub> <msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>i</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> <mrow> <mi>u</mi> <mi>v</mi> </mrow> </msub> <mo>,</mo> </mrow>

其中是中与卷积核逐元素相乘的块。由此得到的误差对参数的变化率代入反向传播过程中的公式计算参数的梯度,进而更新参数。

下采样层上得到输出为

<mrow> <msubsup> <mi>x</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <msubsup> <mi>&beta;</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mi>d</mi> <mi>o</mi> <mi>w</mi> <mi>n</mi> <mo>(</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> <mo>+</mo> <msubsup> <mi>b</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中down(·)表示下采样计算,在下采样因子n的控制下将输入在两个维度上同时压缩成原有的1/n。当第l+1层为卷积层时,可将矩阵按照行列顺序全部颠倒排列,与进行完全卷积运算,完全卷积的结果再与逐个元素相乘,可以得到所谓完全卷积,是在边界位置上补零之后再卷积,因而可以得到与下采样层输出大小相同的通过可得下采样层上误差对参数的变化率

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>,</mo> <mi>v</mi> </mrow> </munder> <msub> <mrow> <mo>(</mo> <msubsup> <mi>&delta;</mi> <mi>j</mi> <mi>l</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <mi>u</mi> <mi>v</mi> </mrow> </msub> <mo>,</mo> </mrow>

进而可以更新参数。

步骤S2065,在一次训练的过程中,完成最后一轮训练时,计算所有平方误差的平均误差,利用平均误差判断卷积神经网络是否收敛;在平均误差趋于设定的稳定阈值时,确定卷积神经网络达到收敛,如果卷积神经网络达到收敛则停止训练;否则返回步骤S2602,开始新一次训练,直到训练的次数或时长达到设定阈值时,停止训练;

对于收敛条件的选择不是唯一的,平均误差的稳定阈值可以视具体的应用需要确定,也可以通过设定训练的次数来控制训练神经网络的时间。

步骤S2066,训练停止后,将当前的卷积神经网络作为训练好的卷积神经网络。

在其它实施例中,也可以采用其他时频域特征例如幅度谱、功率谱等,具体的处理方法属于公知常识,在此不做赘述。

与上述嘈杂环境下的肠鸣音检测方法相对应,本发明实施例还提供了一种嘈杂环境下的肠鸣音检测装置。如图5所示,该肠鸣音检测装置,包括如下模块:

卷积神经网络训练模块501,用于卷积神经网络的训练,具体训练过程与肠鸣音检测方法中卷积神经网络的训练过程相同,在此不再赘述。

信号采集模块502,用于通过传感器采集当前用户的肠鸣音混合信号;

信号转换模块503,用于将肠鸣音混合信号转换为数字信号,并提取数字信号的时频谱特征;

肠鸣音检测模块504,用于将数字信号的时频谱特征输入卷积神经网络训练模块训练好的卷积神经网络中进行处理,检测出肠鸣音出现的时间点,从而区分肠鸣音信号和环境干扰信号。

其中,卷积神经网络训练模块501包括:

信号加窗单元,用于对具有时序的数字样本信号进行分帧和加窗;

傅里叶变换单元,用于对加窗后的数字样本信号进行快速傅里叶变换,提取功率谱;

Gammatone滤波器组,用于实现一种线性变换,对功率谱滤波;具体实现方法在上述的肠鸣音检测方法已经说明,不再赘述。

离散余弦变换单元,用于对经过Gammatone滤波器组的滤波后的功率谱的系数矩阵进行离散余弦变换,得到Gammatone倒谱系数。

本发明又一实施例还提供了一种嘈杂环境下的肠鸣音检测系统,参见图6所示,包括上述实施例中的肠鸣音检测装置62和传感器64。传感器64用于在神经网络训练过程中采集肠鸣音样本信号和至少一组干扰样本信号;在进行肠鸣音检测过程中采集当前用户的肠鸣音混合信号,其中,肠鸣音混合信号包括肠鸣音信号和环境干扰信号;并将采集的信号发送至肠鸣音检测装置。其中,肠鸣音检测装置62的具体结构可以采用图5所示的结构。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例所提供的嘈杂环境下的肠鸣音检测方法、装置及系统,适用于在嘈杂环境中对肠鸣音的检测,利用肠鸣音信号与环境干扰信号的在时频域特征上表现的差异,可以快速、准确地从多种干扰信号中识别出肠鸣音信号。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1