眼底图像分割算法的主要组成

三、眼底图像分割算法的主要组成

(一)预处理

在眼底图像分割算法中,对原始图像进行合适的预处理,可以提高分割网络的分割性能。常用的预处理方法有以下几种:灰度变换、对比度受限的自适应直方图均衡化(contrast lonstrained adaptive histogram equalization,CLAHE)、伽马变换、标准化。其中前三种预处理方法用于增强待分割目标与背景的对比度,有利于之后分割网络的学习。标准化用于统一数据集的均值和方差,使所有的特征保持同分布,从而增强分割网络的泛化性能。

1.灰度变换

眼底图像均为三通道的彩色图像,因此在某些分割任务中,为了实现目标分割这种二值分类任务(如眼底图像血管分割任务中,对血管信息与背景信息的判断分类),首先要把三通道图像转换成单通道图像。在彩色图像中,每个像素点所呈现的颜色是由三原色R(red)、G(green)、B(blue)按照比例相互叠加得到的,各自在0~255的范围中取值。而灰度图像中的每个像素点由8位的非线性尺度来表示,其中0为黑色、255为白色,将每个像素点用不同等级的黑色来表示。这两类图像可以通过公式(3-10)转换得到。

2.对比度受限的自适应直方图均衡化

眼底图像由于拍摄时光线不均匀,以致待分割目标和背景之间的对比度并不是很高,出现部分待分割目标在图像中不清晰的现象,因此需要对图像进行CLAHE处理来提高图像中血管和背景之间的对比度。直方图均衡化的本质是通过非线性拉伸来均衡图像灰度值,这种方式是存在一些缺点的,即变换后的图像可能会丢失一些细节信息,并对一些图像进行过度增强。而CLAHE可以通过计算图像的局部直方图来重新分配图像的亮度,而且还可以通过限制局部直方图的振幅来降低图像的对比度,从而避免由于局部对比度过高而产生的畸变或过大的图像噪声。

3.伽马变换

伽马变换是对图像灰度值的非线性运算,使得输出图像灰度值与输入图像灰度值呈指数关系,如公式(3-11)所示。

其中,G表示图像中每个像素的灰度值,S表示经过变换输出的灰度值,γ表示可调整的参数值。我们通过调整γ的值,可以对图像的对比度进行调整,使得明暗部分对比更强,即待分割目标信息与背景信息的对比度更强,从而提高了最终的图像质量,方便之后的网络学习训练。

4.标准化

标准化是通过数据去均值的方式实现中心化,使得数据集中的特征保持同分布。同分布的训练集可以保证网络接受的数据分布更加稳定,网络更容易学习,训练速度更快,并且增强网络的泛化性能。其转换公式(3-12)如下。

其中,image表示图像矩阵,mean表示均值,std表示标准差。

(二)数据扩增

由于眼底图像的采集难度比较大,并且人工对眼底图像进行标注需要大量的人力资源,导致可用的眼底图像数据比较稀少。并且眼底图像分割网络多数采用卷积神经网络,其深层的结构特性使得内部参数较多,因此训练数据集太少容易造成训练出来的网络模型泛化能力弱和过拟合现象,使得最终分割结果的评价指标很低。因此需要对训练数据集进行扩增,优化网络的分割性能并防止网络的过拟合。数据扩增通常采用旋转、平移、翻转、随机噪声添加等手段。在眼底图像的血管分割任务中,数据扩增也可以采用随机采样小图像块的方式。由于包含了随机性,数据扩增而来的图像可被认为是一张新图像,这样就增加了模型的鲁棒性和保证了训练过程的稳定性,避免训练过程中网络过拟合。

(三)训练阶段

在网络模型训练过程中,超参数调整是一个非常重要的环节。通过观察监测训练集和验证集在每次迭代中的损失值和准确率,来对各个参数进行调整,以便训练的模型能具有更佳的泛化效果。下面将分别介绍不同超参数调整的方法。

1.学习率

学习率用于梯度下降过程中每次权重参数的更新。学习率在整个训练中可以始终保持固定值,也可以是自适应变动的。通常在刚开始训练时,把学习率设置大一些,用以加快模型的收敛速度,在训练后期根据损失变化情况可以把学习率降低,让网络模型的损失震荡减小,以便取得更优的训练效果。

2.批次大小

批次大小是指每次训练送入模型的样本数。一般使用大批次的样本数训练,会加快网络的收敛速度,但也有可能因为批次设置过大而导致内存不足。

3.优化器

优化器主要用于梯度下降。目前常用的优化器有SGD、Adagrad、RMSProp、Adam、Ftrl,其中Adam优化器能快速收敛且在适应性学习上表现良好。

4.迭代次数

迭代次数是指整个训练集送入神经网络的训练次数,当测试集准确率和训练集准确率相差较小时,可认为当前迭代次数合适。当测试集准确率先变大后变小时,说明出现了过拟合,需要减少迭代次数。

(四)性能评估

常用的评估网络分割性能的指标有:准确率、精准率、敏感性、特异性、受试者操作特征曲线(ROC)下的面积(AUC)、F1分数(F1 Scores)等。为了完整描述各个指标的含义,需要引入混淆矩阵的概念。混淆矩阵包括四种类型,分别是真阳性(TP)、真阴性(TN)、假阳性(FP)、假阴性(FN)。

准确率是指预测正确的样本占总样本的数目,用公式(3-13)表示为

精准率是指所有预测为阳性的样本中,真阳性所占的比例,可用公式(3-14)表示为

召回率是指所有真实值为阳性的样本中,被正确预测成阳性的样本所占的比例,可用公式(3-15)表示为

敏感性也是指所有真实值为阳性的样本中,被正确预测成阳性的样本所占的比例,可用公式(3-16)表示为

特异性是指所有真实值为阴性的样本中,被正确预测成阴性的样本所占的比例,可用公式(3-17)表示为

受试者操作特征曲线(ROC)是在以假阳性率(预测出来的假阳性样本占所有真实阴性样本的比例)为横坐标、以真阳性率(预测出来的真阳性样本占所有真实阳性样本的比例)为纵坐标的二维平面直角坐标系当中,通过调整网络中的分类阈值,得到多组真阳性率和假阳性率数值,将这些数值在坐标系中描点连线,从而形成了ROC曲线。而AUC则指的是ROC曲线下与两个坐标轴形成的区域面积,如果AUC越接近于1,那么网络的效果越好。

F1分数定义为精准率和召回率的调和平均,反映了网络的稳定性,可以用公式(3-18)表示为

Jaccard相似系数(Jaccard similarity coefficient)是用来判断两个有限样本集之间的相似程度,把血管分割结果的真实值集合设为A,预测值集合设为B,那么它可以用公式(3-19)表示为