基于BP神经网络的红细胞识别
2018-04-16王利平刘任任
王利平 刘任任
(湘潭大学信息工程学院 湘潭 411105)
1 引言
在医学检验中,人体外周血的检查对人体健康指标有着重要参考价值[1]。因此血细胞的识别与分类有着广泛的研究[2~8]。而红细胞是人体血液中占比最重的一类细胞,通过对红细胞进行自动化识别[8],统计分析各形状特征所占比重,进而得出人体健康状况。正常红细胞的形态与异常红细胞的在形态上有差别,正常红细胞形态呈双凹圆盘形,淡桔红色,中央1/3为生理性淡染区,呈正常色素性。其直径为6.7μm~7.7μm,平均直径7.2μm左右,厚约2μm,无核。同时把异常形态红细胞分为8类,图1所示。
红细胞图像的采集,通过显微镜和CCD相机,显微镜将血涂片图像放大,CCD相机将光学信息转化为数字信号,通过传输装置传输到计算机[9~10]。由计算机的识别程序对红细胞图像进行识别。红细胞的识别流程如图2所示。
图1 红细胞异常形态图
图2 红细胞识别流程图
本文主要探讨基于BP神经网络的红细胞形状识别。
2 红细胞图像的预处理
在通过CCD拍摄血涂片时,可能存在光照原因,使图像对比度及边缘特征不明显,染色剂的使用,可能使图像中包含较多噪声。这些因素的存在都会对红细胞图像的特征求取造成不良影响。因此,在进行特征求取时,进行预处理是非常有必要的。
本文的红细胞预处理主要包括以下两个方面:
1)通过中值滤波处理,去除图像的噪声;
2)使用拉普拉斯算子对边缘锐化,增强边缘与背景的对比度。
关于这两种方法,已经有了广泛的理论和应用基础,本文就不再做介绍了。其中对原图(图3)进行预处理的主要步骤为:
(1)将彩色图像转换为8位灰度图(图4)。
(2)使用中值滤波器去除图像噪声(图5)。
(3)增强红细胞边缘(图6)。
图3 红细胞原始图
图4 红细胞灰度图
图5 中值滤波图像
图6 拉普拉斯算子锐化
上面是在Matlab下进行预处理操作的结果图,可以明显地看到,通过预处理步骤,红细胞图像的噪声明显减少,图像边缘得到锐化,对比度非常明显。
3 红细胞二维形态特征求取与描述
对图像进行预处理之后,我们将求取图像的几何特征值。红细胞特征向量中包含以下几个几何特征值,分别为圆形度、矩形度、长宽比、Hu七个不变矩等几个特征值。在特征求取过程,采用了链码技术(图7)对红细胞的边缘进行跟踪[15]。其跟踪过程为,通过对图像进行行扫描,以得到的第一个边界像素的坐标为起点来跟踪边界,在跟踪过程,两个相邻的像素之间的连线给定一个方向码,最后再按照逆时针方向沿着边界将这些方向码连接起来,就可以得到链码。而链码的起始位置和链码就完整的包含了图像的形状(图8)。同时链码技术的应用,也方便进行红细胞特征求取,下面将主要介绍红细胞圆形度、矩形度、长宽比的计算公式。
图7 8方向链码
图8 链码所围形状图
红细胞周长与面积的计算,在链码求红细胞形状的过程中,设链码值为偶数的像素个数为M,链码值为奇数的像素个数为N,则此红细胞的周长P为
其周长所围的红细胞面积A应该为
在公式中,S为红细胞的所有像素个数之和。
圆形度有利于辨识红细胞形状复杂度。面积一定的图形,如果它的周长越小,则图形越接近圆;反之,图形的形状就越复杂。其公式如下所示。
在公式中,P表示的是红细胞图像的周长,A表示周长所围的面积,PI表示的是圆周率。
而另外一个反映物体形状的参数是它的矩形度。当图像给定后,就可以求出红细胞的最小外接矩形(MER),而反映红细胞矩形度则可以用矩形拟合因子R表示,其公式如下所示。
在公式中,A表示的是红细胞的面积,Ar表示对应红细胞的最小外接矩形的面积。
其中R反映了其与矩形的相似程度,如果被检测物体为矩形,那么R的值为1。而对于其它物体其值为区间[0,1]。而矩形度的另外一个参数为长宽比K,其公式为
在公式中,W表示红细胞最小外接矩形的宽,L表示最小外接矩形的长。使用这个特征,主要是将红细胞形状与圆形做相似度比较。这个特征可以把较纤细的物体与方形的或圆形的物体区分开来。
Hu不变矩在特征形状识别方面有着广泛的应用,它具有平移、旋转和尺度不变性。这里不再列出其计算公式。
将所求取的这些形态特征,描述为成红细胞的形态特征向量,做为BP神经网络的训练和输入值。
4 BP神经网络训练与识别
4.1 BP神经网络介绍
BP神经网络是采用误差反传播算法的多层前馈人工神经网络。它通过训练和学习来确定网络的权值,很强的对环境的自适应学习能力,并且还具有较强的容错性。这使得BP神经网络应用极其广泛[11~14],其结构如图9所示。
图9 BP神经网络结构图
4.2 BP神经网络的结构设计
具有单隐层的三层神经网络足够执行比较复杂的函数映射,多个隐层的网络尽管更易学习,但更易于陷入局部极小值中,这是在神经网络结构设计中要避免的。因些BP神经网络结构的好坏直接关系到识别效率。
1)隐含层的确定
根据形态特征对红细胞进行识别分类,在识别上来说,是小类别的分类问题,因些,采用具有一个隐含层的三层神经网络,足以解决识别问题。
2)神经元数目
在确定神经元数目时,选择计算的公式为
其中,hNum表示隐层神经元个数,iNum表示输入神经元个数,nNum表示输出层神经元个数。
3)激活函数的选择
神经元的激活函数选择Sigmoid函数,如下所示。
Sigmoid函数是光滑、可微的函数,在分类时它比线性函数更精确,容错性也更好。
4)动量-自适应学习法调整BP算法
在实际应用中,使用标准BP算法往往不能达到我们所期望的要求。在结合本文对学习速度与准确度有比较高的要求后,采用动量-自适应法对BP算法进行调整[16]。动量项提高BP神经网络收敛速度,合适的自适应学习率可以极大地提高学习速率。动量-自适应学习率的BP算法权值调整算法公式:
公式中:w(k)为第k步时权值,α为学习率,η为动量因子,D(k)为第k步时的负梯度值。
在采用动量-自适应学习率调整算法后,收敛速度和学习率比标准BP算法,提高了一半以上。
4.3 BP神经网络识别
神经网络的训练方法采用trainlm优化算法,trainlm算法的收敛速度比较快,而且训练的误差也很少。结果如表1所示。
表1 各trainlm优化算法训练结果表
下面将进行红细胞的识别工作,将800组测试数据(没有参加训练)用于对BP神经网络识别的检验,其中八种形态的红细胞类型各有100组。描述红细胞形态的特征值,做为BP神经网络的输入。在对800个样本进行测试,识别的准确率达到91%(表2),从结果来看,所求取的红细胞形态特征值,能准确描述8类红细胞,BP神经网络识别的准确率也比较高。
表2 BP神经网络识别结果表
4.4 BP神经网络与传统方法的比较
传统方法一般都是模板匹配,即每一类形态只有一个标准,再计算其相似度。因为其简单快速的特点,是一种被广泛模式识别方法。下面将通过使用相同特征值,对比BP神经网络和模板匹配的识别率(表3)。从图中,可以明显看出,BP神经网络的识别准确度平均要高10%以上。特别是对复杂红细胞形状,识别率比较差。
表3 BP神经网络与模板匹配识别率比较
5 结语
本文提出基于BP神经网络的红细胞识别方法。通过求取血涂片红细胞的典型的有区分度的形态特征,将这些特征值组合成特征向量,做为已经训练好的BP神经网络的输入,由神经网络进行识别与分类。在大量样本测试中,结果表明本方法对8类红细胞的平均识别率有91%左右,相比传统的模板匹配方法提高了10%以上。因此,本文提出的基于BP神经网络的红细胞识别方法有比较高的实用价值。下一步工作,将根据本文的算法,在Windows上实现红细胞的识别与分类系统。
[1]郑凤娇,龚燕红(综述),傅泳航(审校).外周血异常红细胞形态学检验与诊断的意义[J].医学综述,2013,19(1):141-143.ZHENG Feng-jiao,GONG Yan-hong,FU Yong-hang.Significance of the Red Blood Cells Morphological Examination and Diagnosis in the Peripheral Blood[J].Medical Recapitulate,2013,19(1):141-143.
[2]Elsalamony H A.Healthy and unhealthy red blood cell detection in human blood smears using neural networks[J].Micron,2016,83:32-41.
[3]Lee H,Chen Y P P.Cellmorphology based classification for red cells in blood smear images[J].Pattern Recognition Letters,2014,49:155-161.
[4]G.Apostolopoulos,S.Tsinopoulos and E.Dermatas.Estimation of size and shape of the Human Red Blood Cellusing light scattering images[J].Journal of Computational Methods in Science and Engineering,IOS press,2009,9(1-2):19-30.
[5]Jambhekar ND.Red blood cells classification using image processing[J].Science Research Reporter,2011,1(3):151-154.
[6]Hirimutugoda Y M,Wijayarathna G.Image analysis system for detection of red cell disorders using artificial neural networks[J].Sri Lanka Journal of Bio-Medical Informatics,2010,1(1).
[7]Khashman A.Blood Cell Identification using Emotional Neural Networks[J].J.Inf.Sci.Eng.,2009,25(6):1737-1751.
[8]Joost Vromen,Brendan McCane.Red blood cell segmentation from SEM Images[J]..The 24th International Conference on Image and Vision Computing New Zealand,2009(9):44-49.
[9]丁建文,周丰良,梁光明.红细胞形态学分析装置及其方法:CN,CN 102359938 B[P].2012.
[10]TomariR,ZakariaW NW,JamilMM A,etal.Computer aided system for red blood cell classification in blood smear image[J].Procedia Computer Science,2014,42:206-213.
[11]Zheng Q,Milthorpe B K,Jones A S.Direct neural network application for automated cell recognition[J].Cytometry PartA,2004,57(1):1-9.
[12]Sheikh H,Zhu B,Micheli-Tzanakou E.Blood cell identification using neural networks[C]//Bioengineering Conference,1996.,Proceedings of the 1996 IEEE Twenty-Second AnnualNortheast.IEEE,1996:119-120.
[13]张国平,黄淼,马丽.基于图像处理的红细胞自动识别统计系统[J].信息技术,2016,40(1):10-12.ZHANGGuoping,HUANGMiao,MA Li.Statisticalautomatic identification system of erythrocyte based on image processing[J].Information Technology,2016,40(1):10-12.
[14]张宝菊,雷晴,李刚,等.基于BP神经网络的人体血液中红细胞浓度无创检测[J].光谱学与光谱分析,2012,32(9):2508-2511.ZHANG Baoju,LEIQing,LIGang,et al.Noninvasive Measurement of the Human RBCConcentration Based on BP NN Model[J].Spectroscopy and Spectral Analysis,2012,32(9):2508-2511.
[15]杨万扣.基于链码的部分算法研究[D].南京:南京理工大学,2004.
[16]李晓峰,徐玖平,王荫清,等.BP人工神经网络自适应学习算法的建立及其应用[J].系统工程理论与实践,2004,24(5):1-8.LI Xiaofeng,XU Jiuping,WANG Yinqing,et al.Adaptive learning algorithm of BP artificial neural network and its application is established[J].Systems Engineering—Theory&Practice,2004,24(5):1-8.