史水娥, 李 鑫, 胥帅帅, 伍 博
(1.河南师范大学 电子与电气工程学院,河南 新乡 453007;2.河南省电磁波工程院士工作站,河南 新乡 453007)
白细胞通常被称为免疫细胞,在人体免疫系统中起着重要作用,许多研究人员在血细胞检测领域进行了大量的工作。文献[1]结合距离变换和边缘梯度的信息,灵活提取代表目标的前景标记和代表背景及干扰的背景标记,通过分水岭变换实现细胞分割。文献[2]针对显微图像中细胞的形状特征,提出基于支持向量机和椭圆拟合的细胞图像自动分割。文献[3]通过改进的分数阶微分对细胞图像进行预处理,用分水岭算法初分割,通过改进的图论对图像再分割。文献[4]采用多特征均值聚类算法和粘连分离模型分割图像。尽管以上方法对红细胞、淋巴细胞和单核细胞的分割效果较好,但当细胞核不规则时,效果并不理想。
为了有效检测出不同形态白细胞的外轮廓信息,先使用K-means++聚类分割彩色血细胞图像,可以有效去除背景中的血小板和红细胞,得到的白细胞轮廓可以近似为椭圆,因此可以应用椭圆检测技术来识别这样的元素。文献[5]利用边缘曲率和凸度来确定边缘轮廓是否可以组合在一起,并进行二维Hough变换来获得椭圆参数。文献[6]根据椭圆弦与其中心的关系选择候选圆弧,并通过分解后的参数空间进行参数估计。文献[7]对Fornaciari方法进行了改进,利用一个射影不变量来剪除不需要的候选对象。以上方法对规则的椭圆轮廓检测效果较好,而对于近似椭圆的白细胞轮廓常有误检。
本文提出基于边缘分类的椭圆检测用于处理K-means++预处理过的血细胞图像,以获得不同形态的白细胞外轮廓信息。
K-means[8]聚类原理:以空间中k个点为中心聚类,对最靠近它们的对象归类,类别数为k。不断迭代,逐次更新各聚类中心值,直至得到最好的聚类结果。最终的k个聚类本身尽可能紧凑,各个聚类之间尽可能分开。该算法基于欧氏距离划分,优化目标函数误差平方和(sum of squares for error,SSE)为样本点到所属聚类中心的距离平方和,优化目标函数表达式为
(1)
式中xij为第i类第j个样本点;Ni为第i类的样本个数;ci为第i类的聚类中心;k为聚类数目。当SSE最小时,迭代结束。
K-means算法简洁快速,但随机选取的初始聚类中心点位置距离越近,效果越差。K-means++[9]针对这一问题做出改进,可以直观地将这一改进理解成K个初始聚类中心相互之间应该分得越开越好。
白细胞图片中每个像素点对应的坐标为(x,y,r,g,b),其中,(x,y)为位置信息,(r,g,b)为色彩信息。K-means++算法通过对每个像素点色彩信息RGB三个维度聚类,以实现相同颜色的像素在一簇,就可以将图像分割,进一步进行椭圆检测。
针对不规则的细胞边缘的边缘分类的椭圆检测主要由4步组成:圆弧提取、弧线分组、椭圆聚类、参数估计。
首先,使用具有自动阈值的Canny边缘检测器[10]检测边缘,根据梯度将边缘分为四类。然后,利用尺寸约束去除无效边缘。
1)边缘分类:给定Canny边缘检测器获得的边缘点ei=(xi,yi,dxi,dyi),其中(xi,yi)是位置坐标,(dxi,dyi)分别是X和Y方向上的Sobel微分,该点的斜率tanφi由下式获得
(2)
式中φi为该点的切线与水平轴正方向之间的角度。如果tanφi恰好等于零,则丢弃像素。将W+定义为具有正边缘点的集合,将W-定义为其余边缘点的集合。通过将每个边缘点与同一集合中8个邻域中的其他点链接在一起,形成一个弧。
根据弧中点M斜率tanφM的正负以及左端斜率值tanφl和右端斜率值tanφr的大小关系将圆弧α分为4个类别,如表1所示。
表1 圆弧分类
2)大小限制:分类后,用αc表示需要去除的仅有少量像素的弧与具有大量共线点的弧,因为它们会导致错误的检测。圆弧中像素点数小于定义的阈值(Nk 在边缘分类和无效边缘删除之后,将属于同一个椭圆的弧进行分组,为弧分组定义位置约束和切线约束。对每个弧组,使用最小二乘拟合用于估计椭圆参数。 1)位置约束:相对位置关系确保弧组里形成椭圆的4个弧分别来自4个不同的类别(αⅠ,αⅡ,αⅢ,αⅣ)。定义有效标记η,当η=1时,表明位置有效;当η=0时,表明位置无效,见表2。 表2 位置有效性分类 其中,LⅠ·x表示αⅠ的最左端像素的x坐标,RⅠ·y表示αⅠ的最右端像素的y坐标。其余弧的标记类似。根据实验,Thp的值设置为2。 2)切线约束:在椭圆的外切四边形中,两条对角线和对边的两条切线弦相交一个点。本文将这一几何关系称为切线约束。如图1(a)所示,理想情况4条虚线应在同一点相交。然而图像总有噪声,所以,4条虚线不会正好相交于一点,如图1(b)所示。将C1表示为P1P3和P2P4的交点,将C2表示为MiMk和MjMm的交点。由C1和C2的坐标计算出C1和C2间的欧氏距离d(C1,C2)<阈值Thd时,认为4个圆弧满足切线约束。 图1 切线约束示意 满足上述条件的圆弧,仍然可能存在错误拟合的椭圆。由于外部特征影响,一个椭圆可能被分成两个弧,导致提取出两个椭圆。因此,需要对同一椭圆的多个检测进行聚类。 椭圆聚类:给定两个椭圆,定义(Δdx,Δdy),Δda,Δdb和Δdθ分别为两个椭圆中心、长半轴、短半轴和旋转角对应的距离。然后,相似度指数D如下 D={(Δdx<0.1)&(Δdy<0.1)&(Δda<0.1)& (Δdb<0.1)&(Δdθ<0.1)} (3) 其中,D=1意味着有相似的椭圆需要聚类。得分最高的椭圆被认为是给定聚类的中心。 对于满足聚类后的圆弧组,使用改进的最小二乘法拟合方法[11]估计椭圆参数。该方法能充分利用边缘点对椭圆进行拟合,与实际目标吻合更优。估计椭圆参数包括中心点C的坐标(x,y),长半轴a,短半轴b,旋转角度θ和椭圆面积s。 进行多个实验验证本文检测算法的合理性,所有实验都是在具有Intel®CoreTMi5—8250U CPU @ 1.8 GHz,4 GB RAM的64位计算机上进行的,操作系统Windows 10,编译软件为MATLAB 2018a。 实验使用经典的BCCD数据集,其包括364张分辨率为640像素×480像素的8类不同形态的白细胞图像。这里将K-means++算法与先进的FRFCM(significantly fast and robust fuzzy C-means clustering)[12]和SFFCM(superpixel-based fast fuzzy C-means clustering)[13]进行分割对比。 图2(a)~(d)分别为淋巴细胞、单核细胞、中性杆状核粒细胞和嗜碱性粒细胞。由于嗜酸性粒细胞与嗜碱性粒细胞分割效果相似,故不再列举。与SFFCM和K-means++算法类似的是,FRFCM分割出了淋巴细胞与单核细胞的外轮廓,而对中性杆状核粒细胞仅仅分割出了杆状细胞核,对嗜碱性粒细胞外轮廓的分割效果也远不如SFFCM和K-means++算法,最重要的是,背景中大量的红细胞与血小板分割了出来,这些轮廓不利于下一步的椭圆检测。SFFCM虽然对中性杆状核粒细胞和嗜碱性粒细胞的外轮廓分割效果优于FRFCM,但是背景中红细胞与血小板的分割效果与FRFCM相似,同样不利于椭圆检测。K-means++方法对4种白细胞的胞外轮廓的分割效果明显优于FRFCM和SFFCM,使其最接近椭圆状。另外,抹除了背景中大量的红细胞与血小板,去除了其对椭圆检测的干扰。 图2 4种白细胞分割结果 图3表示的是不同分叶数的中性分叶核粒细胞,其中,n=2,3,4,5表示分叶的数目,由于分叶的不规则,使其分割难度大大增加。可以看出的是,与图2情况类似,FRFCM和SFFCM并不能有效去除背景中的红细胞与血小板,对检测目标只分割出了颜色深的不规则的分叶细胞核部分,不利于下一步的椭圆检测。K-means++方法不仅可以抹除背景,而且可以提取出椭圆状的整体细胞,为椭圆检测创造了条件。 图3 中性分叶核粒细胞分割 为了评价基于边缘分类的椭圆检测方法的性能,实验中采用了经典的评估指标,分别是准确率P、召回率R和F值,其定义如下 (4) (5) (6) 式中Ψ为检测出来正确的椭圆的个数,Ω为检测出来的椭圆的个数,Γ为图像中真实存在的椭圆的个数。 将边缘分类椭圆检测算法与Fornaciari的方法和Jia的方法进行参数比较, 采用的是经典的Prasad数据集,包含198张低分辨率的具有多个小椭圆的图像,每幅图像平均有5.91个椭圆,约52.02 %的图像尺寸小于300×300。如图4(a)所示,对于任意的检测椭圆数目N本方法都有最高的F值。由图4(a),(b)可知在检测椭圆数目N=3时其综合性能指标F值与准确率P均高达0.85。在图4(c)中显示召回率R基本上介于另外两种方法之间,它们都随着椭圆数目N的增加而缓慢降低。 图4 3种方法的参数比较 接着展示了对上述8类不同形态白细胞分割图片的检测效果。图5中为3种椭圆检测算法的效果对比。第3行Fornaciari的方法仅检测出了单核细胞,中性杆状核粒细胞和嗜碱性粒细胞3种白细胞图片,而对淋巴细胞和4种中性分叶核粒细胞都出现了错误检测或者重复检测。第4行Jia的方法仅对分叶数n=2和n=5的中性分叶核粒细胞有效,而对于其他6种白细胞图片同样出现了不同程度的错误检测或者重复检测。相较而言,本方法不仅成功检测出8类血细胞图片中的白细胞的轮廓信息,而且检测效果也是最优的,没有误检或者复检。得到的8类白细胞的参数信息如表3所示。 图5 3种方法的检测效果 表3 8种不同形态白细胞的参数信息 针对不同形态的白细胞大小和位置信息难以确定的问题,本文使用K-means++算法分割预处理白细胞图像,进一步使用边缘分类的椭圆检测方法去获得白细胞近似外轮廓信息。通过不同实验的分割效果对比,可以看出:K-means++有效地消除了背景中红细胞与血小板的干扰,为椭圆检测创造了先决条件。在检测方面,边缘分类的椭圆检测算法的F值最优,在检测椭圆数目N=3时其F值与准确率P均高达0.85。在效果上成功检测到准确的全部8类不同形态的白细胞的大小和位置信息。目前该方法还没有在医学图像处理中得到应用,有一定的研究价值。2.2 弧线分组
2.3 椭圆聚类
2.4 参数估计
3 实验与结果
3.1 K-means++分割结果
3.2 椭圆检测结果
4 结 论