摘要: 摘要:日新月异,欣欣向荣,伴随着我国科技水平的不断提高,经济的蓬勃发展,医疗体系建设也越发尤其独特的魅力。随着人类科学的发展,细胞广泛应用于科研、医疗、制药和疫苗行业中,细胞已与我们人类身体健康息息相关。而细胞是人类生命活动的基本单元,由于细胞在空间...
  • DOI:

    10.13738/j.cnki.acc.qklw60536

  • 专辑:

    科学Ⅰ辑;信息科技

  • 专题:

    信息、科学;综合科技

  • 分类号:

    G90;N92

摘要:日新月异,欣欣向荣,伴随着我国科技水平的不断提高,经济的蓬勃发展,医疗体系建设也越发尤其独特的魅力。随着人类科学的发展,细胞广泛应用于科研、医疗、制药和疫苗行业中,细胞已与我们人类身体健康息息相关。而细胞是人类生命活动的基本单元,由于细胞在空间上的分布和数量可以在一定程度上反映人的身体情况,所以细胞计数在医疗诊断和实际应用等方面具有非常重要的地位和研究价值。现在使用的细胞计数是由人工完成的,所以既费时又费力,对工作人员的注意力要求严格。长期高强度的的工作,在一定程度上会由于研究者的精力下降进而影响到细胞计数的实际效率和准确性。所以为了能使细胞计数的任务对人力的投入和要求降低,向着智能化和自动化方向发展,本文提出了结合图像识别技术实现细胞自动计数的可行性研究。随着人工智能的浪潮,新生代的工具Python得到了前所未有的爆发,目前在各个领域中扮演着越来越重要的角色。由于Python具有简单、免费、兼容性、面向对象、丰富的库、规范的代码、可扩展性和可嵌入性等优势与特点,故而本文拟采用Python语言对实现细胞自动计数的目标展开研究,并为解决上述问题提出了方案,期望能够促进细胞计数领域的发展。

关键词:细胞计数;图像识别;Python;腐蚀运算;边缘检测

前言

一、研究背景

在细胞实验中,细胞计数是重要组成部分,应用于多种行业,如:检验科室、医疗、科学研究、高校、甚至有新兴于现在的美容行业。人类的生理和病理变化,时常会伴随着起血液内细胞组成的成分变化[1-2]。因此,能够在最短时间内精确地了解血液组分的变化情况可以为医生提供诊断与治疗疾病的重要依据。人体的血液主要包含红细胞、白细胞、血小板、血红蛋白[3]。

二、目的与意义

1.目的

细胞是生物体的最基本单位,而在实际临床应用上的细胞计数是医务人员根据细胞组分的变化情况来对病人进行病情诊断使用的最基本、最有效、和最频繁的操作手段之一。在生物体中,细胞需要具有一定数量,才能一起完成人体的各种生理活动,而生物体内某些细胞组分的变化会导致人体出现一系列的问题,从而导致病情的发生[4]。为此在医学上需要进行细胞计数来辅助诊断病情,所以高效而准确的细胞计数方法是研究的主要方向。

2.意义

本文应用python处理医学细胞图像的方法,通过快速的识别图像中细胞数目,可以大大减少人力物力,节约时间。使医学细胞计数走向数字化、智能化的进程,对于未来医疗技术智能化、自动化的发展和实际临床细胞计数诊断病情具有非常重要的研究意义。

三、研究创新点

本课题就是利用python图像处理技术对细胞进行全自动计数,并且使得计数结果能以屏幕显示,且计数结果不会受到细胞形态尺寸的干扰,测定结果精确度较高、误差较小,可用于实际工作。

研究内容

一、图像预处理

在进行细胞计数前,细胞图像的质量会直接影响到算法对细胞进行计数的精度,故需要进行预处理。图像预处理目的是为了消除图像中与细胞计数无关的信息,最大限度地简化数据,从而提高细胞识别计数的精确度。

1.读取样本图片

利用cv2.imread(path,flag)函数可以将图像转化为数组以便后续处理和运算,其中第一项参数为样本图片的路径(注意:路径不能有中文),第二项参数为图像的通道信息和色彩信息。

2.灰度化处理

为了提升图像识别的准确性,必须对彩色图像进行灰度化处理,即将其转换为灰度图像。本文通过分析灰度图对边缘点、角点及曲线等细节信息的影响,提出了一种基于区域生长法的灰度图像去噪方法。灰度图在保持图像轮廓和特征不变的前提下,仍然能够有效地呈现整幅图像的轮廓和纹理[15]。

3.图像锐化处理

尽管灰度图能保留下样本图片的轮廓和特征,但是后续识别过程中的准确度仍然受样本图片的清晰度、对比度所限制。基于以上原因,需要对灰度图进行锐化处理,使图像的前景(细胞)相较于背景更清晰、锐利,达到提高识别率的目的[16]。

二、细胞计数

1.腐蚀分割法计数

1.1二值化

预处理后的图像中任一像素点的灰度值有256种可能(即0-255),所谓“二值化处理”就是将大于某一灰度值的像素转换为白色,小于该灰度值的像素转换为黑色,这一过程称为图像的二值化,此灰度值称为阈值[17]。通过二值图像,能更好地分析物体的形状和轮廓,它就像一张部分镂空的纸,把我们不感兴趣的区域遮掉。根据选取阈值的方式,二值化方法分为全局阈值法和自适应阈值法。对同一图像中不同区域使用了不同阈值,这就使得我们可以在亮度不同时取得较好效果。针对已有算法计算量大,精度低的问题,提出一种基于自适应边缘检测与快速傅立叶变换相结合的多分辨率图像增强方法[18]。

1.2腐蚀与膨胀

腐蚀是一种通过削减边界点并使其向内收缩的过程,以消除那些规模较小且毫无意义的实体。在实际应用中,通常使用膨胀和腐蚀来处理这些问题。膨胀是一种将物体所接触的所有背景点融合在一起的过程,从而使得物体的边界向外扩张,以填补其中的孔洞。本文主要介绍了利用小波变换提取图像边缘特征并进行腐蚀和膨胀处理的方法。它的工作原理与腐蚀的本质相反[19]。

1.3计算轮廓数目

利用cv2.findContours(image,mode,method)函数提取图像中的所有轮廓,其中第一项参数为输入的图像名称,第二项参数mode表示轮廓检索模式,通常都选择RETR_TREE找出所有的轮廓值,第三项参数method表示轮廓逼近方法,本文选择使用CHAIN_APPROX_NONE表示所有轮廓都显示。最后统计提取的独立轮廓个数,即为样本图像中的细胞数目[20]。

2.边缘检测法计数

2.1Canny边缘检测

边缘是指图像的像素值发生重大变化的部分,所以边缘通常出现在图像中两个不同区域之间的边界上。边缘检测是一种重要的图像分析技术,可用于分析图像中对象结构的图像特征。Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法[21-22]。

2.2Hough圆检测

Hough变换是一种将一个二维图像空间中的圆转换为该圆的半径、横坐标和纵坐标,从而确定三维参数空间中的一个点的复杂过程,所以圆周上任意三点所确定的圆,经Hough变换后在三维参数空间里对应于一个点[23-24]。圆周上任意三点确定一个候选圆,遍历圆周上所有点,可得到许多候选圆。遍历结束后选择一个能使绝大多数点均在圆周上的圆,并将该圆心确定下来。再基于圆心计算最佳半径大小。

2.3计算圆的数目

根据Hough变换得到圆的信息后,查找所有的圆。统计圆的数目,即为样本图像中的细胞数目。

结果与讨论

一、图像预处理

预处理阶段,在读取样本图像时,将参数设定为2|4,保留图片的全部通道信息和色彩信息。再根据公式:灰度值=0.299×R+0.587×G+0.114×B,将图像灰度化处理。最后采用自适应直方图均衡化函数进行锐化处理,其中图块大小设定为8×8,限制对比度阈值设定为2。本文选择两个样本图片展开研究,预处理结果如图1所示。

基于python的细胞识别计数方法(图1) 

图1 预处理结果

二、细胞计数

1.腐蚀分割法计数

本方法首先对预处理的图像二值化,二值化的分割阈值由OTSU法自动计算得到,二值化后的结果如图2所示。然后再对图像进行闭运算,填充闭合物体(细胞)里面的黑色小孔洞(细胞核),结果如图3所示。接着进行开运算,目的是消除小区域,分离粘连和重叠的细胞。为了提高识别率,在开运算前可以先进行一次腐蚀操作。腐蚀操作和开运算操作时的腐蚀力度需要根据不同样本图像选择合适的值,对于样本①可设定为16和8,对于样本②可设定为10和5,结果如图4所示。最后统计独立轮廓数目,即为计算机识别的细胞数目,如图5所示。计数结果显示在图5窗口的左上角,样本①的计数结果为216个,样本②的结果为161个。

基于python的细胞识别计数方法(图2) 

图2 二值化处理结果

基于python的细胞识别计数方法(图3) 

图3 闭运算结果

基于python的细胞识别计数方法(图4) 

图4 腐蚀+开运算结果

基于python的细胞识别计数方法(图5) 

图5 腐蚀分割法计数结果

2.边缘检测法计数

本方法首先利用Canny边缘检测算法对预处理后的图像进行处理,从而得图像的边缘信息,经多次测试将高阈值设置为255,低阈值设置为100,能达到最优效果,处理结果如图6所示。然后对所有边缘信息进行Hough圆检测,这一过程中所检测圆的半径范围如何取值至关重要,由于样本①的细胞较小,所以半径范围设定为15-29,而样本②的细胞较大,故半径范围设定为15-38。最后根据Hough变换得到圆的信息后,查找所有的圆。统计圆的数目,即为样本图像中的细胞数目,计数结果如图7所示。计数结果显示在图7窗口的左上角,样本①的计数结果为228个,样本②的结果为196个。

基于python的细胞识别计数方法(图6) 

图6 边缘检测结果

基于python的细胞识别计数方法(图7) 

图7 边缘检测法计数结果

结论

本文采用两种图像识别方法分别对两个样本图片中的细胞进行识别并计数。腐蚀分割法的计数结果为样本①细胞216个,样本②细胞161个。边缘检测法的计数结果为样本①细胞228个,样本②细胞196个。从结果可以看出,边缘检测法对两个样本的识别结果都高于腐蚀分割法,所以边缘检测法的识别率更好,效果更精准。但是从图5和图7可看出,尽管边缘检测法的识别率更高,但是该方法对于图像边缘区域的不完整细胞识别不准确,这是因为不完整的细胞无法通过Hough变换确定圆心位置。而腐蚀分割法对于边缘区域的不完整细胞仍能较好地识别出来,但是由于识别机制的限制,高度重叠的细胞无法较好的分隔开,进而会将多个细胞识别为一个细胞。综上所述,两种识别方法各有优势与不足,实际应用时如何取舍还是需要根据样本图像来选择合理的方法。

参考文献

[1] 夏啟凯. 基于Python的细胞识别SVM模型参数优化方法研究[D]. 齐鲁工业大学, 2019.

[2] 胡和平. 血细胞分析仪的工作原理及血细胞分类计数[J]. 计量与测试术, 2012,39(05):4+6.

[3] 吴银峰. 基于无透镜成像的细胞尺寸检测算法研究及系统实现[D]. 西安理工大学, 2022.

[4] Bahr Timothy M, Christensen Thomas R, Henry Erick, et al. Fragmented red blood cell counts of neonates with new-onset gastrointestinal disturbances[J]. Journal of perinatology: official journal of the California Perinatal Association, 2022.

[5] 程之范. 西方17世纪的医学[J]. 中华医史杂志, 1994(04):248-253.

[6] 付苗苗. 基于深度学习的血细胞检测研究[D]. 电子科技大学, 2022.

[7] 刘铸, 苏紫云, 牛英. 血涂片与血液分析仪[J]. 生物学通报, 2010,45(08):12-14.

[8] 杨先花. 基于改进分割算法的血液红细胞的识别计数[D]. 东北林业大学, 2010.

[9] 王筱艳. 细胞图像的分割与计数[D]. 四川大学, 2007.

[10] 魏文明. 基于极限学习机算法的彩色血细胞图像自动分割[D]. 江西财经大学, 2014.

[11] 曾萍萍. 人体血液白细胞五分类数字图像处理系统[D]. 南昌大学, 2006.

[12] 胡一泓. 基于计算机视觉的血细胞分类识别方法研究与应用[D]. 湘潭大学, 2021.

[13] 张德荣. 植物表型性状参数快速检测研究[D]. 浙江大学, 2019.

[14] 倪冯俨. 基于增强算法的绝缘子图像采集终端研究[D]. 西安科技大学, 2021.

[15] 马静云. 静脉图像增强算法研究及实现[D]. 合肥工业大学, 2020.

[16] 彭然. 基于计算机视觉的简单组织织物密度检测研究[D]. 武汉纺织大学, 2021.

[17] 阳莹莹. 差分进化算法的改进及其在多阈值图像分割上的应用[D]. 广西大学, 2022..

[18] 秦晓君. 基于MATLAB GUI的细胞荧光图像分析系统[D]. 中南民族大学, 2020.

[19] 罗林江. 基于DBSCAN的文本检测识别技术研究与应用[D]. 广东工业大学, 2020.

[20] 胡松, 黄志远, 邓磊, 等. Canny算子在图像处理中的优化研究[J]. 计算机技术与发展, 2020,30(10):106-110+209.

[21] 郭运冲, 李孟军, 刘名果, 等. 基于Canny算子的建筑裂缝边缘检测改进算法[J]. 计算机仿真, 2022,39(11):360-365+410.

[22] Ding L, Goshtasby A. On the Canny edge detector[J]. Pattern Recognition, 2001,34(3):721-725.

[23] 孙晓敏, 朱晓春, 周雯超, 等. 基于Hough变换实现圆的快速检测方法[J]. 制造业自动化, 2018,40(05):115-119.

[24] Ballard D H. Generalizing the Hough transform to detect arbitrary shapes[J]. Pattern Recognition, 1981,13(2):111-122.



更多
引文网络
  • 参考文献
  • 引证文献
  • 共引文献
  • 同被引文献
  • 二级参考文献
  • 二级引证文献