本博文主要分析了基于传统计算机视觉的细胞分割算法和基于深度学习的细胞分割算法。主要针对医学影像分割算法。包括了FCN全卷积网络的细胞分割效果,U-Net细胞分割效果。查阅了采用深度学习分割医学影像的几十篇论文,做出的总结。
医学影像分割——细胞分割算法分析与总结
1. 基于传统算法的细胞分割总结
1.1几种常用二值化方法
1.1.1 全局二值化,简单,但是依赖于选择的阈值,对光照不均衡的图像,背景和前景相似的图像处理效果差。
1.1.2 最优阈值方法(基于直方图)。这种方法基于对图像像素强度的概率分布,选择两个概率分布的交界处作为阈值,能够得到最小的分割误差。
1.1.3 OTSU大津阈值方法(基于聚类)。这种方法是基于统计判别分析,计算出一个阈值能够最小化类内方差,最大化类内方差。
1.2分水岭算法
1.2.1 基于标记点约束的分水岭算法。一般针对细胞影像分割,细胞图像中都有标记物,将标记物当做一个水坝的初始位置,不断的进行注水,直到两个水坝的水位相交,修水坝,分割完成。
1.3混合方法
为了提高分割性能,往往采用多种方法结合,缓解单独一个方法造成的性能下降。
1.3.1 利用图割的方法进行细胞分割。
采用混合图割的方法,自动二值化图像,接着采用被基于距离图的自动选择方法约束的LoG(Laplacian-of-Gaussian)进行种子点提取。
1.4最小化模型用于细胞分割
基于模型的方法进行细胞检测和分割,往往过度依赖于细胞形状特征的先验信息。由于采用了该细胞明确的性质,这会引入细胞分割的偏差。而采用轮廓的方法,会不依赖于细胞核形状,染色特征,能够处理医学细胞影像中的大多数分割问题。最小模型分割方法如下:
(1)检测所有的封闭轮廓;(2)轮廓评估;(3)生成不重叠分割;(4)轮廓优化;(5)分离凹目标;(6)对剩余区域进行分类,基于染色的特性,分为目标细胞和其他物体。
2. 基于深度学习的细胞分割算法总结
2.1 FCN全卷积神经网络
FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。
2.2 U-Net
网络架构如下:
U-Net模型是一种改进的FCN结构,因其结构形似字母U而得名,应用于医学图像的语义分割。它由左半边的压缩通道(Contracting Path)和右半边扩展通道(Expansive Path)组成。压缩通道是典型的卷积神经网络结构,它重复采用2个卷积层和1个最大池化层的结构,每进行一次池化操作后特征图的维数就增加1倍。在扩展通道,先进行1次反卷积操作,使特征图的维数减半,然后拼接对应压缩通道裁剪得到的特征图,重新组成一个2倍大小的特征图,再采用2个卷积层进行特征提取,并重复这一结构。在最后的输出层,用2个卷积层将64维的特征图映射成2维的输出图。
3. 基于传统算法的细胞分割实现
3.1 传统分割算法的实现步骤
为了评估传统分割算法的性能,在给定数据集上实现了细胞分割。以下为实现步骤。(由于是合作项目,算法不方便透露)。
3.2结果分析
基于传统计算机视觉的细胞分割在处理前景、背景有较大差异,目标之间间距较大的细胞时,能够高效的处理,而面对前景、背景相似,且细胞连成一片的情况,则效果较差。如果需要提高精度,需要采用曲率,局部特征约束的方法。
4. 基于深度学习的细胞分割算法效果展示
以下的一些图像是调研的基于深度学习的细胞分割效果图,包括了各类医学影像的分割结果。通过多方面的分析和对比,可以看出一些算法还是没有将贴近的细胞分割开。
上图的第一列是原始图像,第二列是Ground Truth,第三至第五列是各种基于深度学习模型的分割效果。从中可以看出,和真实值相比,对于距离较近的细胞,分割效果不好,容易分割成一片。
上图是基于U-Net的以及其相关变体的分割效果图,可以看出,分割效果较好。分析原因可以看出,原始图像中,每个细胞分散得很开,没有连在一起,且前景、背景差异较大。
通过观察效果图可以看出,应用深度学习的算法,对于连在一起一片细胞,也将其分割为一个细胞。
对于密集型的细胞分割,基于深度学习的分割算法精度还是较低。如上图红框标注出来的地方,就是一大片细胞连成一起。
上图是将局部区域放大后,观察分割的结果。左图是Ground Truth,右图是分割结果图。
上图是采用FCN进行细胞分割的结果。第1列是原始图像,第2列是Ground Truth,第3列是分割结果。从红框标注出的地方可以看出,在原始图像中,贴的较近的图像,通过深度学习模型分割后,被连成了一片。
这里展示的结果和上述图像一样,红框标注的位置显示出来深度学习分割遇到了和传统计算机视觉分割的相同的问题。
上述方法展示出了一些改进的U-Net算法,对于一般的U-Net,容易将贴的较近的细胞分割成一个整体,而采用一些优化手段和深度学习模型调整,能够分开一些难分样本。
上图在细胞分布得很开的情况下,分割效果较好。而对于连在一起,贴的很近的细胞,从黄色箭头指示出的效果图可以看出,U-Net依然没有分割开来,而采用了优化方法的模型,能够分割这类细胞。
对于密集型细胞,分割效果只有在80%左右。
从上图红框可以看出,对于和背景颜色很相似的细胞,采用深度学习的方法,并不能有效的分割出来。
一些U-Net在细胞分割和3D重建中的应用。
5. 传统细胞分割算法和基于深度学习的细胞分割算法对比总结
通过第4小节给出的各种实际分割效果展示,可以看出,对于细胞前景、背景差异较大,且细胞相对独立,没有大面积接触,粘连在一起的情况,深度学习能够对其较好的分割。而在处理难分的一片细胞时候,基于深度学习的分割算法也不能很好的分开。在细胞分割采用的评价标准里面,大部分分割算法的性能,都在90%前后。对于目前给定的数据集,由于前景、背景差异小,且细胞有很多连接在一起,采用基于深度学习的分割算法,其分割效果也不能保证和传统算法比,有较大提升。
对于数据集的问题,由于细胞图像分辨率较高,在一张图像中存在的细胞大概有300个左右,需要人工将细胞的每个轮廓标注出来,比较耗时且标注的费用较大。因此,自制数据集需要较大的标注成本。