一种面向癫痫脑电信号识别的智能诊断系统的制作方法

文档序号:12720750阅读:237来源:国知局
一种面向癫痫脑电信号识别的智能诊断系统的制作方法与工艺

本发明属于智能医疗应用领域,具体是一种面向癫痫脑电信号识别的智能诊断系统。



背景技术:

癫痫是由大脑神经元突发性异常过度放电引发的大脑短暂性功能障碍,年发病率较高。脑电图(Electroencephalogram,EEG)信号的检测和识别是诊断癫痫病最为重要的手段。多种特征提取和智能识别的方法已被应用于癫痫脑电信号的识别,主要包括傅里叶变换、小波分解等特征抽取方法和决策树、模糊系统、人工神经网络等分类方法。

Inan等通过离散小波变换(Discrete Wavelet Transform,DWT)和统计方法来提取EEG信号片段中的特征量,并用自适应神经模糊推理系统构造了分类器。Aslan等将径向基函数神经网络用在癫痫EEG信号的分类识别中。径向基函数(Radial Basis Function,RBF)神经网络具有一般神经网络的优点,如很强的非线性拟合能力及鲁棒性,此外,它还具有全局最佳逼近特性,不存在局部极小问题。但径向基函数神经网络的不足是其可解释性差,不易解释其推理过程和依据,因而不够透明。Polat等采用基于决策树和快速傅里叶变换的混合模型来对EEG信号进行分类。决策树分类器的优势正在于其可解释性和透明性,易于理解。然而,决策树是层次结构的,不可避免地存在自上而下的误差积累,即如果在某个节点上发生了分类错误,则会把错误延续到后续节点上。为了降低积累的误差,应当优先使用可靠性强的分类器,即先做把握大性的决策。在癫痫脑电信号识别和诊断过程中,这有益于降低误诊率。

很多研究者针对癫痫脑电信号识别或涉及智能医疗应用领域而设计的算法,都有MATLAB的实现版。这意味着,这些算法的执行都要依赖于MATLAB环境。但是,在PC端部署MATLAB是昂贵的,导致这些算法的应用在实际生产环境中受阻。通常的应对方案包括:1)采用其他语言重写算法;2)利用MATLAB自带的编译器将实现的算法编译为其他语言版本;3)在服务器上部署MATLAB上。上述方案各有利弊,其中将MATLAB部署在服务器上的方案,是无需将MATLAB代码转化为其他语言版本的,可以直接利用现有的MATLAB代码,较为便捷。



技术实现要素:

针对上述问题,本发明实现了一种面向癫痫脑电信号识别的智能诊断系统,其特征在于:它包括后台的一套脑电数字信号处理程序和一个可视化的客户端操作界面;所述的后台的一套脑电数字信号处理程序,其特征提取模块利用离散小波变换和统计方法来提取原始脑电信号片段中的特征量,其模型训练模块利用径向基函数神经网络和最小最大概率机构建可靠的癫痫诊断模型,其训练好的诊断模块利用径向基函数神经网络和分类决策树对新输入的脑电信号做出诊断;所述可视化的客户端操作界面,其数据读取模块负责读取原始脑电信号片段数据,其数据通信模块负责向后台发起请求、发送数据信息,等待接收后台的响应和数据信息,其数据呈现模块负责以图表的方式显示原始脑电信号片段和提取的脑电信号特征量,最终显示后台返回的诊断结果。

所述的后台的一套脑电数字信号处理程序依赖于MATLAB环境来执行,可部署在远程服务器或本地计算机上;所述的一个可视化的客户端操作界面安装在PC端,独立于所述的后台的一套脑电数字信号处理程序;所述的后台的一套脑电数字信号处理程序和所述的一个可视化的客户端操作界面通过网络或进程间通信实现数据信息的交换。

所述的后台的一套脑电数字信号处理程序,其特征提取模块利用离散小波变换和统计方法来提取原始脑电信号片段中的特征量;首先通过离散小波变换,将原始脑电信号层层分解,得到各层小波的近似系数带和细节系数带;再从各层小波细节系数带和最后一层的近似系数带中统计得到每个系数带的最大值、最小值、均值和标准差作为提取到的特征量。

所述的后台的一套脑电数字信号处理程序,其模型训练模块利用径向基函数神经网络和最小最大概率机构建可靠的癫痫诊断模型,具体步骤为:1)利用离散小波变换和统计方法从大量已知癫痫诊断结果的脑电信号片段中提取特征量,得到训练样本集;2)为训练过程制定验证策略,为神经元个数等超参数制定参数寻优的网格范围;3)按验证策略划分出训练集和验证集,并从参数网格中取出一组超参数;4)利用模糊C均值聚类算法确定各径向基函数的中心和宽度;5)训练样本通过径向基函数网络,统一地映射到新的特征空间中;6)按照“一对一”的策略,利用最小最大概率机训练出各二元分类器;7)将得到的多个二元分类器构造成分类决策树,得到癫痫诊断模型;8)验证所得模型的有效性,重复步骤3)~8),直至找到最佳的参数组合;9)完整地对步骤1)得到的训练样本集进行训练,构建出可靠的癫痫诊断模型。

所述步骤7)中,采用排除法来构建分类决策树,并充分利用到了最小最大概率机中的分类正确概率下界指标α,保证可靠性更好的二元分类器排在前面,具体步骤为:(1)设有M类,记C(i:j)表示第i类对第j类所得二元分类器,α(i:j)表示与之对应的α指标;将α最大的分类器作为分类树的根节点;(2)假设当前节点所用分类器为C(i:j),若分类结果为样本不属于第i类,则其子节点可用分类器集合为排除了所有与i有关的二分类器集合C=C\i,然后采用的分类器为C中与j有关的α指标最大者;若分类结果为样本不属于第j类,则其子节点可用分类器集合为排除了所有与j有关的二分类器集合C=C\j,然后采用的分类器为C中与i有关的α指标最大者;重复此步骤,直至用尽所有M(M-1)/2个分类器,构造出一棵M层的完全二叉树,其叶节点即为各类的类标签。

所述的后台的一套脑电数字信号处理程序,其训练好的诊断模块利用径向基函数神经网络和分类决策树对新输入的脑电信号做出诊断,具体步骤为:1)通过网络或进程间通信,从客户端接收到固定格式的原始脑电信号片段;2)利用离散小波变换和统计方法从原始脑电信号片段中提取特征量,输入到径向基函数神经网络中;3)输入的特征量通过构造好的径向基函数神经网络的作用转化到新的特征空间中;4)转化后的数据通过构造好的最小最大概率分类树,按照排除法,一层一层往下,经历多次比较,由根节点到达叶节点,获得最终的类标签,即得到诊断结果。

所述的可视化的客户端操作界面,包括数据读取模块、数据通信模块和数据呈现模块,具体步骤为:1)使用数据读取模块读取本地磁盘上的固定格式的一个或一组原始脑电信号片段的数据;2)选中其中一段原始脑电信号,其波形图将由数据呈现模块绘制出来;3)数据通信模块向后台发起请求和发送固定格式的原始脑电信号片段数据;4)数据通信模块拿到后台返回的数据处理和诊断的结果,交给数据呈现模块;5)数据呈现模块绘制离散小波变换得到的系数带、显示提取到的特征量和最终的诊断结果。

所述的可视化的客户端操作界面,独立于所述的后台的一套脑电数字信号处理程序,通过网络或进程间通信实现数据信息的交换,具体步骤为:1)本地未安装MATLAB或未正确配置MATLAB环境时,所述数据通信模块选择网络通信,向指定的远程服务器发起请求和发送数据,等待远程服务器的响应(在远程服务器上启动一个MATLAB进程,完成计算,返回结果);2)本地安装有MATLAB且正确配置了MATLAB环境时,所述数据通信模块选择进程间通信,在本地启动一个MATLAB进程,完成计算,返回结果。

本发明的优点包括:1)离散小波变换和统计方法有效提取到了EEG信号片段的特征量,径向基函数神经网络保证了模型的非线性处理能力,充分利用最小最大概率机中的分类正确概率下界指标α所构造的分类决策树降低了积累的误差,在癫痫脑电信号识别和诊断过程中,有益于降低误诊率,整体的可解释性更好,推理过程清晰;2)后台程序复用MATLAB代码,一定程度降低了开发成本,本地MATLAB可用时,又可发挥本地计算机的计算能力,在离线状态下亦可工作。

附图说明

图1是本发明一种面向癫痫脑电信号识别的智能诊断系统的结构示意图;

图2是特征提取时离散小波分解过程的示意图;

图3是不同状态下原始脑电信号片段的波形图;

图4是与图3对应的离散小波分解的结果图;

图5是训练模块训练得到的径向基最小最大概率分类树的模型图;

图6是基于Electron实现的可视化的客户端操作界面。左侧面板用于导入和显示固定数据,右侧的面板显示了原始脑电信号片段的波形图、离散小波变换后的结果等。表格中列出了从小波系数中提取到的20维数据特征,诊断报告显示了诊断结果,即脑电信号正常、可疑、异常的可能性。

具体实施方式

下面结合附图和实施例对本发明进行详细的描述。

如图1所示,本发明的一种面向癫痫脑电信号识别的智能诊断系统,包括后台的一套脑电数字信号处理程序和一个可视化的客户端操作界面;所述的后台的一套脑电数字信号处理程序,其特征提取模块利用离散小波变换和统计方法来提取原始脑电信号片段中的特征量,其模型训练模块利用径向基函数神经网络和最小最大概率机构建可靠的癫痫诊断模型,其训练好的诊断模块利用径向基函数神经网络和分类决策树对新输入的脑电信号做出诊断;所述可视化的客户端操作界面,其数据读取模块负责读取原始脑电信号片段数据,其数据通信模块负责向后台发起请求、发送数据信息,等待接收后台的响应和数据信息,其数据呈现模块负责以图表的方式显示原始脑电信号片段和提取的脑电信号特征量,最终显示后台返回的诊断结果。

上述后台的一套脑电数字信号处理程序,通过编写好的C++程序调用MATLAB来执行编写好的MATLAB表达式和算法函数(包括特征提取、分类器算法)。这些算法函数以MATLAB的.m文件为存储方式存储在后台的磁盘中。因此这一套脑电数字信号处理程序依赖于MATLAB环境来执行。为此,需在运行后台程序的计算机上安装有MATLAB,可选择部署在远程服务器上,亦可选择部署在本地计算机上。

上述可视化的客户端操作界面可安装在PC端,它是独立于上述后台的一套脑电数字信号处理程序的。一方面它可以在本地启动一个后台进程调用本地的MATLAB,通过进程间通信实现数据信息的交换;另一方面,可通过网络与远程服务器建立连接。

上述后台程序的特征提取模块利用离散小波变换和统计方法来提取原始脑电信号片段中的特征量。如图2所示,可采用2阶Daubechies小波,将EEG信号片段x分解成了4层。首先,分解x得到第1层小波的近似系数cA1(低频分量)和细节系数cD1(高频分量),然后,进一步分解cA1,得到cA2和cD2,以此类推,即得到5个子带。设cA0=x,各层系数的长度为:

其中0<j=i+1,2即为阶数。在此基础上,每个子带的最大值、最小值、均值和标准差被统计出来,得到20维的特征向量。

上述后台程序的模型训练模块利用径向基函数神经网络和最小最大概率机构建可靠的癫痫诊断模型,具体步骤为:

1)利用离散小波变换和统计方法从大量已知癫痫诊断结果的脑电信号片段中提取特征量,得到训练样本集。

2)为训练过程制定验证策略,如10-折交叉验证,留一法等;为神经元个数等超参数制定参数寻优的网格范围,如神经元个数∈{4,9,16,...,100}。

3)按验证策略划分出训练集和验证集,并从参数网格中取出一组超参数。

4)利用模糊C均值(Fuzzy C-Means,FCM)聚类算法确定各径向基函数的中心和宽度,具体是:用FCM[算法对输入的训练集进行聚类求得划分矩阵U=[uik]∈RN×K,其中uik∈[0,1]表示第i个输入数据xi=[xi1xi2…xid]T隶属于第k类的程度,进而径向基函数中的中心和宽度分量可按式(2)计算:

式(4)中h是一个待寻优的超参数。

5)训练样本通过径向基函数网络,统一地映射到新的特征空间中。一般常取高斯型函数作为径向基函数,第k个神经元的径向基函数即为

6)按照“一对一”的策略,利用最小最大概率机训练出各二元分类器。最小最大概率机的目标函数为:

其中,此处即为径向基函数网络的输出值,表示当条件为服从均值和协方差分别为概率的下确界,α就表示分类正确概率的下界。通过一系列等价转化,最后可用迭代最小二乘法求得式()的最优解。

7)将得到的多个二元分类器构造成分类决策树,得到癫痫诊断模型。采用排除法来构建分类决策树,并充分利用到了最小最大概率机中的分类正确概率下界指标α,保证可靠性更好的二元分类器排在前面,具体步骤为:(1)设有M类,记C(i:j)表示第i类对第j类所得二元分类器,α(i:j)表示与之对应的α指标;将α最大的分类器作为分类树的根节点;(2)假设当前节点所用分类器为C(i:j),若分类结果为样本不属于第i类,则其子节点可用分类器集合为排除了所有与i有关的二分类器集合C=C\i,然后采用的分类器为C中与j有关的α指标最大者;若分类结果为样本不属于第j类,则其子节点可用分类器集合为排除了所有与j有关的二分类器集合C=C\j,然后采用的分类器为C中与i有关的α指标最大者;重复此步骤,直至用尽所有M(M-1)/2个分类器,构造出一棵M层的完全二叉树,其叶节点即为各类的类标签。

8)验证所得模型的有效性,重复步骤3)~8),直至找到最佳的参数组合;

9)利用寻得的最优参数组合,完整地对步骤1)得到的训练样本集进行训练,构建出可靠的癫痫诊断模型,称为径向基最小最大概率分类树(Radial Basis Minimax Probability Classification Tree,RB-MP-CT),如图5所示。

上述后台中训练好的诊断模块,利用径向基函数神经网络和分类决策树对新输入的脑电信号做出诊断,具体步骤为:

1)通过网络或进程间通信,从客户端接收到固定格式的原始脑电信号片段;

2)利用离散小波变换和统计方法从原始脑电信号片段中提取特征量,输入到径向基函数神经网络中;

3)输入的特征量通过构造好的径向基函数神经网络的作用转化到新的特征空间中;

4)转化后的数据通过构造好的最小最大概率分类树,按照排除法,一层一层往下,经历多次比较,由根节点到达叶节点,获得最终的类标签,即得到诊断结果。

上述可视化的客户端操作界面,包括数据读取模块、数据通信模块和数据呈现模块,具体步骤为:

1)使用数据读取模块读取本地磁盘上的固定格式的一个或一组原始脑电信号片段的数据;

2)选中其中一段原始脑电信号,其波形图将由数据呈现模块绘制出来;

3)数据通信模块向后台发起请求和发送固定格式的原始脑电信号片段数据;

4)数据通信模块拿到后台返回的数据处理和诊断的结果,交给数据呈现模块;

5)数据呈现模块绘制离散小波变换得到的系数带、显示提取到的特征量和最终的诊断结果。

上述可视化的客户端操作界面,独立于所述的后台的一套脑电数字信号处理程序,通过网络或进程间通信实现数据信息的交换,具体步骤为:

1)检测到本地未安装MATLAB或未正确配置MATLAB环境时,所述数据通信模块选择网络通信,向指定的远程服务器发起请求和发送数据,等待远程服务器的响应(在远程服务器上启动一个MATLAB进程,完成计算,返回结果);

2)检测到本地安装有MATLAB且正确配置了MATLAB环境时,所述数据通信模块选择进程间通信,在本地启动一个MATLAB进程,完成计算,返回结果。

实施例1

按照训练模块的实施方式,针对德国波恩大学提供的癫痫EEG信号数据完成实施例。该数据集分为5组,每组数据包含100个23.6s长度,采样频率为173.61Hz的EEG信号片段(4097个采样点)。各组数据的具体情况如表1所示。图3表示的是各组数据中第1个完整EEG信号片段的波形(即A001,B001,C001,D001和E001)。如图2所示,按特征提取模块的实施方式,采用2阶Daubechies小波,将长为4097的EEG信号片段x分解成了4层。

图4表示的是各组数据中第1个完整EEG信号片段经离散小波变换得到的系数带。

表1 EEG数据集的组成和描述

我们的目标是将健康和患病的EEG信号分作2类。按照训练模块的实施方式实施后,我们得到的分类树只有一个根节点和两个叶节点。表2显示了最优参数组合下5折交叉验证的平均结果。由于较易区分健康和患病的这两种EEG信号,RB-MP-CT和MLPNN、RBFNN都取得了0.96以上的诊断精度。

表2实施例1中各算法性能指标

实施例2

同实施例1基本相似,将目标调整为:将每一组EEG信号分作一类,即有5类。我们得到的诊断模型如图5所示。在分5类时,由于较难区分A组和B组EEG信号、较难区分C组和D组EEG信号,RB-MP-CT取得的诊断精度为0.8120,结果略好于MLPNN,明显好于DT等,如表3所示。由于决策阶段采用了分类树结构,所以RB-MP-CT显得简洁高效,图5显示只需4次比较即可判定类别。相比传统的DT算法,RB-MP-CT结合了RBF神经网络,因而拥有更好的非线性逼近能力和泛化性能。由于优先选用α指标大的分类器,最大程度降低了积累误差。

表3实施例2中各算法性能指标

实施例3

训练模块同实施例1基本相似,但特征提取模块取长为256的EEG信号片段作为输入,目标是识别出信号正常(AB)、可疑(CD)或异常(E)。结合实施例1和实施例2,可以看到α指标的大小同各类的敏感度、特异度是存在关联的,而敏感度和特异度与医疗诊断中的漏诊率和误诊率是密切相关的。在使用决策树分类时,优先选用α指标大的分类器的意义正在于降低积累误差。显然E组信号是较易识别的(指标大、特异度高、误诊率低),因而可以先将异常信号(E)区分开来,而后再进一步诊断信号是正常的(AB)还是可疑的(CD)。

将训练好的模型(.mat文件)、特征提取和诊断模块用的程序(包括exe和.m文件)保存在后台指定目录下。基于Electron,也即Chromium和Node.js,实现可视化的客户端操作界面,如图6所示。其使用方式为:

1)运行此应用,首先检测本地是否安装有MATLAB且正确配置了环境。

2)点击导入按钮导入存有脑电数字信号片段的CSV格式文件中的数据。

3)各条信号片段分页显示在左侧面板中。

4)点击选中一段信号,右侧面板显示这段信号的波形图,横标为时间(256/173.6Hz≈1.5s),纵坐标为电压值。信号正常时波动较小,信号异常时波动较大。

5)向后台发出请求,并发送该段脑电信号数据。根据本地MATLAB环境配置情况,选择在本地启动子进程调用MATLAB,或将数据提交给远程服务器处理。

6)后台依赖MATLAB调用特征提取模块提取该段脑电信号的特征、调用诊断模块完成诊断,返回结果。

7)客户端界面接收到返回的结果,在右侧面板显示该段信号经离散小波变换后的结果和提出到20维数据特征。它包含五个系数子带,即A4、D4~D1,每个子带对应有最大值、最小值、均值和标准差。同时,在右侧面板中显示诊断报告,即返回结果中的信号正常、可疑、异常的可能性为多大。

8)继续在左侧面板中点选其他信号片段,查看结果。

上述各实施例仅用于说明本发明,其中各模块的参数、方法步骤都是可以有所选择和变化的,凡是在本发明技术方案的基础上进行的等同变换和修改,均不应排除在本发明的保护范围之外。

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