基于人工智能的视盘和视杯分割方法实例
(一)基于深度卷积神经网络的眼底图像视盘和视杯分割方法流程
本实例采用了一种端到端的、从图像到图像的、基于像素点分类的深度卷积神经网络结构。由于在对模型进行图像像素级别的分类任务时,训练数据的数量从原来的图像级别转变到了像素级别,这极大增加了训练样本的数量,因此很好地解决了训练深度卷积神经网络所需标注数据不足的问题。
本实例的视盘和视杯分割算法的具体流程,如图6-22所示。整个流程由2个主要部分组成:视盘分割部分和视杯分割部分。在图像输入端,对已提取的视盘区域进行血管分割和擦除等预处理。在训练视杯分割模型时,将人工经验的距离信息融入输入图像,并且基于视盘分割的模型参数进行微调,最后根据分割出的视杯和视盘图像进行杯盘比的计算,为青光眼的诊断提供辅助依据。基于深度卷积神经网络的视网膜眼底图像视盘和视杯分割算法具体分为以下4个步骤。
(1)对根据视盘定位提取出的视盘区域进行图像的预处理,由于血管信息对于视盘和视杯的分割结果存在一定干扰,所以需要在训练模型的输入端进行血管分割和擦除等预处理工作,并且对图像的每个通道进行减均值的归一化操作。
(2)将预处理后的图像输入深度卷积神经网络中训练相应的视盘分割模型,加载已有的在其他眼图像数据集上训练好的模型参数并在此基础上进行微调,通过前向传播和分割结果误差的后向传播对模型进行迭代训练,直到损失函数结果趋于稳定或达到预设的最大迭代次数。
(3)在训练好的视盘分割模型参数上进行视杯分割模型的参数微调,具体训练过程与视盘分割模型训练时类似,唯一区别是根据人工经验,在视杯分割模型的输入端加入图像像素点到视盘中心的距离信息以提升视杯分割时的精确度。
图6-22 基于深度卷积神经网络的视盘和视杯分割算法流程图
(4)用训练好的视盘和视杯分割模型在测试集上进行视盘和视杯的分割,并根据视盘和视杯轮廓接近椭圆这一先验知识,对最终分割的结果进行椭圆拟合以获得光滑的椭圆分割边缘,最后依据视盘和视杯的分割边界计算垂直杯盘比,并将杯盘比结果作为青光眼辅助诊断的重要依据。
(二)视盘提取区域的血管擦除
由于眼底图像的血管区域和视盘、视杯部分在形状、亮度、结构等物理特征上有较大差异,在分割视盘和视杯时,血管的出现会对分割结果的精准度有较大影响,并且在训练深度网络模型时,血管的复杂特征结构会降低模型对视盘和视杯特征的学习程度。因此,在训练视盘和视杯分割模型前对提取区域进行血管擦除是十分必要的。考虑到用滤波算法和形态学方法擦除血管容易模糊图像的细节信息,损失部分视盘和视杯的边缘信息,从而影响后续分割模型的特征学习,降低最后分割结果的精确度。本实例首先对视盘提取区域进行血管分割,之后基于血管分割结果对血管区域进行擦除。
1.血管提取
本实例使用Jos'e Ignacio Orlando等在2016年提出的眼底图像血管分割算法。该算法基于全连接条件随机场模型进行眼底图像血管分割,并使用结构化输出的支持向量机学习模型中势函数的权重参数,该模型在识别和检测细长的结构上性能优良,并且可以通过计算修正因子从而调整相应的特征和模型参数以适应不同分辨率的图像集。
具体来说,在原始的条件随机场中,图像可以被映射为图结构,每个像素代表一个结点,根据某个连接规则,每个结点和周边的结点以边的形式相连,而分割任务可以作为能量最小化的问题。假设y={yi}表示图像I中每个像素的标签,标签空间为L={-1,1},其中1表示血管,-1表示其他类别。因此图像I与标签y的条件随机场可以用吉布斯分布表示为:
其中Z(I)为规范化常量,Cg为图像I结构中的一系列组集。每个组集包含对应的势函数(c,这个分布代表给定图像I得到标签y的条件概率。从这个似然概率中可以得到吉布斯能量函数:
因此,通过最小化对应的能量可以得到最大化的后验标签:
在最小化能量函数后,可以得到图像的血管二值分割图。在全连接条件随机场中,假定图中的每个结点都和图像中的其他像素相连,通过高阶势函数,不仅可以利用邻域信息,而且可以考虑到大范围内像素点之间的相互作用,因此可以提升图像血管分割的精确度。
由于本实例中使用的眼底图像数据集缺乏血管标注,所以在包含血管标注的公开数据集DRIVE上进行血管分割的全连接条件随机场模型训练,之后将学习到的模型参数运用于本实例中的数据集以进行相应的血管分割。由于该模型学习到的参数与训练集图像的血管粗细相关,所以在使用该模型进行血管分割时要将数据集中提取的视盘定位区域进行相应的尺度缩放以获得较好的分割效果。视盘区域的血管分割效果见图6-23。
2.血管擦除
在进行视盘定位区域的血管分割后,以血管分割图像为掩模,进行血管部分的擦除。本实例中使用基于Mumford-Shah-Euler模型的图像修补方法,该方法是在Mumford-Shah变分图像修补模型的基础上改进的修补方法。在最小化能量方程的同时,考虑曲率因素,将Euler弹性方法引入模型,从而改进了曲线模型,以获得较好的图像修补效果。本实例中对提取出的视盘区域进行血管擦除的最终效果如图6-24所示。
(三)提取区域的视盘分割
在对提取的视盘定位区域进行血管擦除后,视盘与视杯部分的边界、亮度、形状等物理特性变得较为一致。在此图像基础上进行视盘和视杯分割深度网络的训练有利于模型对视盘、视杯特征的学习和提升最后分割结果的精确度。本实例采用了一种端到端的、从图像到图像的、基于图像像素点分类的视盘分割深度网络结构。该网络以VGG网络为基础结构,并且出于图像分割的目的,移除了原VGG网络用于分类任务的全连接层。因此该网络主要由卷积层、池化层和Re LU激活函数组成,是一种全卷积网络。
图6-23 视盘区域的血管分割效果示例图
图6-24 视盘区域的血管擦除效果示例图
在该网络中有5个卷积特征提取阶段,每个阶段由多个卷积层和Re LU激活函数组成;在同一个卷积阶段,由不同卷积核的卷积层产生的特征图尺寸相同。池化层作用于每个阶段的卷积后(除了第5个阶段),用于缩减特征图的尺寸以实现随着网络深度的增加信息逐渐抽象化的目的,这也是获得更好泛化性能的关键因素。
为了更有效地利用每个卷积阶段不同大小特征图的信息,受到Goog LeNet网络Inception结构的启发,通过针对视盘分割的特定卷积层提取每个阶段最后的特征图结果,这个特定的卷积层将不同尺度的特征图处理成与原输入图像大小相同的16个通道的特征图,并串接在一起,以获得从具体到抽象的特征图整体。同时在训练时于每个阶段的内部卷积中加入监督信息,即将每个阶段的卷积结果回归对应的分割图像,并计算相应损失。在网络的最后,使用卷积层线性组合之前的串接特征图以产生最后的分割结果。
出于局部特征提取和运算效率的目的,除了最后的线性卷积层是1×1大小的卷积核外,网络中的大多数卷积层为3×3的卷积核大小,该视盘分割深度网络的具体结构,如图6-25所示。
图6-25 视盘分割深度网络结构图
在网络训练时,图像中的视盘像素和背景像素的数量差距较大,为了解决在训练网络时出现的类不平衡的问题以达到较好地学习视盘特征的目的,本实例采用类平衡的交叉熵损失函数,该方法最早被提出用于自然图像的边缘检测任务。
首先假定训练集S={(Xn,Yn),n=1,2,…,N},其中N为训练图像总数,Xn代表输入图像,Yn代表图像中每个像素点的标签集合,即,j=1,2,…,
,
。为了简化起见,本实例省略了下标n,损失函数定义为:
其中W代表卷积网络的参数集合,可以通过后向传播进行训练。y+和y-分别为真实标签集y的视盘部分和背景部分的像素集合。当在训练集中各个类别之间存在着严重偏向的问题时,类平衡是相当重要的。系数(用于解决在图片中存在的背景像素数量远多于前景像素(在本实例中为视盘或视杯部分像素)的类不平衡问题,其中(=|y-|/|y|。观察图像标签可知,在本实例中视盘区域大约只占整个区域图像的20%。通过对最后一个卷积层运用Sigmoid激活函数可以获得每个像素点的概率P(.),网络最终的输出结果为一个概率图,其中被预测为视盘区域的像素具有较大的概率值。
在训练好网络并将网络用于视盘分割时,为了平滑分割后视盘的边缘,根据视盘的物理形态为椭圆形这一先验知识,利用最小二乘法拟合出到分割边界点代数距离最小的椭圆,实现对深度网络分割结果的平滑拟合以获得最终的视盘分割结果。椭圆拟合先后的视盘分割边界见图6-26。图6-26c中的绿线为椭圆拟合前的分割边界,红线为椭圆拟合后的分割边界。
图6-26 椭圆拟合先后的视盘分割边界对比图
(四)提取区域的视杯分割
与视盘分割的过程类似,本实例使用与视盘分割相同的深度网络进行视杯分割,在训练时以视盘分割的权重参数为初始值并在此基础上微调网络。由于在大多数眼底图像中,视杯与视盘的边界区分较为模糊,因此只利用原始彩色图像的特征值训练视杯分割网络并不能很好地学习到视杯信息。根据先验知识可知,彩色眼底图像的红色通道主要用于视盘分割,其中几乎不包含视杯信息。而且依据已有的医学理论,视杯位于视盘区域的中心,是形状接近椭圆的亮度较高的区域,因此离视盘中心距离越近是视杯区域的可能性越大。基于以上先验知识,本实例对于视杯分割网络的输入图像稍做改动,将原本的红色通道替换为图像中每个像素到视盘中心的距离信息,并在此基础上训练深度网络。在训练时考虑到视盘信息与视杯信息差距较大和输入图像的类型差异,为了获得较好的微调效果,将网络学习率提升为原有视盘分割网络学习率的2倍。
基于之前视盘的分割结果可以得到视盘的中心坐标,在此基础上计算图像中每个像素到视盘中心的距离,为了适应视盘大小尺寸的差异,用视盘的高度和宽度对像素到视盘中心的距离进行规范化,因此最后的规范化距离定义如下:
其中(xc,yc)是视盘区域的中心坐标,(xi,yi)代表第i个像素点的坐标,h和w分别为视盘的高度和宽度。
在得到每个像素点到视盘中心的规范化距离后,根据越接近视盘中心是视杯的可能性越大的先验知识,可以将距离值归一化后取反得到相应的概率图。红色通道与距离信息概率图替换后的输入图像和具体的视杯分割深度网络结构分别见图6-27和图6-28。与视盘分割类似,需要对网络输出的视杯分割结果图进行椭圆拟合平滑边界以获得最终的视杯分割结果。
图6-27 红色通道与距离信息概率图替换后的输入图像
(五)数据集
本实例在ORIGA数据集上训练和评估视盘和视杯深度分割网络。该数据集是一个青光眼眼底图像数据集,总共有650张不同对象的左右眼图像,其中被诊断为青光眼的图像有168张,正常人眼底图像482张。每张图像均由高分辨率视网膜眼底照相机拍摄,被保存为3 072×2 048的高清数字图像,同时由专业医生标注了视盘与视杯的边界和最终的诊断结果。
(六)实验设置
随机将数据集中的325张用于训练,剩余的325张用来测试模型性能。在训练视盘分割深度网络时,以在其他数据集DRIONS-DB上训练好的已有权重为初始值并进行微调,并在每次迭代中采用动量随机梯度下降法作用于每张图像。由于缺乏数据,将初始学习率设置为10-8,随后在训练过程中逐渐降低,在输入图像时对图像进行各个通道的减均值预处理操作,训练阶段最大的迭代次数设置为20 000次。
在训练视杯分割深度网络时,与视盘分割训练过程类似,在已有的视盘分割网络权重上微调模型,但对深度网络的输入图像稍做改动。基于已有的视盘分割结果,将原图的红色通道替换为像素点到视盘中心的距离信息概率图。考虑到视盘信息与视杯信息差距较大和输入图像的类型差异,为了获得较好的微调效果,将网络学习率提升为原有视盘分割网络学习率的2倍。在训练网络时由于硬件条件限制,输入图像要先缩放为300×300的尺寸大小。
图6-28 视杯分割深度网络结构图
(七)评价指标
本实例添加以下几个评估标准进行模型性能的评估。
1.重叠误差
为了比较视盘或视杯的分割结果与实际视盘或视杯边界的误差大小,重叠误差定义如下:
其中S和G分别为视盘或视杯的分割结果和实际的视盘或视杯区域。
2.视杯、视盘垂直比误差
由于视杯、视盘的分割结果最终需要计算杯盘比以作为青光眼的辅助诊断依据,因此杯盘比的计算误差是评估该模型在青光眼筛查中性能的重要指标,杯盘比误差定义为:
其中CDRGT为根据人工标注计算的杯盘比值。
(八)分割结果
由表6-8和表6-9知,本实例实现的深度分割网络在分割结果中达到了98%的最高比例。与此同时,添加了距离信息的深度分割网络在分割精确率上有了较大的提升,不仅在平均重叠误差上降低了(36.9%-22.8%)/36.9%×100%=38.2%,而且在各个小重叠误差区间都有了显著的比例提升,这说明了距离信息在视杯分割中的重要作用。
表6-8 在不同重叠误差区间所占的比例和平均重叠误差
表6-9 在不同重叠误差区间所占的比例和平均重叠误差