本发明属于医学图像处理领域,涉及一种人体外周血细胞图像中白细胞五分类技术,具体是一种基于深度学习的白细胞五分类方法。
背景技术:
血液中的白细胞对人体免疫功能来说十分重要,血液中各类白细胞的数量和百分比在有疾病和正常情况下是不同的,医生可以依据这些重要的基础数据作为判断疾病的种类和疾病的严重程度的标准,这对于医学诊断中对血液病的研究有很大价值,所以研究白细胞的分类计数很有意义。随着计算机和人工智能技术的不断发展,细胞图像分析已经成为临床诊断、病理分析以及治疗的重要辅助工具。它解决了当前人工显微镜进行白细胞计数的工作量大、主观性强以及效率低的问题,且图片可以显示保存,以便于以后查验分类正确性。目前,许多研究者在白细胞图像自动识别方面做了大量的研究,提出了许多实用的分类算法,主要包括:
(1)专利《血细胞分析方法及血细胞分析装置》(中国专利公开号CN103837502A)利用荧光染色对白细胞的核酸进行染色,利用获取的荧光信号进行分类。该方法原理简单、实现容易。其主要思想是让所制备的测定试样流过流动室,检测出测定试样中各血细胞发出的荧光和不同角度的两种散射光,获取荧光信号和两种散射光信号的检测步骤;用基于获取的荧光信号和两种散射光信号的至少三种参数进行分析,以此检测出肿瘤性淋巴细胞,并将白细胞至少分为四类。
缺点:对细胞核酸进行染色破坏了细胞的结构,使得细胞损坏不能用于下次检测,且不能查验错误细胞到底是属于哪一类。
(2)专利《一种白细胞分类方法及装置》(中国专利公开号CN103745210A)利用神经网络的方法进行分类,该方法的基本思想是提取各类细胞的细胞形态学特征参数及白细胞细胞核的颜色特征参数、细胞质的颗粒特征参数及颜色特征参数并对这些特征归一化然后利用神经网络对细胞进行分类。
上述技术的缺点:所取特征都是基于全局考虑的,未对细胞图像的局部特征进行描述。
技术实现要素:
本发明的目的是提供一种基于深度学习的白细胞五分类方法。
为了实现上述目的,本发明提供了如下技术方案:
本发明提供一种基于深度学习的白细胞五分类方法,该方法包括如下步骤:
(1)白细胞检测
(1.1)将含有白细胞的显微镜图片作为测试图像I1,提取测试图像RGB颜色通道的R、B分量;将R、B分量做差;然后进行阈值分割,得到初步分割图I2;
(1.2)对于上述得到的初步分割图I2,利用形态学操作中的腐蚀与膨胀操作得到完整细胞核图I3;
(1.3)将上述得到的完整细胞核图I3中的细胞核标为i,i=1,2,……N,其外接矩形为Ai,中心坐标为(xi,yi),得到定位框图;
计算任意两个中心坐标之间的距离并测量其外接矩形的最长距离来判断是否是完整细胞核,若所测细胞核属于白细胞中的非分叶细胞,即只有一个细胞核,则每一个定位框图即为白细胞定位子图;若所测细胞核属于白细胞中的分叶细胞,则采用中心坐标实时更新迭代的方法,进而实现细胞核完整;
(1.4)利用细胞核对白细胞进行检测;
对于每个白细胞定位子图,利用细胞核的中心坐标(xi,yi)与定位框的高度、宽度检测得到白细胞图像;
(2)粒细胞筛选
(2.1)对步骤(1)检测得到的白细胞图像提取其细胞质的纹理特征,即共生LBP的直方图特征;
(2.2)对于得到的直方图特征,利用BRD计算直方图之间的距离,判断其属于嗜碱性粒细胞、嗜酸性粒细胞亦或是其他三类细胞:中性粒细胞、淋巴细胞、单核细胞;
(3)其他三类细胞分类
(3.1)对上述得到的其他三类细胞:中性粒细胞、淋巴细胞、单核细胞,利用卷积神经网络自动提取其卷积特征,即将以上三类白细胞图片输入到该卷积神经网络中得到4096维特征向量;
(3.2)对上述得到的特征向量,利用随机森林进行中性粒细胞、淋巴细胞、单核细胞三分类。
所述步骤(1.1)中,在-5~0中选择一个整数值作为阈值进行分割,大于阈值的值置为1,小于阈值的值置为0,得到初步分割图I2。
所述步骤(1.2)中,对初步分割图做一次腐蚀及两次膨胀,得到的图与初步分割图I2做交,得到完整细胞核图I3,其腐蚀膨胀公式为其中B是结构元。
选取半径为3的椭圆状结构元。
所述步骤(1.3)中,
计算任意两个中心坐标的之间的距离
若Ai∪Aj≤s,且d≤l,则合并二者得到新的中心坐标
作为新的定位框;否则,不合并;
其中,
s为数据库统计出来的单个最大白细胞面积,
l为数据库统计出来的单个白细胞最长直径。
所述步骤(2.1)中,提取细胞质的共生LBP特征,两点的共生LBP公式为PRICoLBP(A,B)=[LBPru(A),LBPu(B,i(A))]co,
其中LBPru(A)为LBP的旋转不变局部二值模式,LBPu(B,i(A))为LBP的均匀局部二值模式,即使得点A的二值序列最大的下标i作为点B二值序列的起始点,保证了共生LBP的旋转不变性。
所述步骤(2.2)中,得到共生LBP直方图之后利用BRD计算直方图之间的距离作为SVM分类时的高斯核,BRD公式为
其中p=[p1,p2,...,pn]与q=[q1,q2,...,qn]均为直方图向量;
利用1vs多的SVM进行训练并测试,即对于嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞这三类分别训练出嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞三个对应的分类器;测试时,将直方图数据带入训练好的嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞分类器,哪一个分类器得分较大就代表属于哪一类,从而筛选出嗜酸性粒细胞、嗜碱性粒细胞和其他三类细胞。
所述步骤(3.2)中,
每个决策树对应一个分类器{h(x,θk)|k=1,2,...,L},L为样本的个数,{θk|k=1,2,...,L}是随机独立分布向量,x代表的是测试样本的特征向量,利用Bagging采样选择一组样本作为训练样本,然后从当前节点的特征属性中随机选取M维分别计算它们的Gini纯度指数;纯度最低的作为当前节点的最佳分类属性,利用分裂函数将这个节点的树分为两个子树,重复此过程直到不能再分裂或者是到了叶子节点,进而得到了多个决策树组成的森林;
测试时,将其他三类白细胞图片上面得到的特征向量带入训练好的每一个决策树,每个决策树进行投票,得票最多的类就是该其他三类白细胞最后的分类结果。
与现有技术相比,本发明的有益效果在于:
本发明主要是对显微镜图片中的白细胞进行自动检测分类,通过细胞核特征对白细胞进行检测并利用深度学习实现白细胞全自动提取特征及分类,避免了由传统方法中利用分割所带来的分类误差。
首先利用简单的颜色分量关系及形态学操作将白细胞从显微镜图片中检测出来,然后利用颗粒特征及SVM识别出嗜碱性粒细胞与嗜酸性粒细胞,接着利用卷积神经网络自动提取剩下细胞图片的特征,最后利用随机森林实现剩下的中性粒细胞、淋巴细胞、单核细胞三分类。
与其他方法在CellaVision数据库、ALL-IDB数据库以及Jasdaq数据库上进行测试对比,可以看出本发明方法具有很好的有效性。
附图说明
图1为本发明基于深度学习的白细胞五分类方法的整体框图;
图2为含有白细胞的显微镜图片;
图3为提取RGB颜色通道的R、B分量做差后的图像;
图4为进行初步阈值分割的图像;
图5为腐蚀和膨胀得到的图与初步分割图做交后的图像;
图6为白细胞定位框图;
图7为图6中非分叶细胞的定位子图;
图8为图6中分叶细胞采用中心坐标实时更新迭代的定位子图;
图9为本发明所用卷积神经网络框架的图像。
具体实施方式
下面结合实施例对本发明进行进一步说明。
本发明提供一种基于深度学习的白细胞五分类方法,首先利用简单的颜色分量关系及形态学操作找出白细胞所在区域的外接矩形作为白细胞的定位框从而将白细胞从显微镜图片中检测出来;然后利用颗粒特征及SVM识别出嗜碱性粒细胞、嗜酸性粒细胞及其他细胞;接着利用卷积神经网络自动提取剩下细胞图片的特征,利用随机森林实现中性粒细胞、淋巴细胞、单核细胞三分类。
如图1所示,本发明的基于深度学习的白细胞五分类方法包括如下步骤:
(1)白细胞检测
(1.1)将含有白细胞的显微镜图片作为测试图像I1,如图2所示,提取测试图像RGB颜色通道的R、B分量,其中,R、G、B分量为图像存储数据;然后将R、B分量做差,结果如图3所示;在-5~0中选择一个整数值作为阈值进行分割,大于阈值的值置为1,小于阈值的值置为0,得到初步分割图I2,如图4所示。
(1.2)利用形态学操作中的腐蚀与膨胀操作得到完整细胞核图。
对初步分割图I2做一次腐蚀及两次膨胀,得到的图与初步分割图I2做交,得到完整细胞核图I3,如图5所示;
其腐蚀膨胀公式为其中B是结构元;优选地,选取半径为3的椭圆状结构元。
(1.3)将完整细胞核图I3图上得到的细胞核标为i,i=1,2,……N,其外接矩形为Ai,中心坐标为(xi,yi),得到定位框图,如图6所示。
计算任意两个定位框图中心坐标之间的距离并测量其外接矩形的最长距离来判断是否是完整细胞核,若所测细胞核属于白细胞中的非分叶细胞,即只有一个细胞核,则每一个定位框图即为白细胞定位子图,如图7所示。若所测细胞核属于白细胞中的分叶细胞,如中性粒细胞、嗜碱性粒细胞等,采用中心坐标实时更新迭代的方法,进而实现细胞核完整。
计算任意两个定位框图中心坐标之间的距离d:
若Ai∪Aj≤s,且d≤l,则合并二者得到新的中心坐标
作为新的定位框图;否则,不合并。
其中,
s为数据库统计出来的单个最大白细胞面积,
l为数据库统计出来的单个白细胞最长直径。
分叶细胞的整合算法如图8所示,实线框为上文得到的初始定位框,可以看出细胞核被分成了三部分,因此找到这三个框的中心并利用上面所说的方法对其进行合并,得到包含完整细胞核的定位框,如图8中虚线框所示。
(1.4)利用细胞核对白细胞进行检测。
对于每个白细胞定位子图,利用细胞核的中心坐标(xi,yi)与定位框的高度、宽度就可以检测得到白细胞图像。
在CellaVision数据库以及ALL-IDB数据库上对检测结果进行测试,为了说明算法性能的好坏,我们提出了检测率rd以及过检测率rs,描述如下:
其中,
TP是显微镜图片中被正确检测出来的白细胞个数;
FP是显微镜图片中未被检测出来的白细胞个数;
FN是显微镜图片中不是白细胞却被检测成白细胞的个数。
具体结果如表1所示。
表1本发明白细胞检测方法与迭代阈值法比较
(2)粒细胞筛选,即利用颗粒特征及SVM识别嗜碱性粒细胞、嗜酸性粒细胞及其他三类细胞
(2.1)对步骤(1)检测得到的白细胞图像提取其细胞质的纹理特征,即共生LBP的直方图特征。
提取细胞质的共生LBP特征,两点的共生LBP公式为PRICoLBP(A,B)=[LBPru(A),LBPu(B,i(A))]co。
其中LBPru(A)为LBP的旋转不变局部二值模式,LBPu(B,i(A))为LBP的均匀局部二值模式,即使得点A的二值序列最大的下标i作为点B的二值序列的起始点,保证了共生LBP的旋转不变性。
(2.2)对于得到的直方图特征,利用BRD计算直方图之间的距离,判断其属于嗜碱性粒细胞、嗜酸性粒细胞亦或是其他三类细胞:中性粒细胞、淋巴细胞、单核细胞。
得到共生LBP直方图之后利用BRD计算直方图之间的距离作为SVM分类时的高斯核,BRD公式为
其中p=[p1,p2,...,pn]与q=[q1,q2,...,qn]均为直方图向量。
利用1vs多的SVM进行训练并测试,即对于嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞这三类分别训练出各自的分类器。例如,将嗜酸性粒细胞看作一类,嗜碱性粒细胞和其他三类细胞看做一类,利用SVM训练嗜酸性粒细胞分类器,以此类推,分别训练出嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞三个对应的分类器。测试时,将直方图数据带入训练好的嗜酸性粒细胞、嗜碱性粒细胞、其他三类细胞分类器,哪一个分类器得分较大就代表属于哪一类,从而筛选出嗜酸性粒细胞、嗜碱性粒细胞和其他三类细胞。
(3)其他三类细胞分类
(3.1)对上述得到的其他三类细胞:
其他三类细胞,即中性粒细胞、淋巴细胞、单核细胞,利用卷积神经网络自动提取其卷积特征,即将以上其他三类白细胞图片输入到该卷积神经网络中得到4096维特征向量,所述卷积神经网络架构如图9所示:
即对于输入的白细胞图片,利用以下网络结构提取特征:
卷积层一般是计算图像一个区域上得到的卷积特征的平均值(或最大值)
图9中层与层之间的输入输出关系如下:
Layer1卷积层→Layer1池化层→Layer2卷积层→Layer2池化层→Layer3卷积层→Layer4卷积层→Layer5卷积层;
第1层(Layer1)是96个核(kernels)(大小:11*11*3),步长:4像素(pixels);其中,*代表卷积;
第2层(Layer2)是256个核(kernels)(大小:5*5*48);
第3层(Layer3)是384个核(kernels)(大小:3*3*256);
第4层(Layer4)是384个核(kernels)(大小:3*3*192);
第5层(Layer5)是256个核(kernels)(大小:3*3*192);
全连接层有4096个神经元,因而得到4096维特征向量。
(3.2)对上述得到的特征向量,利用随机森林进行分类。
每个决策树对应一个分类器{h(x,θk)|k=1,2,...,L},这里L指的是样本的个数,{θk|k=1,2,...,L}是随机独立分布向量,x代表的是测试样本的特征向量。它利用Bagging采样选择一组样本作为训练样本,然后从当前节点的特征属性中随机选取M维分别计算它们的Gini纯度指数;纯度最低的作为当前节点的最佳分类属性,利用分裂函数将这个节点的树分为两个子树,重复此过程直到不能再分裂或者是到了叶子节点,进而得到了多个决策树组成的森林。
测试时,将其他三类白细胞图片上面得到的特征向量带入训练好的每一个决策树,每个决策树进行投票,得票最多的类就是该其他三类白细胞最后的分类结果。
在CellaVision数据库1080张图片上进行测试,结果如表2所示