本发明涉及心音信号诊断技术,尤其涉及一种实时心音信号诊断系统及其诊断方法。
背景技术:
随着人口增多,老龄化严重,医疗资源逐渐紧张,而心脏作为人体最重要的器官之一,其健康问题格外引人关注。目前心脏问题的初期诊断通常是通过人工听诊进行确认,而人工听诊的方式受周边环境、听诊器质量、医生经验等多种因素影响,具有较大的不确定性。
现有技术有在云端服务器构建心音诊断的训练数据库,通过对用户上传的心音数据进行诊断算法分析,从而判断心音是否存在异常。但是,这种方式存在较多的缺点。例如:现有方案依赖于用户将数据通过互联网或移动网络传输至云端服务器,云端进行诊断分析后将结果反馈给用户,诊断过程需要依赖网络,网络传输的效率及诊断的耗时,造成实时性不够良好,便捷性不足。另外,若是采集的心音数据在环境噪音较大的情况下,诊断结果的准确性、稳定性都会难以保证。再者,服务器上的算法也不够完善,仅仅只针对上传的声音进行分析,存在很多心音之外的特征混入至算法得到的特征参数集中。
技术实现要素:
本发明为了解决上述现有技术网络诊断不准确的技术问题,提出一种实时心音诊断系统及其诊断方法。
本发明提出的实时心音的诊断方法,包括:
步骤1,接收实时的心音数据并进行分帧处理;
步骤2,逐帧读取所述心音数据进行降噪、滤波处理后缓存;
步骤3,通过第一算法提取缓存的降噪、滤波处理后的所述心音数据的心音包络,并筛选出符合生理特征的心音包络;
步骤4,提取所述符合生理特征的心音包络的特征参数集;
步骤5,将所述心音包络的特征参数集作为输入节点输入至诊断模型,得到诊断结果。
进一步,所述第一算法采用香农包络算法、希尔伯特-黄变换算法或小波变换算法当中的一种。
进一步,通过判断一个心音包络的时间长度是否符合预设时间长度范围来筛选出符合生理特征的心音包络。
进一步,接收的实时的心音数据在分帧处理后采用网页即时通讯技术提供的降噪算法对所述心音数据进行逐帧降噪处理。
进一步,分帧后的每一帧所述心音数据包含至少一个心音。
进一步,所述诊断模型为bpnn神经网络诊断模型,通过从远程服务器获取到的bpnn神经网络参数构建所述bpnn神经网络诊断模型。
进一步,所述bpnn神经网络参数通过以下步骤得到:
采用所述步骤1至步骤4获得样本数据的特征参数集;
为所述样本数据的特征参数集附上对应的病理标签;
将所述特征参数集作为输入节点,对应的病理标签作为输出节点,进行以病理为分类的迭代训练,获得bpnn神经网络参数。
本发明提出的实时心音诊断系统,采用了上述技术方案所述的实时心音的诊断方法进行诊断,该实时心音诊断系统具体包括:
电子听诊器,用于采集所述心音数据;
诊断模块,设置在智能终端上用于接收所述电子听诊器发送的心音数据进行处理后,根据所述诊断模型得到诊断结果;
远程服务器,用于提供所述诊断模型的构建参数。
进一步,所述构建参数包括所述bpnn神经网络参数。
进一步,所述电子听诊器与所述诊断模块之间通过低功耗蓝牙技术进行通讯。
本发明可以解决离线心音智能诊断的准确性问题,针对听诊器录制中出现的各种噪音做了很好的抑制,极大的提升了心音特征参数的有效性和针对性,进而提升了神经网络技术在心音诊断方面的准确率。本发明是通过听诊器采集心音病理信号,通过诊断模块的app进行信号的实时降噪,滤除部分噪音,并进一步的对信号进行高通滤波,滤除60hz以下的高能低频杂讯,让心音频频带凸显。然后将已经处理好的心音数据作为样本数据进行云端收集,再使用香农包络算法进行心音包络的有效性判断,找出一个完整周期的心音片段,使得其中不包含摩擦音或者能量较高的环境噪音,再设置mfcc滤波组的频带范围使其符合心音的频带(60~600hz)进行特征系数提取,进入bpnn神经网络进行深度学习训练,输出相应的构建参数。智能终端可以从服务器上下载这些构建参数,在听诊过程中,由诊断模块的app实时接收电子听诊器的声音采集,并实施降噪滤波处理,获得排除了摩擦音和较强的环境噪音的心音片段,再设置mfcc滤波组的频带范围使其符合心音的频带(60~600hz)进行特征系数提取,结合预置或服务器下发的神经网络参数进行重构bpnn神经网络,进行分类预测,实现离线的智能诊断功能。因此,本发明在诊断时不容易受到网络的限制,同时也能通过网络定期升级更新优化过的神经网络模型参数获得更好的诊断识别率,使得产品能够便利的迭代,提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的整体构架图。
图2为本发明的诊断及模型训练流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于bp神经网络的机器学习算法,通过一种有效的预处理方法,构建心音特征,进行学习训练,不断迭代修正参数,建立一套针对心音给出90%以上准确率的可离线的诊断机制,大大提升了设备使用的便利性和准确性,使得电子听诊器可以广泛的应用在医疗,教学,养老,家用等场景。下面结合附图以及实施例对本发明的原理及结构进行详细说明。
图1给出了本发明的架构框图。本发明的实时心音诊断系统包括电子听诊器、诊断模块和远程服务器。
电子听诊器是心音的采集设备,用于采集用户一段时间内的心脏跳动的声音信号并转化为数字信号数据,通过低功耗蓝牙技术(ble,bluetoothlowenergy)将实时的心音数据传输至智能终端,完成硬件和软件之间的数据交换和通讯。
诊断模块安装在智能终端上,即安装在移动端上,智能终端包括但不限于智能手机、智能手表、平板电脑、笔记本电脑以及台式机等等,诊断模块可以利用智能终端的蓝牙模块来接收电子听诊器的实时的心音数据。诊断模块具体表现形式可以是一个应用程序(app),运行于智能终端,主要用于心音数据处理,包括滤波、降噪、香农包络检测、摩擦音和环境音等排除检测,心音的mfcc特征提取、bpnn神经网络重构、预测及诊断结果反馈等。诊断模块赖以诊断结果反馈的诊断模型,可以是利用智能终端的存储器中存储的构建参数,诊断模块通过构建参数来构建诊断模型进行诊断,本实施例中,构建参数为bpnn神经网络参数,来构建bpnn神经网络诊断模型。
远程服务器,主要用于心音数据存储及诊断模型的训练,随着远程服务器收集的样本数据的扩大,bpnn神经网络模型被不断的训练更新可以进一步提升诊断的准确率,并且可以将得到的数据(如bpnn神经网络参数)分享与医院等机构,从而为用户提供更加专业便捷的远程问诊咨询服务,远程服务器与智能终端可以通过网络连接,从而智能终端可以从远程服务器下载相应的最新的bpnn神经网络参数,从而顺利构建诊断模型。远程服务器还可以为诊断模块提供最新的参数配置。
图2是本发明的实时心音的诊断方法。
过兼容性较好的低功耗蓝牙技术作为音频数据的传输介质,诊断模块接收到电子听诊器发送的实时的心音数据并进行缓存,当缓存的心音数据足够分帧时,诊断模块进行分帧处理,使每一帧心音数据包含至少一个心音(心脏跳动的声音,通常心脏跳动一次产生两次心音s1、s2),即包含至少一个心音s1和/或至少一个心音s2。例如,帧长度可以设定为10ms,方便后续处理。
逐帧读取分帧后的心音数据进行降噪、滤波处理后进行缓存。因为听诊器采集的心音,一般地都包含了各种电路、元器件等引入的噪音和环境中微弱的噪音,诊断模块采用实时降噪算法进行逐帧处理,优选的可以采用网页即时通讯技术提供的降噪算法(也称之为webrtc降噪算法)来处理,可以较好的抑制心音中混杂的噪音。考虑到听诊器获取的心音频率范围在60~600hz,需要对电路中产生的高能低频分量进行高通滤波处理,通过设置合理的滚降系数和高通频点,能有效的抑制60hz以下的声音分量,使得心音凸显,典型的可采用双二阶滤波算法进行逐帧处理后并缓存,具体可以缓存在智能终端的fifo存储器中。
累积到一定时间长度(如1s等),然后对缓存的心音数据进行包络变换,通过第一算法提取缓存的降噪、滤波处理后的心音数据的心音包络,具体的第一算法可以是香农包络算法、希尔伯特-黄变换算法或小波变换算法当中的任意一种。接着筛选出符合生理特征的心音包络,具体是通过对心音包络进行心音的长度识别,典型的一般第一心音s1或第二心音s2的长度不超过200ms,一般听诊器的听诊头产生的摩擦噪音或者较强的环境噪音都会超出这个长度,利用这点来进行心音包络的有效性排查,如果超出200ms,判定为摩擦噪音或者环境噪音,片段丢弃,返回最开始的步骤继续采集实时的心音数据,直到获取的心音数据中的心音包络都是符合生理特征的,才进行后续处理和使用。
提取符合生理特征的心音包络的特征参数集,具体对心音包络进行mfcc算法处理,设置mfcc滤波组的频带范围,典型的设置在60~600hz之间,使其符合心音的生理特征,构建出精准的特征参数集。然后利用智能终端中预置的bpnn神经网络参数或者是从远程服务器更新过来的bpnn神经网络参数,在智能终端上重构bpnn神经网络诊断模型,将提取的mfcc特征参数集作为bpnn神经网络诊断模型的输入节点,得到诊断结果,从而实现心音的病理诊断。
上述是诊断过程,而具体的构建参数是需要远程服务器事先收集足够多的样本数据来进行训练才可以得到。以bpnn神经网络参数为例,远程服务器事先采用相同的方法对样本数据进行分帧处理,逐帧读取对应的心音数据进行降噪、滤波处理后缓存,然后通过第一算法提取缓存的降噪、滤波处理后的心音数据的心音包络,并筛选出符合生理特征的心音包络,接着提取符合生理特征的心音包络的特征参数集,同时为各特征参数集附上对应的病理标签。将这些特征参数集作为输入节点,对应的病理标签作为输出节点,进行以病理为分类的迭代训练,最终来获得bpnn神经网络参数。随着样本数据的不断累积,远程服务器会定期更新bpnn神经网络参数,使得诊断模型的结果越来越准确。
本发明使用ble技术实现电子听诊器与移动端(智能终端)的通信,不仅连接快,而且能耗低。除了蓝牙以外,电子听诊器与移动端之间还可以使用wifi等方式进行通讯。本发明根据心音频率特征设置滤波器组数为60~600之间,能够使mfcc提取的信号特征更加符合专业人士的判断经验。本发明通过实时降噪、实时滤波以及使用香农包络进行实时有效性检测处理,可以提高诊断结果准确性,需要说明的是本发明采用的算法并不限于香农算法,也可以使用希尔伯特-黄变换、小波变换等,香农包络算法只是本发明采用的最佳算法之一。由于诊断模型可以通过构建参数来及时构建,因此在不联网的情况下就可以本地使用bpnn神经网络诊断处理心音数据,便捷快速地提供诊断结果。进一步,通过远程服务器样本数据训练的更新迭代,移动端可以通过网络更新诊断模块相应的参数配置,增加了灵活性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
1.一种实时心音的诊断方法,其特征在于,包括:
步骤1,接收实时的心音数据并进行分帧处理;
步骤2,逐帧读取所述心音数据进行降噪、滤波处理后缓存;
步骤3,通过第一算法提取缓存的降噪、滤波处理后的所述心音数据的心音包络,并筛选出符合生理特征的心音包络;
步骤4,提取所述符合生理特征的心音包络的特征参数集;
步骤5,将所述心音包络的特征参数集作为输入节点输入至诊断模型,得到诊断结果。
2.如权利要求1所述的实时心音的诊断方法,其特征在于,所述第一算法采用香农包络算法、希尔伯特-黄变换算法或小波变换算法当中的一种。
3.如权利要求1所述的实时心音的诊断方法,其特征在于,通过判断一个心音包络的时间长度是否符合预设时间长度范围来筛选出符合生理特征的心音包络。
4.如权利要求1所述的实时心音的诊断方法,其特征在于,接收的实时的心音数据在分帧处理后采用网页即时通讯技术提供的降噪算法对所述心音数据进行逐帧降噪处理。
5.如权利要求1所述的实时心音的诊断方法,其特征在于,分帧后的每一帧所述心音数据包含至少一个心音。
6.如权利要求1至5任意一项所述的实时心音的诊断方法,其特征在于,所述诊断模型为bpnn神经网络诊断模型,通过从远程服务器获取到的bpnn神经网络参数构建所述bpnn神经网络诊断模型。
7.如权利要求6所述的实时心音的诊断方法,其特征在于,所述bpnn神经网络参数通过以下步骤得到:
采用所述步骤1至步骤4获得样本数据的特征参数集;
为所述样本数据的特征参数集附上对应的病理标签;
将所述特征参数集作为输入节点,对应的病理标签作为输出节点,进行以病理为分类的迭代训练,获得bpnn神经网络参数。
8.一种实时心音诊断系统,其特征在于,所述实时心音诊断系统采用如权利要求1至7任意一项所述的实时心音的诊断方法进行诊断,包括:
电子听诊器,用于采集所述心音数据;
诊断模块,设置在智能终端上用于接收所述电子听诊器发送的心音数据进行处理后,根据所述诊断模型得到诊断结果;
远程服务器,用于提供所述诊断模型的构建参数。
9.如权利要求8所述的实时心音诊断系统,其特征在于,所述构建参数包括所述bpnn神经网络参数。
10.如权利要求8所述的实时心音诊断系统,其特征在于,所述电子听诊器与所述诊断模块之间通过低功耗蓝牙技术进行通讯。
技术总结