面向计算机显微视觉系统的白细胞识别
2020-01-16张从鹏熊国顺
张从鹏,马 岩,毛 潭,熊国顺
(北方工业大学 机械与材料工程学院,北京 100144)
引 言
血涂片白细胞显微视觉检验是临床医学中的重要检验项目。利用计算机视觉技术实现白细胞检验的自动化和智能化是当前的热点和发展趋势。国内外很多学者针对如何更好地分割和识别白细胞提出了很多方法。CSEKE[1]基于Otsu算法,通过递归方法最大化图像中黑色、灰色和白色区域之间的类内方差并自动筛选出分割阈值,实现白细胞的分割,但该方法无法将细胞浆分割出来。2012年,MOHAPATRA等人[2]基于范函链接型网络对白细胞分割,根据各区域像素按颜色分类,将白细胞分割为细胞核和细胞质两部分。HUANGA等人[3]利用共生矩阵和形态信息提取85个纹理和形态特征,采用主成分分析(principal component analysis,PCA)进行特征降维、K均值进行五分类,该方法对于嗜中性粒细胞的分类准确率比较低。REZATOFIGHI等人[4]首先利用Gram-Schmidt正交化增强白细胞区域颜色向量,由灰度直方图确定分割阈值并分割出白细胞核,然后采用snake分割细胞浆。WANG等人[5]利用梯度矢量流轮廓法实现白细胞和细胞核的提取,并根据白细胞形态学等特征利用支持向量机(support vector machine,SVM)对白细胞进行分类,但在分类精度上还有待提高。LI等人[6]基于mean-shift聚类算法在细胞图像上得到可视化纹理的区域块,并根据区域块的特征参量利用人工神经网络进行白细胞识别。LIU等人[7]基于C-Y颜色空间和形态学运算得到白细胞图像,并阈值分割对比度拉伸的G图像,完成细胞核的提取。HUAI等人[8]将细胞核和细胞质的旋转不变共生局部二值模式特征和常规形态学特征进行归一化处理,并利用随机森林分类器完成白细胞分类。上述分割和分类算法虽侧重角度不同,但都是为了提高白细胞的分类识别率。
本文中搭建了面向显微视觉检测系统,研究血涂片自动检验中的关键技术问题,拟采用高效图像提取方法和分类识别算法,提高检测系统的检测效率和精度,满足显微视觉平台对白细胞临床形态学自动检验的需求。
1 显微视觉系统
显微形态学检验平台由显微光学成像系统、计算机视觉系统、自动控制系统等组成[9]。光学成像系统选用奥林巴斯光学显微镜,搭配UPLFLN100X02油镜。利用230万像素的彩色CCD工业相机对血涂片显微图像进行采集。图1所示的玻片为血细胞涂片。
Fig.1 Micro-vision detection system for blood cell smears
2 白细胞图像分割
2.1 白细胞图像预处理
白细胞图像预处理包括:通过中值滤波器对采集到的细胞图像进行平滑处理,去除细胞图像上的颗粒噪声;采用相应的滤波器进行细胞图像边缘的锐化。
2.2 白细胞背景剥离
2.2.1 RGB模型与HSI模型对比 为了提高白细胞背景剥离方法的简易性,将预处理后的血细胞图像采用固定阈值方法分割成像素为200×200的白细胞子图。然后将彩色细胞子图转换为R,G,B三通道[10]的单通道图像。实验中发现,除了G通道细胞核灰度值跟背景灰度值上有较大的差异外,R通道和B通道表现不明显。因此,RGB模型不适合用来分割图中的白细胞。
HSI颜色模型可用作白细胞显微图像的分割颜色模型[11]。通过对细胞图像的H,S,I单通道图像灰度观察发现,H通道表现出适合白细胞背景剥离的良好性能,与参考文献[12]中结论基本一致。模型灰度图如图2所示。
Fig.2 Comparison of RGB model and HSI model of white blood cells
综上分析,本文中采用H通道图像进行白细胞背景剥离。
2.2.2 区域生长法背景剥离 区域生长[13]是根据一种事先定义的准则将像素或者子区域聚合成更大区域的过程。其相似性质可包括平均灰度值、纹理、颜色等信息。区域生长算法实现的步骤如下:(1)对图像目标区域进行扫描,令R表示整幅图像区域,根据预设相似准则,将目标图像区域分裂成若干不重叠的子区域Ri,i=1,2,3,…,n;(2)以Ri为中心,判断其邻域Rj是否满足相似准则,若满足,则合并Ri和Rj,对任何i和j都有i≠j;(3)以合并后的Ri和Rj为中心,重复步骤(2);(4)当无法进行新的合并时,返回步骤(1);(5)重复步骤(1)~步骤(4),当无法进行新的分裂时,生长结束。
那么分割可以看成将整幅图像R划分为n个子区域R1,R2,…,Rn的过程,并满足以下条件:(1)U(Ri)=R;(2)Ri是一个连通区域,i=1,2,3,…,n;(3)Ri∩Rj=空集,对任何i和j都有i≠j;(4)P(Ri)=ture,i=1,2,…,n;(5)P(Ri∪Rj)=false,i≠j。)
在血细胞H单通道图像上,使用区域生长分割算法后,会得到很多不同的子区域[14],可以精确地将整个白细胞在图中与其它红细胞以及背景分割开来,如图3所示。然后根据先验知识,除背景区域之外,整张图像中选取最靠近图片中心的区域,得到白细胞图像。
Fig.3 Cell region growth segmentation diagram
2.3 细胞核提取
最大类间方差法是1979年由日本学者OTSU提出的,简称大津法[15],是一种自适应阈值确定的方法。根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳阈值时,前景与背景之间差别是最大的,评价差别的标准就是最大类间方差。通常细胞核与细胞质在RGB颜色模型的B通道上灰度级别存在较大差异,在上一步进行白细胞背景剥离的基础上,拟采用细胞核与细胞浆作为白细胞背景剥离后B通道灰度图像的前景和背景,利用大津法进行细胞核的提取。
设背景剥离后的B通道白细胞图像为I(x,y),细胞核和细胞浆的分割阈值记作T,细胞核区域像素比例为w1,平均灰度值为μ1;细胞浆区域像素比例为w2,平均灰度值为μ2。白细胞平均灰度值为μ0,类间方差为g。令图像大小为M,细胞核像素数为N1,细胞浆像素数记作N2,则:
w1=N1/M
(1)
w2=N2/M
(2)
N1+N2=M
(3)
w1+w2=1
(4)
μ0=μ1×w1+μ2×w2
(5)
g=w1×(μ0-μ1)2+w2×(μ0-μ2)2
(6)
将(5)式代入(6)式得到g的等价表达式:
g=w1×w2×(μ1-μ2)2
(7)
采用遍历的方法使类间方差最大的阈值T即为所求。通过对B通道白细胞图像阈值为T的阈值分割,即得到细胞核图像与细胞浆图像。从灰度直方图角度观察,灰度图横坐标为灰度等级,取值范围是0~255,纵坐标为每个灰度等级相应的像素个数,最大类间方差的过程其实是在寻找前景和背景两个灰度波峰之间的波谷值,如图4所示。图4b和图4c中横坐标为灰度等级,纵坐标为像素个数,横纵坐标均为无量纲物理量。
Fig.4 Valley threshold of channel B
图4b为灰度图原图,存在较多毛刺,确定波谷值时会产生偏移。进一步采用平滑的方法对原灰度图进行拟合,如图4c所示。平滑后的直方图可以清晰地找到波谷点,从而确定分割的阈值。利用波谷点阈值对白细胞B通道灰度图像进行细胞核提取,得到细胞核和细胞浆图像,如图5所示。
本文中将预处理后的图片,在H通道上采用区域生长的方法进行白细胞的背景剥离。并在提取出白细胞的基础上,将白细胞的细胞核与细胞浆作为图像的前景与背景,在白细胞B通道图像上利用大津法,实现了细胞核的提取。图6为白细胞完整分割流程。图6h灰度图中横坐标为灰度等级,取值范围是0~255,纵坐标为每个灰度等级相应的像素个数。
Fig.5 Nucleus extraction results
Fig.6 Leukocyte segmentation process
3 白细胞的特征提取及分类
3.1 BP神经网络对白细胞分类流程
在应用反向传播(back propagation,BP)神经网络[16]进行分类时,训练集数据占有重要的地位,直接影响分类器的质量。选取具有代表性且分割效果较好的白细胞子图作为训练集,可以避免因为过分割或欠分割造成的提取特征参量偏差,并增强分类器的鲁棒性。然后对测试集中白细胞图像进行特征提取,组建特征向量,然后传入训练好的BP神经网络分类器进行分类。
3.2 白细胞特征提取
白细胞图像的分割是为了提取对细胞核和细胞浆描述的特征参量[17],拟采用形态、颜色、纹理3个方面对细胞核和细胞浆进行特征提取。
3.2.1 形态特征 提取的细胞的形态特征[18]包括细胞核的分叶数,细胞核的凸性,细胞核的偏心率,细胞核的伸长度,细胞核的圆形度,细胞的面积、周长、圆形度、核质比,以及形状因子。
3.2.2 颜色特征 颜色特征[19]选取细胞,细胞核以及细胞浆在R,G,B这3个通道上的灰度均值,方差以及偏斜率。
3.2.3 纹理特征 纹理特征选取细胞、细胞核和细胞浆像素的灰度共生矩阵[20],求取其能量、对比度、逆差矩、熵、相关性。
3.3 白细胞BP神经网络分类器设计
BP神经网络的工作原理是将样本数据通过输入层、经隐含层向网络输出层进行正向传递,传递过程称为正向传播。样本数据经过多层网络计算,将得到的结果与标注的分类标签进行比较,通过损失函数计算误差,然后再由输出层向输入层进行反馈调节,这种反馈调节机制称为反向传播。通过反馈信号,每层神经元进行自我更新,逐层反馈到输入层。其中,反馈误差信号就是各个神经元更新权值的依据。本文中拟采用3层网络架构,选取sigmoid函数作为激活函数。
(1)确定网络节点数。在白细胞的形态特征、颜色特征、纹理特征中选取了17种特征作为输入层节点数,即m=17,输出层节点数对应白细胞的常规分类种数,即n=5,隐含层节点数l的确定参考如下公式:
(8)
式中,a取0~10的常数,通过实验方法确定节点数l=12。
(2)特征参量归一化。将白细胞特征参量进行归一化操作,避免数据量级差别带来的计算偏差。
(3)网络初始化和算法选择。初始化阶段,给予权重系数W一个随机数(-1.0~1.0),学习速率为0.1,迭代次数为500次。然后采用梯度修正法和反向错误传播算法。
3.4 实验结果分析
在图1所示的显微视觉平台上,完成了1075幅高质量白细胞图像采集,其中训练集数据是508幅,567幅作为测试集数据。实验结果如表1所示。
由实验结果可以看出,对5类常见白细胞的识别
Table 1 Experimental results of leukocyte recognition
率为88.2%~98.2%, 由于嗜碱性粒细胞其表面颗粒度复杂,在细胞核提取过程中容易造成过分割和欠分割的现象,导致分割方法失效。故分类过程中取得了较低的识别率。
良好的分割是识别的前提,精确的分割结果可以得到白细胞的高识别率。如表1所示,白细胞样本综合识别率为95.6%,在临床应用中取得预期效果。
4 结 论
面向血细胞形态学临床检验应用需求,研究了白细胞的显微视觉图像人工智能识别算法。通过实验筛选,白细胞图像颜色模型采用的背景分割方法具有较高的效率和精度;并在背景剥离的基础上,利用大津法实现了白细胞细胞核和细胞浆的有效提取;设计了白细胞BP神经网络分类器,并完成了特征向量库训练,实现了对白细胞的自动识别,大样本识别准确率达到95.6%,为白细胞形态学识别的自动化和智能化奠定了基础。