发明内容
本发明提供一种基于神经网络的尿液中有形成分识别分类方法,以解决现有技术难以从拍摄的尿液样本图像中高精度且假阳率低地识别出各类有形成分的问题。本发明采取的技术方案是包括下列步骤:
(一)利用尿沉渣检验设备中的流动式显微系统拍摄尿液样本图像,并将图像传送到尿沉渣图像工作站内存中;
在拍摄过程中,尿液标本在上下层鞘液的包裹下进入流动池,双层鞘流液包裹在尿液标本的外周,而尿液内有形成分会以单层颗粒的厚度高速通过流动池内的拍摄区域,同时显微采集系统中的CCD进行高速拍摄,并将电子信号转换成数字信号,其值范围在[0,255]之间,然后将采集的图像并传输到尿沉渣工作站计算系统中;
(二)分割步骤一中拍摄图像内的尿液有形成分微粒图像,分割具体步骤:
(1)对每幅图像进行边缘检测:
其中f:表示灰度图像,S:表示梯度模板;G:表示梯度图像;其中边缘检测可以采用的梯度模板有:Sobel算子、Robert算子;
(2)针对梯度图像G选定一个阈值T,然后采用区域生长算法分割图像中的目标图像;其中阈值选定可以采用有:大津率方法、迭代法或最小误差法;
(三)计算步骤二中分割的有形成分微粒图像的形状和纹理特征向量,作为智能神经网络的输入;
(1)图像二值化:根据步骤二中确定的阈值T,进行图像二值化,得到微粒图像的二值化图像,
(2)形状特征提取:跟踪有形成分微粒目标边界点并编辑成链码,利用链码计算微粒图像的面积、圆形度、矩形度和伸展度等形状特征;
在微粒目标区域中,有一部分像素点满足以下条件:邻域内有一部分像素点属于微粒目标,另一部分属于背景,这样的点就是边缘点,进行边界跟踪提取边缘点形成链码;首先按从上到下,从左到右的顺序搜索找到的第一个边界点,这个点一定是最左上方的边界点,记为A;它的右,右下,下,左下四个邻点中至少有一个边界点,记为B,从B开始找,按右,右上,上,左上,左,左下,下、右下的顺序找相邻点中的边界点C.如果C点就是A点,则表明已经转了一圈,程序结束,否则从C点继续找,直到找到A为止;判断是不是边界点很容易:如果它的上下左右四个邻居都是目标点则不是边界点,否则是边界点;
(3)纹理特征提取:纹理特征的提取是基于灰度共生矩阵,灰度共生矩阵就是从N×N的图像f(x,y)的灰度为i的像素出发,统计与其距离为δ,灰度为j的像素同时出现的概率p(i,j,δ,θ);根据灰度共生矩阵计算水平方向和垂直方向的二阶矩、对比度和熵三个纹理特征;
(四)接受待识别有形成分微粒图像的特征向量,进行归一化到【0,1】范围内,输入已经训练好的智能神经网络进行识别;在这里采用改进型对向传播神经网络(CP),它是Kohonen特征映射网络与Grossberg基本竞争网络相结合、发挥各自特征的一种特征映射网络;网络的基本思想是,由输入层到竞争层,网络按SOM学习规则产生竞争层的获胜神经元,并按照这一规则调整相应输入层到竞争层的连接权;由竞争层到输出层,网络按照基本竞争层型网络学习规则,得到各输出神经元的实际输出值、并按照有导师型的误差校正方法,修正由竞争层到输出层的连接权值;经过这样反复学习,使其达到一定误差精度,并形成稳定的网络结构,即确定了神经网络的参数。
本发明智能神经网络的训练方法:
(1)如果智能识别系统没有训练好,需要产生智能神经网络的训练数据集;
(2)利用步骤1中产生的神经网络数据训练集,反复训练神经网络,直到产生稳定的、达到精度要求的网络;
在学习过程中,CP网络反复不断地在竞争层内挑选获胜神经元,并且调整与获胜神经元对应的连接权,最终趋于稳定;各神经元所对应的连接权在经过学习调整后,记录了所有输入模式的综合信息,并且通过这些信息对目标进行正确地识别;传统的学习算法每次只对与竞争层获胜的那个神经元对应的连接权进行调整,假如前后两次获胜的都是同一神经元,则与该神经元对应的连接权会记录下前后两个输入模式的信息;为了避免获胜的神经元过于集中导致记录信息混乱的情况,人为地干预获胜神经元,使之分散开来,对于提高CP网络的训练效果是有益的;
改进后的CP网络学习算法如下:
(a)初始化,将W
j(j=1,2,...m)和Q
i(i=1,2,...z)各分量赋予区间[0,1]内的随机值。将输入模式U
ki(k=1,2,...p)按下式进行归一化处理:
(i=0,1,2,...n),其中
同时,为竞争层每个神经元附加一个变量t(初始值为0)以记录该神经元获胜次数,设定神经元获胜的最大次数T,并且指定误差容限值e;
(b)将第k个输入模式Uk提供给网络输入层;
(c)将连接权矢量W
j(j=1,2,…,m)进行归一化处理:w
ji=w
ji/W
j,其中,
(d)求竞争层神经元的输入激活值:(j=1,2,…,m);
(e)在计算出的Sj中找出最大的激活值Sa 1≤a≤m。如果Sa的t<T,则t=t+1,且将Sa对应的神经元作为竞争层获胜神经元g;否则,若t≥T,就选择除Sa外的最大激活值Sb;若Sb的t<T,则at=t+1,且将Sb对应的神经元作为竞争层获胜神经元g;否则,按照激活值从大到小的顺序依次在Sj中寻找。将竞争层获胜神经元g的输出置1,其余置0,它所对应的连接权即为Wg;
(f)调整W
g,即
(i=1,2,…,m),式中,α为学习率0<α<1);
(g)调整竞争层获胜神经元g至输出层神经元的连接权矢量
而其他连接权保持不变,即
(l=1,2,…,z);式中,β为学习率0<β<1;
(h)求输出层各神经元的综合输入信号加权和,并将其作为输出神经元的实际输出值cl k;
(i)计算网络实际输出C
k与希望输出Y
k的之间的误差:
(j)判断步骤(i)中算出的误差是否小于误差容限,如果小于误差容限,则继续步骤(k),进行下一模式的学习;若大于误差容限,则返回步骤3),继续学习;
(k)返回步骤(b),直至p个输入模式全部提供给网络。
从算法的描述可以看出,改进后的CP网络学习算法可通过设置神经元获胜的最大次数T来迫使网络对于不同类别的模式分配不同的竞争优胜单元。这样有效地克服了CP网络竞争层的不稳定性,避免了网络在训练过程中出现的局部最小点,使得竞争层各单元的连接权能够比较精确地表示各类模式向量的空间分布情况。
基于图像的尿液有形成分检测方法,可采用不离心的尿样,在无需借助人工辅助识别的前提下,实现对尿液样本内的有形成分的快速自动检测,具有速度快,准确度高和可回顾等优点。
本发明有益效果是提出了一种新的尿液有形成分微粒图像识别分类技术,本方法具有高识别率低假阳率,极大改善了临床尿液有形成分的准确性、客观性。同时极大地减轻了医生的工作负担,实现尿液有形成分检验的标准化和自动化。
本发明的另一个益处是采用了一种新的对向神经网学习算法有效地克服了CP网络竞争层的不稳定性,避免了网络在训练过程中出现的局部最小点,使得竞争层各单元的连接权能够比较精确地表示各类模式向量的空间分布情况。
具体实施方式
名词解释:
尿沉渣:是指尿液内的有形成分,如尿液内的红细胞、白细胞和细菌等。
尿液有形成分:是指尿液内的红细胞、白细胞和细菌等物质。
尿沉渣检验设备:是一种检测尿液内有形成分的临床检验设备。
层流:层流是指流体微团互不掺混、运动轨迹有条不紊地流动。
流动池:是由特别制作的薄层板构成,检测样本在鞘流液的作用下形成层流。
(一)利用尿沉渣检验设备中的流动式显微系统进行尿液样本图像拍摄,然后通过1394卡将采集图像并传输到尿沉渣工作站电脑的内存中,这里每个检测样本需要拍摄500幅图。
(二)分割步骤1中拍摄图像内的尿液有形成分微粒图像,并计算其形状、对比度和纹理等特征。
(1)由于待分割对象内部的纹理比较复杂,而背景比较平坦,两者之间形成对比。这里所指的复杂的纹理也就是指尿沉渣成分内部较丰富的突变点线,因此,进行对图像边缘检测,先利用Sobel算子分别进行水平检测和垂直检测,然后求矢量梯度,具体步骤如下:
进行水平方向边缘检测,采用Sobel算子水平方向模板:
进行垂直方向边缘检测,采用Sobel算子垂直方向模板:
求该点的矢量梯度:
(2)对步骤(1)中的梯度图像采用大津法方法确定分割阈值T,具体方法如下:
记T为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历T,当t使得值g=w0*(u0-u)2+w1*(u1-u)2最大时T即为分割的最佳阈值。
(三)计算步骤(二)中分割出来的有形成分微粒图像的形状和纹理特征向量。
(1)图像二值化:提取有形成分微粒目标,根据选定的阈值T对图像进行分割,形成二值图像,其中“0”代表目标(黑色),“255”代表背景(白色),在二值图像中,每个有形成分目标都是一个连通的区域,利用这种连通特性将微粒目标提取出来。
(2)形状特征提取:跟踪有形成分微粒目标边界点并编码,如图4所示,图像边界链编码可以表示为{(x0,y0)1/a0……an-1},(x0,y0)为图像边界上起始像素点坐标,ai∈{0,1,2,3,4,5,6,7,}是图像的八方向链码,n为链的长。如图5所示的图像,从点P出发的链码表示为{(x0,y0)1/076776564554432322212011},其中点(x0,y0)是起始点P的坐标。
下面根据链码计算形状特征,具体内容如下:
(a)区域边界的周长:假设区域的边界链码为a1……an,每个码段ai所表示的线段长度为Δl,那么该区域边界的周长为:
式中,ne为链码序列中偶数个数;n为链码序列中码的总个数。
(b)计算区域的面积,对x轴的积分就是面积:
式中,yi=yi-1+ai2,y0是初始点的纵坐标,ai0和ai2分别是链码第i环的长度在k=0(水平),k=2(垂直)方向的分量。对于封闭链码(初始坐标与终点坐标相同),y0能任意选择。按顺时针方向编码,根据式得到链码所代表的包围区域的面积。
(c)圆形度C:圆形度用来表示目标物体形状接近圆形的程度,其计算公式为:
(d)矩形度R:矩形度用于描述区域与矩形的偏离程度。其计算公式为:
其中,W为目标宽度,H为目标长度。
(e)伸长度E:区域的高度和宽度之比为伸长度,表明区域的狭长情况。其计算公式为:
其中,W为目标宽度,H为目标长度。
(3)纹理特征提取:
如图6所示,灰度共生矩阵就是从N×N的图像f(x,y)的灰度为i的像素出发,统计与距离为δ,灰度为j的像素同时出现的概率p(i,j,δ,θ)。在这里,为了减少计算量,灰度级别L取值32。计算水平方向(θ=0°dx=2,dy=0)的灰度纹理特征和垂直方向(θ=90°dx=0,dy=2)的纹理特征。
分别水平方向和垂直方向的纹理特征,具体内容如下:
(a)二阶矩:它也称为能量。粗纹理二阶矩值f1较大,可以理解为粗纹理含有较多的能量。细纹理f1较小,也即它含有较小的能量。
(b)对比度:图像的对比度可以理解为图像的清晰度,即纹理的清晰程度。在图像中,纹理的沟纹越深,则其对比度越小,图像的视觉效果就会越清晰。
(c)熵:熵值是图像具有的信息量的度量,纹理信息是图像信息的一种。若图像没有任何纹理,则灰度共生矩阵几乎为零阵,熵值f3接近为0。如果图像充满着细纹理,则pδ(i,j)值近似相等,该图像的熵值f3最大。若图像中分布着较少的纹理,pδ(i,j)的数值差别较大,则该图像的熵值f3就较小。
(四)将步骤三中提取的面积、圆形度、矩形度、伸展度特征分量归一化和智能神经网络识别分类。
(1)将步骤3中计算的特征分量的大小归一化到【0,1】范围内。第i个特征分量归一化公式:
f′i=0.1+fi/(max(fi)-min(fi))×(0.9-0.1) (9)
其中,max(fi)和min(fi)分别代表第i个特征分量中的最大值和最小值;
(2)如图3所示,将归一化的特征向量输入神经网络分类器内,进行智能识别。在这里我们采用改进型对向传播神经网络(CP),它是Kohonen特征映射网络与Grossberg基本竞争网络相结合、发挥各自特征的一种特征映射网络。网络的基本思想是,由输入层到竞争层,网络按SOM学习规则产生竞争层的获胜神经元,并按照这一规则调整相应输入层到竞争层的连接权;由竞争层到输出层,网络按照基本竞争层型网络学习规则,得到各输出神经元的实际输出值、并按照有导师型的误差校正方法,修正由竞争层到输出层的连接权值。经过这样反复学习,使其达到一定误差精度,并形成稳定的网络结构,即确定了神经网络的参数。
智能神经网络的训练方法:
如果智能神经网络没有训练好,我们需要准备训练样本数据集,这里我们选取尿液有形成分十二类,每类500个训练样本。误差极限MinErr为1.0×10-6,按下面方法进行训练:
(a)初始化。将Wj(j=1,2,...m)和Qi(i=1,2,...z)各分量赋予区间[0,1]内的随机值。将输入模式Uki(k=1,2,...p)按下式进行归一化处理:(i=0,1,2,...n),其中同时,为竞争层每个神经元附加一个变量t(初始值为0)以记录该神经元获胜次数,设定神经元获胜的最大次数T,并且指定误差容限值e。
(b)将第k个输入模式Uk提供给网络输入层。
(c)将连接权矢量W
j(j=1,2,…,m)进行归一化处理:w
ji=w
ji/W
j,其中,
(d)求竞争层神经元的输入激活值:
(j=1,2,…,m)。
(e)在计算出的Sj中找出最大的激活值Sa 1≤a≤m。如果Sa的t<T,则t=t+1,且将Sa对应的神经元作为竞争层获胜神经元g;否则,若t≥T,就选择除Sa外的最大激活值Sb。若Sb的t<T,则at=t+1,且将Sb对应的神经元作为竞争层获胜神经元g;否则,按照激活值从大到小的顺序依次在Sj中寻找。将竞争层获胜神经元g的输出置1,其余置0,它所对应的连接权即为Wg。
(f)调整W
g,即
(i=1,2,…,m),式中,α为学习率0<α<1)。
(g)调整竞争层获胜神经元g至输出层神经元的连接权矢量而其他连接权保持不变,即(l=1,2,…,z)。式中,β为学习率0<β<1。
(h)求输出层各神经元的综合输入信号加权和,并将其作为输出神经元的实际输出值cl k,
(i)计算网络实际输出Ck与希望输出Yk的之间的误差:
(j)判断步骤(i)中算出的误差是否小于误差极限MinErr,如果小于误差容限,则继续步骤(k),进行下一模式的学习;若大于误差极限,则返回步骤3),继续学习。
(k)返回步骤(b),直至p个输入模式全部提供给网络。
当计算网络实际输出Ck与希望输出Yk的之间的误差小于误差极限时,训练停止,表明网络训练完成,可以用于样本的识别分类。