基于U-Net++神经网络模型的细胞计数方法研究
Cell Counting Method Based on U-Net++ Neural Network Model
DOI: 10.12677/SEA.2023.121017, PDF, HTML, XML, 下载: 177  浏览: 782 
作者: 刘 钊:浙江理工大学计算机科学与技术学院,浙江 杭州;代 琦:浙江理工大学生命科学学院,浙江 杭州
关键词: 细胞计数神经网络U-Net++Cell Counting Neural Network U-Net++
摘要: 细胞计数是医学图像研究中一个重要的科学问题,精准的细胞计数能够检测潜在疾病与相关病变。针对现有计数方法中准确率不高和效率低的问题,本文提出了基于U-Net++神经网络模型的细胞计数方法。首先对图片进行增强与锐化处理,进而分割图片和提取其高维特征,构建基于U-Net++神经网络模型进行训练与分类,最终实现细胞计数。实验结果表明,本文提出的计数方法准确率可达到97.4%,改进后的U-Net++神经网络模型提供了一种端到端的细胞计数方法,通用性较强,更加符合实际需求。
Abstract: Cell count is an important scientific problem in medical image research. Accurate cell count can detect potential diseases and related lesions. Aiming at the problems of low accuracy and low efficiency in existing counting methods, this paper proposes a cell counting method based on U-net++ neural network model. Firstly, the image is enhanced and sharpened, then the image is segmtioned and its high-dimensional features are extracted, and the U-net++ neural network model is constructed for training and classification, and finally the cell count is realized. Experimental results show that the accuracy of the proposed counting method can reach 97.4%, and the improved U-net++ neural network model provides an end-to-end cell counting method, which has strong universality and is more in line with the actual needs.
文章引用:刘钊, 代琦. 基于U-Net++神经网络模型的细胞计数方法研究[J]. 软件工程与应用, 2023, 12(1): 163-173. https://doi.org/10.12677/SEA.2023.121017

1. 引言

细胞是构成人体基本结构和生理功能的基本单位,人体由数量众多的细胞组成。大量研究发现,红细胞作为血液的重要组成部分,其个数变化与大多数疾病的发生发展密切相关,视网膜细胞个数也影响视网膜脱离和复位之间的病理关系,白细胞数与人体是否遭受病菌入侵,导致疾病是否严重等情况密切相关,因此细胞计数可以作为疾病检测的重要依据,广泛应用于医学检测、临床分析等诸多领域。传统人工计数方法效率低,耗时长,准确率不高,占用了大量的人力物力。针对上述问题,研究人员引进了计算机学科机器视觉的相关研究,开展细胞图像自动分割计数的研究,各式各样的计数方法也相继被提出,王红梅等人提出了基于全局阈值分割的细胞计数方法 [1] ,朱会平等人提出了基于边缘提取的细胞计数方法 [2] ,李子柔等人提出了基于计算连通域面积判断细胞个数的细胞计数方法 [3] ,潘佚等人提出了基于数学形态学的细胞计数方法 [4] ,以及各种基于神经网络模型的细胞计数方法。针对细胞稀疏、对比度明显、间距明显、亮度高的图像上述方法可以较好地处理,但对于密集型、粘连重叠较多层次不明显的细胞图像分割效果并不理想,无法将粘连细胞分割开,误差率大。为了解决上述方法的问题,针对密集型细胞图像特点,本文在深入分析和研究现有的基于图像处理的细胞计数方法基础上,构建了U-Net++ [5] 神经网络模型提取高维特征信息,输入全连接神经网络做分类训练,设计了一种端到端的细胞计数方法。

2. 数据与方法

本文首先对数据集进行标注计数,再对标注图片进行增强和锐化处理,接着对预处理后的图像通过U-Net++神经网络进行训练,获取到最高交并集的数据模型,进而获取到每张细胞图片的更为准确的高维特征,结合全连接神经网络,对上述高维特征进行训练,获取到每张图片细胞的分类数的概率,从而得到图片上的细胞个数,整体设计思路如图1示。

2.1. 数据集制作

本文使用labelme软件进行标记工作,制作数据集。在原图上将单个细胞标记出来,然后将原图和标记后得图片压缩成96 * 96大小的灰度图(见图2图3),为模型训练提供数据基础。在细胞标记的基础上,进一步统计图片中的细胞数目,方便后续细胞计数。

Figure 1. Algorithm flow chart

图1. 算法流程图

Figure 2. Original drawing

图2. 原图

Figure 3. Image after marking

图3. 标记后图片

2.2. 细胞计数方法论

2.2.1. 图片预处理

图像增强是为了解决图像由于噪声、模糊退化和对比度降低等问题导致的图像质量低的现象,采用一系列技术方法使其获得最好的视觉效果。通过对图像的处理,使图像比处理前更适合一个特定的应用突出图像中的特征信息,扩大图像中不同物体特征间的差别,为图像信息的识别与提取奠定基础。本文使用了随机九十度旋转,随机翻转,随机色调饱和度值,随机亮度,随机对比度等方式进行图像增强,扩大模型训练规模,使模型提取的特征更加全面。最后进行图像归一化,简化图像矩阵的计算,同时抵消其他变换函数对图像的影响。为了使图像灰度反差增强,模糊细胞变得更清晰,从而使细胞特征更明显,本文对图像进行了锐化处理,常用的锐化处理算子有Roberts算子、Prewitt算子、Sobel算子、拉普拉斯算子,通过实验验证,本文采用了以拉普拉斯算法为算子的锐化处理,其原理是求二维图像各向同性的二阶导数,通过比较邻域中心像素灰度和它所在的领域内其它像素的平均灰度,当中心像素灰度高时,其灰度进一步提高,当中心像素灰度低时,中心像素的灰度应被进一步降低。

其推导如下:

对于图像的任意一点 ( x , y ) ,滤波器的响应 g ( x , y ) 是滤波器系数与该滤波器包围的图像像素的乘积之和,滤波器的中心系数 w ( 0 , 0 ) 对应位置 ( x , y ) 的像素,假定滤波器系数为 w ( 1 , 1 ) w ( 1 , 0 ) w ( 1 , 1 ) w ( 0 , 1 ) w ( 0 , 0 ) w ( 0 , 1 ) w ( 1 , 1 ) w ( 1 , 0 ) w ( 1 , 1 ) 其公式表示如下:

g ( x , y ) = w ( 1 , 1 ) f ( x 1 , y 1 ) + w ( 1 , 0 ) f ( x 1 , y ) + + w ( 0 , 0 ) f ( x , y ) + + w ( 1 , 1 ) f ( x + 1 , y + 1 ) (1)

将其写成向量形式简化计算:

R = W 1 Z 1 + W 2 Z 2 + + W m n Z m n = k = 1 m n W k Z k = W T Z (2)

其中R为响应特性,w为滤波器系数,z为滤波器覆盖得响应图像得灰度值。

对使用大小为 m × n 的滤波器 w ( s , t ) 对一副图像 f ( x , y ) 进行线性空间滤波,其中 m = 2 a + 1 n = 2 b + 1 a , b 为正整数,其公式表示如下:

g ( x , y ) = s = a a t = b b W ( s , t ) f ( x + s , y + t ) (3)

拉普拉斯锐化处理及在(1)式基础上进行二阶微分计算,拉普拉斯滤波器为 1 1 1 1 8 1 1 1 1 ,其掩膜中心系数c为−1,可得公式:

g ( x , y ) = f ( x , y ) + c | 2 f ( x , y ) | (4)

c为掩膜中心系数, f ( x , y ) g ( x , y ) 分别为输入图像和锐化后得图像。

2.2.2. 图像分割与特征提取

在对细胞图片计数之前,需要对图片进行分割,常用的图片分割模型有FCN [6] ,U-Net [7] ,PSPNet [8] 等模型。由于本文分割的是细胞图片,语义简单,数据量较少,为了保证良好的分割效果,本文选取了U-Net的强化版本U-Net++神经网络模型。自2015年以来,U-Net在生物医学图像分割领域得到了广泛的应用,引用已达到四千多次,非常适合图像语义简单,数据量少的医疗图像处理。图4是U-Net的网络模型图,由编码器和解码器组成,通过一系列嵌套的密集卷积块连接,编码和解码是为了压缩图像和去噪声,通过升采样和降采样得到分割结果。降采样就是对输入图像提取特征,降低运算量,还可以减少过拟合的风险。升采样就是把抽象的特征再还原解码到原图的尺寸,通过四次下采样提取特征,在通过四次上采样把图像恢复到进行下采样之前的尺寸,在每次进行上采样时对特征提取部分对应的通道数相应尺度进行融合拼接,方便对像素点逐个分类。

U-Net网络模型基于编码器和解码器思想,编码器由卷积操作和下采样操作组成,解码器由反卷积操作和上采样操作组成。

假设原图为 [ 12 20 30 0 8 34 12 12 70 100 2 37 25 0 4 12 ] ,经过卷积和之后为 [ 20 30 12 37 ] ,输出大小变为原来宽高的1/2,设输入为 ( N , C i n , H i n , W i n ) ,输出为 ( N , C o u t , H o u t , W o u t ) ,编码器公式如下:

H o u t = H i n + 2 × padding [ 0 ] dilation [ 0 ] × ( kernel_size [ 0 ] 1 ) / stride [ 0 ] + 1 σ (5)

其中 α 表示向下取整减去的小数部分, α [ 0 , 1 ) ,且 α × stride [ 0 ] Z + 。将该步骤重复五次之后,将得到的特征图送入解码器,通过解码器将特征图恢复到原始分辨率,该步骤主要涉及逆卷积和通道拼接。逆卷积是将输入的特征图进行一些变化,得到新的特征图,利用卷积核设置在新特征图上做常规的卷积,得到的就是逆卷积的结果。其公式推导如下:

H o u t = ( H i n 1 ) × stride [ 0 ] 2 × padding [ 0 ] + kernel_size [ 0 ] + output_padding [ 0 ] (6)

图5是U-Net++的网络模型图。它是在U-Net的基础上进行了一系列的改良,重新设计的跳路转换了编码器和解码器子网络的连通性。由于U-Net网络对深层特征的提取效率不高,U-Net++综合了深层次和浅层次的各种特征,通过特征叠加的方式整合处理,提高网络模型对各种细微特征的感知。在实际分割模型训练中,由于降采样和升采样的过程会丢失掉一些细微的特征,比如大物体的边缘信息和小物体就很容易被模型忽视掉,其原因是不同大小感受野的特征对于大小不一的目标对象的敏感度是不同,感受野大的特征,可以很容易的识别出大物体的,对于小物体,就需要感受野小的特征来协助处理。U-Net++拥有不同大小的感受野,可以抓取不同层次的特征。在U-Net中,编码器的特征图直接在解码器中接收,而UNet++历了一个密集的卷积块,卷积层数与金字塔层数有关。例如,节点 x 0 , 0 x 1 , 3 之间的跳跃路径由一个有三个卷积层的密集卷积块组成,每个卷积层之前都有一个拼接层,将同一个密集块的前一个卷积层的输出与对应的卷积层融合在一起。其节点的特征表示为 x i , j ,计算公式如下:

x i , j = { h ( x i 1 , j ) , j = 0 h ( [ [ x i , k ] k = 0 j 1 , u ( x i + 1 , j 1 ) ] ) , j > 0 (7)

函数h为卷积运算后的激活函数,u为上采样层,[]为级联层。j = 0层的节点只接收来自编码器前一层的一个输入;在j = 1层的节点接收两个输入,都来自编码器子网络,但在两个连续的层,而j > 1级的节点1接收到j + 1个输入,其中j个输入是同一跳过路径上的前j个节点的输出,最后一个输入是下一个跳过路径上采样的输出。

2.2.3. 细胞计数

基于计算机视觉的细胞计数方法常常利用连通域计算处理思想,将图像二值化后,具有相同像素值的相邻像素则组成像素集合,该集合就是一个细胞的连通域,标记出图片中的多个连通域,统计其数量,可以视其为细胞个数。但上述方法比较适合细胞与细胞之间有明显间距的图片,如果细胞之间有堆叠和

Figure 4. UNET model structure diagram

图4. UNET模型结构图

Figure 5. UNET++ model structure diagram

图5. UNET++模型结构图

粘连(图6),该算法会将多个粘连细胞也当作一个连通域整体,计算不出实际的细胞个数。为了解决粘连细胞识别不准确的问题,提高计数的准确率,本文提出了一种基于U-Net++卷积神经网络的改进模型,可以较好解决分离粘连细胞,完成对图片中细胞的计数工作。如图7所示,该模型是在U-Net++模型的基础上针对细胞计数作出的改进,充分利用了U-Net++提取的高维特征。由于U-Net++模型对深层次及浅层级的特征提取有很明显的效果, x 4 , 0 位置已经获取了图片的高维特征,将 x 4 , 0 位置的高维信息输入全连接网络进行分类训练,通过在图片预处理阶段获得的细胞实际数目作为标签,可得到该图片细胞数在1至512种分类中的概率值,该概率值在0到1之间,概率最大的就是预测出的图片细胞数目。

全连接神经网络线性变换基本表示为:

z = w t x + b (8)

w表示权重,b表示偏置量。

本文中全连接神经网络拥有三层,其过程如下:

假设 X 4 , 0 位置特征组成m行n列c通道的图像矩阵为 X = [ x 1 , 1 x 1 , n x m , 1 x m , n ] ,输入层为第一层则:

Y 0 = X (9)

h 1 层激活后输出 Y h 1 ,经过权重 W h 映射后得到第h层激活前输入 Z h ,表示如下:

Z h = Y h 1 W h + B h (10)

激活函数表示为:

δ ( x , y ) = 1 1 + e z (11)

δ 表示非线性输出值,z表示线性输出值;

当网络最后一层节点数为 P h ,采用交叉熵函数度量损失,表示如下:

J = 1 K k = 1 K h = 1 P h t k , p ln ( y k , p H ) (12)

J表示损失函数, t k , p 表示第k个样本中的第p个元素。

其中 L h 表示第h层网络, P h 表示第h层网络节点数目, W h 表示第 h 1 层输向第h层映射的权重矩阵, B h 表示第h层的偏置量, Z h 激活前第h层的线性输出, Y h 表示 Z h 经过激活函数后的输出。

Figure 6. Adherent cell

图6. 粘连细胞

3. 实验结果与讨论

细胞计数已经广泛应用于医学检测、临床分析等领域。随着计算机图像技术快速发展,各类细胞计数方法被相继提出。他们大致可以分为三类,第一类是利用边缘检测对细胞进行描边,通过计算描边

Figure 7. Network model for counting

图7. 计数的网络模型

个数实现细胞计数;第二类通过计算连通域,将连通域视作一个个细胞,统计连通域个数实现细胞计数;第三类通过神经网络分割细胞图片,基于面积计算细胞个数。前两类方法思路类似,对粘连细胞处理效果不好,会将粘连的细胞当成一个整体,影响计数的准确率。第三类方法只能大概统计出细胞的面积,并不确定细胞的实际面积,而且只能针对一张图片进行处理,通用性不强。本文方法是通过U-Net++提取细胞图片高维特征训练全连接计数网络来预测细胞数目,是一种端到端的计数方法,与前面三类方法相比,本文的方法准确率更高,更具备通用性。后续将从多个方面与其他方法进行比较,证明本文方法的可行性和优越性。

3.1. 锐化方法比较分析

图像锐化是图片预处理中一种重要步骤,会影响细胞计数的精度。为了进一步探究图像锐化的影响,本文分别采用Roberts算子、Prewitt算子、Sobel算子和Laplacian算子分别对图像进行了锐化处理,图片锐化处理后效果见如图8。由图8可见,采用Laplacian算子锐化后的细胞图像比Robert算子,Sobel算子和Prewitt算子好,图像锐化更能凸显图像中细节边缘信息。为了让下一步的图片分割和特征提取有更良好的效果,就需要在网络训练中获取更多的细胞特征,所以本文选择了拉普拉斯算子的图像锐化。表1为分别采用五种锐化算子的交并集和计数结果的对比,由表可知,采用拉普拉斯算子的锐化方法在图片分割的交并集及最终的计数结果中都有明显的进步。

Figure 8. Comparison of the sharpening operators

图8. 各锐化算子效果比较

Table 1. Comparison table of the effect of the sharpening process on the final result

表1. 锐化过程对最终结果影响对比表

3.2. 分割方法比较分析

图片分割是细胞计数中一个重要环节,直接影响到细胞计数的结果。本文比较了FCN,U-Net++和U-Net三种网络模型的分割效率(见图9图10)。通过图9图10的比较可以看出,U-Net++的分割效果更加细腻,对重叠细胞的分割也更加清晰,其分割表现更加优秀。为了进一步探究分割模型的影响,本文分别采用FCN,U-Net++和U-Net三种网络模型在细胞数据集开展细胞计数实验,结果如表2所示。由表2可知,从交并集上也能看出U-Net++更加适合对比较的分割计数,FCN网络模型分割后的交并集在70.8%,U-Net网络分割后的交并集在78.3%,而U-Net++为86.1%。上述结果表明,U-Net++网络模型拥有更广的视野,可以提取出更深层次的高维特征信息,有助于分类计数,所以本文选择了U-Net++网络作为图片分割和特征提取的网络。

Figure 9. U-Net++ after splitting

图9. U-Net++分割后

Figure 10. U-Net after splitting

图10. U-Net分割后

Table 2. Comparison table of cell division and intersection set

表2. 细胞分割交并集对比表

3.3. 计数方法比较分析

本文在两个数据集上同其他五种计数方法进行了比较,现已经数据集上传至百度网盘,需要使用可自行下载,数据集1 (链接:https://pan.baidu.com/s/1jMovkf2hmaBN2zVXZ7G6_Q,提取码:ziww)共670张图片,其中粘连图片234张,未粘连图片436张,数据集2 (链接:https://pan.baidu.com/s/1EaU_pafF3-tmOpPMUSVbQQ,提取码:11bw)共12,444张,由于该数据集为染色细胞图片,细胞数据较少,未划分粘连和未粘连细胞,用于验证方法效果。其他五种计数方法分别为基于连通域面积的计数方法,基于边缘提取的计数方法,基于阈值的计数方法,基于RNN的神经网络计数方法 [9] ,基于对抗神经网络的计数方法 [10] ,表3为六种计数方法在本文数据集上的结果对比,可以发现在六种方法中本文方法最优,而且在粘连细胞图片上本文方法更有明显的优势。在数据集1有粘连细胞的图片上准确率达到97.4%,无粘连细胞的上准确率达到98%,数据集2上的准确率为95.4%。

Table 3. Comparison of cell count results

表3. 细胞计数结果对比表

4. 总结

通过上述过程完成了细胞图片的分割与计数,经过实验,在锐化方法方面将无锐化,Robert算子,Sobel算子和Prewitt算子,拉普拉斯算子进行对比,根据交并集结果与最终计数结果选择了拉普拉斯算子锐化方法,在分割方法方面比较了FCN,U-Net,U-Net++三大网络模型,根据分割结果指标选择了U-Net++神经网络模型进行图片的分割和特征提取,在计数方法方面比较了基于连通域面积的计数方法,基于边缘提取的计数方法,基于阈值的计数方法,基于RNN的神经网络计数方法,基于对抗神经网络的计数方法和本文计数方法共计六种计数方法,并在粘连细胞和无粘连细胞图片两个维度进行了比较,根据实验结果,本文提出的计数方式对粘连细胞的计数效果良好,计数准确率可达到97.4%左右,对于无粘连细胞图片可达到98%,并且改良后的方法是一种端到端的计数方法,特征提取过程由神经网络训练,不需要多步处理。这项应用解决了人工细胞计数的繁琐度,为细胞生物学实验及教学提供了高效、快速、准确的计算机自动化分析技术,节约了人力物力资源,可以满足实际应用。

参考文献

[1] 朱会平, 陈志远. 基于细胞显微图像的数量统计应用[J]. 实验室科学, 2011, 14(5): 73-75.
[2] 李子柔, 王健庆, 陈景森, 戴恺, 陈怡汝, 吕宇琛. 基于计算机视觉的细胞显微图像研究[J]. 福建电脑, 2017, 33(12): 104-106.
https://doi.org/10.16707/j.cnki.fjpc.2017.12.053
[3] 潘佚, 吴思宇, 邱蕾. 基于数学形态学的红细胞计数算法[J]. 南华大学学报(自然科学版), 2017, 31(2): 51-55.
https://doi.org/10.19431/j.cnki.1673-0062.2017.02.011
[4] Tian, T., et al. (2021) Class-Wise Fully Convolutional Network for Semantic Segmentation of Remote Sensing Images. Remote Sensing, 13, 3211-3211.
https://doi.org/10.3390/rs13163211
[5] Chan, S.X., et al. (2021) Res2-UNeXt: A Novel Deep Learning Framework for Few-Shot Cell Image Segmentation. Multimedia Tools and Applications, 81, 13275-13288.
https://doi.org/10.1007/s11042-021-10536-5
[6] Gamarra, M., et al. (2021) MC-Kmeans: An Approach to Cell Image Segmentation Using Clustering Algorithms. International Journal of Artificial Intelligence, 19, 80-94.
[7] Zhao, H.S., et al. (2016) Pyramid Scene Parsing Network. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, 21-26 July 2017, 6230-6239.
https://doi.org/10.1109/CVPR.2017.660
[8] 沈剑火. 基于深度学习的细胞分割的算法研究[D]: [硕士学位论文]. 合肥: 安徽大学, 2020.
https://doi.org/10.26917/d.cnki.ganhu.2020.000645
[9] 刘晓平. 基于深度学习的荧光显微成像中细胞自动计数方法研究[D]: [硕士学位论文]. 成都: 电子科技大学, 2020.
https://doi.org/10.27005/d.cnki.gdzku.2020.000662
[10] 王祥生, 王伟. 基于清晰度的细胞显微图像分割和计数方法[J]. 中国医学影像学杂志, 2014, 22(10): 797-800.