(12)发明专利申请
(10)申请公布号 CN 1008562 A(43)申请公布日 2017.02.15
(21)申请号 201610844032.9(22)申请日 2016.09.22
(71)申请人 华南理工大学
地址 5100 广东省广州市天河区五山路
381号(72)发明人 余志文 马帅 吴斯 纪秋佳
韩国强 (74)专利代理机构 广州市华学知识产权代理有
限公司 44245
代理人 李斌(51)Int.Cl.
G06T 7/00(2017.01)G06T 7/11(2017.01)
权利要求书5页 说明书11页 附图6页
(54)发明名称
基于深度学习的眼底图像视网膜血管分割方法及系统(57)摘要
本发明公开了一种基于深度学习的眼底图像视网膜血管分割方法及系统,包括:对训练集进行数据扩增,并对图像进行增强,用训练集训练卷积神经网络,先使用卷积神经网络分割模型对图像进行分割得到一个分割结果,用卷积神经网络的特征训练随机森林分类器,从卷积神经网络模型中抽取最后一层卷积层输出,并作为随机森林分类器的输入进行像素分类,得到另外一个分割结果,对两个分割结果进行融合得到最终的分割图像,与传统的血管分割方法相比,本方法用很深的卷积神经网络进行特征提取,提取的特征更加充分,分割的准确率和效率也更高。
CN 1008562 ACN 1008562 A
权 利 要 求 书
1/5页
1.基于深度学习的眼底图像视网膜血管分割方法,其特征在于:所述方法包括以下步骤:
步骤1:对数据集中的眼底图像进行预处理;步骤2:用训练样本训练卷积神经网络;步骤3:从训练好的卷积神经网络中提取最后一层卷积输出特征训练随机森林分类器;步骤4:将卷积神经网络对像素的分类结果与随机森林分类器的分类结果进行融合;步骤5:利用训练好的卷积神经网络模型对测试样本进行分割,得到最终分割结果。2.根据权利要求1所述的基于深度学习的眼底图像视网膜血管分割方法,其特征在于:所述步骤1包括如下步骤:
步骤1-1:将数据集中的眼底图像分成训练样本和测试样本,对训练样本的眼底图像和对应的图像标签分别进行左右对称和180度旋转,使一张眼底图像变为4张,完成对眼底图像训练样本的数据扩增;
步骤1-2:对训练样本和测试样本的眼底图像进行增强,首先将图像转化为RGB类型的图像,单独抽取G通道的图像进行中值滤波和直方图均衡化,所述中值滤波为对每个像素,选取一个模板,该模板为其邻近的3*3个像素组成,对模板的像素进行从大到小的排序,然后用模板的中值来替换原像素的值,对G通道的图像进行中值滤波后,再对G通道的图像进行直方图均衡化,所述直方图均衡化的流程如下:
a):求出G通道图像的直方图;b):根据a)得到的G通道图像的直方图求出灰度值变化表;c):根据b)中得到的灰度值变化表对每个像素的灰度值进行查表变换操作,即对每个像素的灰度值进行均衡化;
在完成对G通道图像的直方图均衡化后,用G通道图像的灰度值替换R通道和B通道的灰度值;
步骤1-3:在完成步骤1-2的图像增强操作后,对眼底图像RGB三个通道的像素分别进行Z-score归一化:
其中,xi表示归一化前的第i个像素点的值,表示归一化后的第i个像素点的值,μ表示该通道像素的均值,σ表示该通道像素的标准差,整个流程是先减去均值μ再除以标准差σ,最终归一化到均值为0和方差为1。
3.根据权利要求1所述的基于深度学习的眼底图像视网膜血管分割方法,其特征在于:步骤2中所述卷积神经网络包括三个部分:编码网络、解码网络和softmax分类器,所述编码网络的输入为RGB三通道眼底图像,包括16个卷积层和5个max-pooling层,每层参数如下表:
每层类型大小卷积核数目Pad步长(stride)卷积层3×311卷积层3×311max-pooling2×2无02卷积层3×312811
2
CN 1008562 A
权 利 要 求 书
2/5页
卷积层3×312811max-pooling2×2无02卷积层3×312811卷积层3×325611卷积层3×325611卷积层3×325611max-pooling2×2无02卷积层3×325611卷积层3×351211卷积层3×351211卷积层3×351211max-pooling2×2无02卷积层3×351211卷积层3×351211卷积层3×351211卷积层3×351211max-pooling2×2无02所述编码网络通过对眼底图像进行多次卷积和max-pooling之后,得到包含图像特征的feature map,所述解码网络再对feature map进行卷积和上采样,在编码网络中,每一层的max pooling记录下每个2×2pooling块的最大值的位置,编码网络中的每个max-pooling层有一个解码网络中的上采样层与之对应,所述上采样的操作是将feature map中的值放入对应的max pooling层中记录的最大值的位置,再将其它位置的值设为0,每次上采样后feature map的大小都会增大两倍,解码网络包括16个卷积层和5个上采样层,每个卷积层与编码网络中的卷积层相对应,各层配置如下表:每层类型大小卷积核数目Pad步长(stride)上采样层2×2无02卷积层3×351211卷积层3×351211卷积层3×351211卷积层3×351211上采样层2×2无02卷积层3×351211卷积层3×351211卷积层3×351211卷积层3×325611上采样层2×2无02卷积层3×325611卷积层3×325611卷积层3×325611
3
CN 1008562 A
权 利 要 求 书
3/5页
卷积层3×312811上采样层2×2无02卷积层3×312811卷积层3×312811上采样层2×2无02卷积层3×311卷积层3×311
编码网络和解码网络中的所有卷积层卷积后的结果先进行批量归一化,再用修正线性函数作为激活函数进行输出,批量归一化在卷积神经网络每次随机梯度下降时,首选对卷积后输出的数据进行归一化操作,使得输出数据的均值为0,方差为1,然后再对参数进行训练,流程如下:
a):输入为卷积输出的m个数据:B={x1…m},要学习的参数γ、β,输出为中xi表示卷积输出的数据,表示归一化后的数据,yi表示批量归一化最终的输出;
2
b):先计算均值μδ再对参数进行训练:B和方差B,
其
其中,∈是为防止分母为0而设置的一个趋于极限小的值;c):参数γ、β在整个网络反向传播的过程中与卷积神经网络参数同时进行训练;修正线性函数的公式为:
其中,x表示函数的输入,f(x)表示函数的输出;编码网络通过对feature map进行多次卷积和上采样层后,获得和输入图像尺寸相同的个feature map,即每个像素点有维特征,然后用这些特征训练softmax分类器,将眼底图像的每个像素点分为0、1两个类别,0代表该像素点属于非血管,1代表该像素属于血管,softmax分类器在二分类的情况下与逻辑斯蒂回归相同,公式为:
其中,e为自然底数,ω为x的权值向量,x表示像素的特征向量,P(y=1|x;ω)表示x等于1的概率,P(y=0|x;ω)表示x等于0的概率;
4
CN 1008562 A
权 利 要 求 书
4/5页
对应的决策函数为:
其中,y表示输出的类别;
整个卷积神经网络包括编码网络、解码网络和softmax分类器三部分,使用随机梯度下降法进行训练,使用反向传播算法来优化网络中的参数,用J(W,b)表示带L2范数的整体代价函数,则J(W,b)可表示为:
其中x(i)表示输入的第i个训练样本,hW,b(x(i))表示网络的预测类别,y(i)表示样本的真实类别,λ为权重衰减系数,W表示网络的参数,所述反向传播算法更新参数的方法如下:
1):首先进行前向传播,计算所有层的激活值;
2):对输出层(第nl层),计算敏感值
其中,y为样本真实值,
(l+1)其中,W(l)表示第l层的参数,δ表示第l+1层的敏感值,f'(z(l))表示第l层的偏导数;4):更新每层的参数:
(l+1)
W(l)=W(l)-αδ(a(l))T
(l+1)
b(l)=b(l)-αδ
(l+1)
其中,W(l)和b(l)分别表示l层的参数,α表示学习速率,a(l)表示第l层的输出值,δ表示l+1层的敏感值;
训练过程采用以上方法,从而使整个卷积神经网络收敛到满足误差要求。4.根据权利要求1所述的基于深度学习的眼底图像视网膜血管分割方法,其特征在于:步骤3包括如下内容:在步骤2中的卷积神经网络训练完成后,将卷积神经网络最后一层卷积层输出的每个眼底图像对应的个feature map抽取出来作为训练样本,则每个像素点有维特征,用这些样本特征训练一个随机森林分类器。
5.根据权利要求1所述的基于深度学习的眼底图像视网膜血管分割方法,其特征在于:步骤4将卷积神经网络对像素的分类结果与随机森林分类器的分类结果进行融合的方法为:当两个分类结果至少有一个为血管类别时,该像素的分类结果为血管,若两个分类器对像素的分类结果均为非血管,则该像素的分类结果为非血管类别。
6.基于权利要求1所述的基于深度学习的眼底图像视网膜血管分割方法的系统,其特征在于:所述系统包括:预处理模块、训练卷积神经网络模块、训练随机森林模块和图像分割模块,所述预处理模块输出的数据作为训练卷积神经网络模块和图像分割模块的输入,所述训练卷积神经网络模块在完成卷积神经网络的训练后,其卷积神经网络最后一层的输出作为训练随机森林模块的输入,所述训练卷积神经网络模块和所述训练随机森林模块输
为输出层的预测值,表示输出层参数的偏导数;
3):对于l=nl-1,nl-…的各层,计算敏感值
5
CN 1008562 A
权 利 要 求 书
5/5页
出的模型作为图像分割模块的输入。
7.根据权利要求6所述的基于深度学习的眼底图像视网膜血管分割方法的系统,其特征在于:所述预处理模块用于对数据集进行预处理,对图像进行数据集扩增、中值滤波、直方图均衡化和归一化处理,所述预处理模块包括训练数据集扩增单元、数据集眼底图像增强单元和眼底图像归一化单元。
8.根据权利要求6所述的基于深度学习的眼底图像视网膜血管分割方法的系统,其特征在于:所述训练卷积神经网络模块用训练集的眼底图像对卷积神经网络进行训练,最终获得最优的卷积神经网络。
9.根据权利要求6所述的基于深度学习的眼底图像视网膜血管分割方法的系统,其特征在于:所述训练随机森林模块用训练卷积神经网络模块中训练好的卷积神经网络对训练图像进行分割,将其最后一层卷积层输出作为训练样本训练随机森林分类器。
10.根据权利要求6所述的基于深度学习的眼底图像视网膜血管分割方法的系统,其特征在于:所述图像分割模块包括:预处理调用单元,用于调用预处理模块对一个待分割的眼底图像进行预处理,并得到相应的结果;卷积神经网络调用单元,用于调用训练卷积神经网络模块中训练好的卷积神经网络对预处理后的眼底图像进行分割,得到一个分割结果;随机森林分类器调用单元,用于调用训练随机森林模块对眼底图像的每个像素进行分类,判断像素属于血管还是非血管,得到一个分割结果;分割融合单元,用于将卷积神经网络调用单元和随机森林分类器调用单元的分割结果进行融合,得到最终的眼底图像分割结果。
6
CN 1008562 A
说 明 书
1/11页
基于深度学习的眼底图像视网膜血管分割方法及系统
技术领域[0001]本发明涉及机器学习和图像处理领域,是针对医学图像语义分割技术的研究,尤其是一种基于深度学习的眼底图像视网膜血管分割方法及系统。
背景技术[0002]近年来,随着图像处理技术的发展,图像分割技术开始被应用到眼底图像分割领域,目前国内外有很多研究人员提出了各种各样的眼底图像视网膜血管分割算法,主要分为以下几个方向:基于血管跟踪的方法、基于匹配滤波的方法、基于形变模型的方法和基于机器学习的方法。[0003]基于匹配滤波的方法是将滤波器与图像进行卷积来提取目标对象,由于视网膜血管剖面的灰度符合高斯特性,因此可以通过计算图像滤波后的最大响应值来进行血管分割。经典的匹配滤波方法是根据血管特征基本符合高斯分布的特点,将视网膜血管与高斯分布函数进行不同方向的匹配滤波,然后对响应结果进行阈值化,选取响应最大的匹配滤波结果作为血管输出,最终提取出视网膜血管图像。该方法计算量较大,而且视网膜中病变部位的特征与血管特征相似,因此会造成检测错误。[0004]基于形变模型的方法思路很直观,是通过用曲线来描绘出血管的边界,边界曲线通过能量函数的参数来定义,边界曲线在边界两侧的能量变化的影响下发生形变,因此血管分割变成了使能量函数最小化。蛇形模型是一种经典的参数形变模型,蛇形模型时一种能量极小化的样条,图像能量的内力会影响模型的形状并将其拖向图像的显著特征的边界,研究人员将蛇形模型应用到从核磁共振图像中提取关节软骨和合成孔径雷达中检测海岸线等领域。也有研究人员使用蛇形模型来进行眼底图像中的视网膜血管分割,并对其进行了改进,使用了形态学操作来进行优化和调整了能量最小参数。[0005]基于机器学习的方法是指通过机器学习算法来进行血管分割。该方法的优点是能够自动分割并且准确率较高。基于监督学习的机器学习算法对血管分割有着较高的准确率。该方法主要流程是数据预处理、特征选择和提取和图像分割。该方法的主要难点在于特征提取和图像分割,对于机器学习方法来说,特征工程非常重要,传统的方法主要采用Gabor滤波等方法,提取特征有限,近年来随着深度学习的发展,用深度学习进行图像的特征提取有着很好的效果,也有人尝试用深度学习来进行血管分割。发明内容[0006]本发明的目的是针对上述现有技术的不足,提供了一种基于深度学习的眼底图像视网膜血管分割方法和基于该方法的系统,该方法对眼底图像进行语义分割,通过分类器对每个像素点进行二分类,确定该像素点是属于血管还是非血管,从而完成对整张图像的分割,主要是通过深度学习中的卷积神经网络进行视网膜血管分割,再使用卷积神经网络提取的图像特征训练一个随机森林分类器进行视网膜血管分割,最后将二者的分割结果进行融合得到最终的血管分割结果。
7
CN 1008562 A[0007]
说 明 书
2/11页
本发明的目的可以通过如下技术方案实现:
[0008]基于深度学习的眼底图像视网膜血管分割方法,所述方法包括以下步骤:[0009]步骤1:对数据集中的眼底图像进行预处理,该步骤主要包括如下步骤:[0010]步骤1-1:将数据集中的眼底图像分成训练样本和测试样本。对训练样本的眼底图像和对应的图像标签分别进行左右对称和180度旋转,使一张眼底图像变为4张,完成对眼底图像训练集进行数据集扩增;[0011]步骤1-2:对训练样本和测试样本的眼底图像进行增强,首先将图像转化为RGB类型的图像,单独抽取G通道的图像进行中值滤波和直方图均衡化,所述中值滤波为对每个像素,选取一个模板,该模板为其邻近的3*3个像素组成,对模板的像素进行从大到小的排序,然后用模板的中值来替换原像素的值,对G通道的图像进行中值滤波后,再对G通道的图像进行直方图均衡化,所述直方图均衡化的流程如下:[0012]a):求出G通道图像的直方图;[0013]b):根据a)得到的G通道图像的直方图求出灰度值变化表;[0014]c):根据b)中得到的灰度值变化表对每个像素的灰度值进行查表变换操作,即对每个像素的灰度值进行均衡化;[0015]在完成对G通道图像的直方图均衡化后,用G通道图像的灰度值替换R通道和B通道的灰度值;[0016]步骤1-3:在完成步骤1-2的图像增强操作后,对眼底图像RGB三个通道的像素分别进行Z-score归一化:
[0017][0018]
其中,xi表示归一化前的第i个像素点的值,表示归一化后的第i个像素点的值,μ
表示该通道像素的均值,σ表示该通道像素的标准差,整个流程是先减去均值μ再除以标准
差σ,最终归一化到均值为0和方差为1。[0019]步骤2:用训练样本训练卷积神经网络,所述卷积神经网络包括三个部分:编码网络、解码网络和softmax分类器,所述编码网络的输入为RGB三通道眼底图像,包括16个卷积层和5个max-pooling层,每层参数如下表:
[0020]
每层类型卷积层卷积层
max-pooling卷积层卷积层
max-pooling卷积层卷积层卷积层卷积层大小3×33×32×23×33×32×23×33×33×33×3卷积核数目无128128无128256256256
8
Pad1101101111步长(stride)1121121111
CN 1008562 A
说 明 书
3/11页
max-pooling2×2无02卷积层3×325611卷积层3×351211卷积层3×351211卷积层3×351211max-pooling2×2无02卷积层3×351211卷积层3×351211卷积层3×351211卷积层3×351211max-pooling2×2无02[0021]所述编码网络通过对眼底图像进行多次卷积和max-pooling之后,得到包含图像特征的feature map,所述解码网络再对feature map进行卷积和上采样,在编码网络中,每一层的max pooling记录下每个2×2pooling块的最大值的位置,编码网络中的每个max-pooling层有一个解码网络中的上采样层与之对应,所述上采样的操作是将feature map中的值放入对应的max pooling层中记录的最大值的位置,再将其它位置的值设为0,每次上采样后feature map的大小都会增大两倍,解码网络包括16个卷积层和5个上采样层,每个卷积层与编码网络中的卷积层相对应,各层配置如下表:
[0022]
9
CN 1008562 A[0023]
说 明 书
4/11页
编码网络和解码网络中的所有卷积层卷积后的结果先进行批量归一化,再用修正
线性函数作为激活函数进行输出,批量归一化在卷积神经网络每次随机梯度下降时,首选对卷积后输出的数据进行归一化操作,使得结果的均值为0,方差为1,然后再对参数进行训练,流程如下:[0025]a):输入为卷积输出的m个数据:B={x1…m},要学习的参数γ、β,输出为
其中xi表示卷积输出的数据,表示归一化后的数据,yi表示批量归一化最终
的输出;
2[0026]b):先计算均值μδ再对参数进行训练:B和方差B,
[0027][0028]
[0024]
[0029][0030][0031][0032][0033]
其中,∈是为防止分母为0而设置的一个趋于极限小的值;
c):参数γ、β在整个网络反向传播的过程中与卷积神经网络参数同时进行训练;修正线性函数的公式为:
10
CN 1008562 A[0034]
说 明 书
5/11页
其中,x表示函数的输入,f(x)表示函数的输出;
[0036]编码网络通过对feature map进行多次卷积和上采样层后,获得和输入图像尺寸相同的个feature map,即每个像素点有维特征,然后用这些特征训练softmax分类器,将眼底图像的每个像素点分为0、1两个类别,0代表该像素点属于非血管,1代表该像素属于血管,softmax分类器在二分类的情况下与逻辑斯蒂回归相同,公式为:
[0037]
[0035]
[0038]
其中,e为自然底数,ω为x的权值向量,x表示像素的特征向量,P(y=1|x;ω)表示x等于1的概率,P(y=0|x;ω)表示x等于0的概率;[0040]对应的决策函数为:
[0041]
[0039]
其中,y表示输出的类别;[0043]整个卷积神经网络包括编码网络、解码网络和softmax分类器三部分,使用随机梯度下降法进行训练,使用反向传播算法来优化网络中的参数,用J(W,b)表示带L2范数的整体代价函数,则J(W,b)可表示为:
[0044]
[0042]
其中,x(i)表示输入的第i个训练样本,hW,b(x(i))表示网络的预测类别,y(i)表示样本的真实类别,λ为权重衰减系数,W表示网络的参数,所述反向传播算法更新参数的方法如下:[0046]1):首先进行前向传播,计算所有层的激活值;
[0045][0047][0048][0049][0050][0051][0052]
(l+1)
其中,W(l)表示第l层的参数,δ表示第l+1层的敏感值,f'(z(l))表示第l层的偏
2):对输出层(第nl层),计算敏感值
其中,y为样本真实值,为输出层的预测值,表示输出层参数的偏导数;
3):对于l=nl-1,nl-…的各层,计算敏感值
导数;
[0053][0054][0055]
4):更新每层的参数:
(l+1)
W(l)=W(l)-αδ(a(l))T
(l+1)
b(l)=b(l)-αδ
11
CN 1008562 A[0056]
说 明 书
6/11页
其中,W(l)和b(l)分别表示l层的参数,α表示学习速率,a(l)表示第l层的输出值,
(l+1)δ表示l+1层的敏感值;[0057]训练过程采用以上方法,从而使整个卷积神经网络收敛到满足误差要求。[0058]步骤3:从步骤2里训练好的卷积神经网络中提取最后一层卷积输出特征训练随机森林分类器,包括如下内容:在步骤2中的卷积神经网络训练完成后,将卷积神经网络最后一层卷积层输出的每个眼底图像对应的个feature map抽取出来作为训练样本,则每个像素点有维特征,用这些样本特征训练一个随机森林分类器。[0059]步骤4:将卷积神经网络对像素的分类结果与随机森林分类器的分类结果进行融合,当两个分类结果至少有一个为血管类别时,该像素的分类结果为血管,若两个分类器对像素的分类结果均为非血管,则该像素的分类结果为非血管类别。[0060]步骤5:利用训练好的卷积神经网络模型对测试样本进行分割,得到最终的分割结果。[0061]本发明的另一目的可以通过如下技术方案实现:[0062]基于深度学习的眼底图像视网膜血管分割方法的系统,所述系统包括:预处理模块、训练卷积神经网络模块、训练随机森林模块和图像分割模块,系统各个模块之间的连接关系为:预处理模块输出的数据作为训练卷积神经网络模块和图像分割模块的输入,训练卷积神经网络模块在完成卷积神经网络的训练后,其卷积神经网络最后一层的输出作为训练随机森林模块的输入,训练卷积神经网络模块和训练随机森林模块输出的模型作为图像分割模块的输入。[0063]优选地,所述预处理模块用于对数据集进行预处理,对图像进行数据集扩增、中值滤波、直方图均衡化和归一化处理,所述预处理模块包括训练数据集扩增单元、数据集眼底图像增强单元和眼底图像归一化单元。[00]优选地,所述训练卷积神经网络模块用训练集的眼底图像对卷积神经网络进行训练,最终获得最优的卷积神经网络。[0065]优选地,所述训练随机森林模块用训练卷积神经网络模块中训练好的卷积神经网络对训练图像进行分割,将其最后一层卷积层输出作为训练样本训练随机森林分类器。[0066]优选地,所述图像分割模块包括:预处理调用单元,用于调用预处理模块对一个待分割的眼底图像进行预处理,并得到相应的结果;卷积神经网络调用单元,用于调用训练卷积神经网络模块中训练好的卷积神经网络对预处理后的眼底图像进行分割,得到一个分割结果;随机森林分类器调用单元,用于调用训练随机森林模块对眼底图像的每个像素进行分类,判断像素属于血管还是非血管,得到一个分割结果;分割融合单元,用于将卷积神经网络调用单元和随机森林分类器调用单元的分割结果进行融合,得到最终的眼底图像分割结果。[0067]本发明与现有技术相比,具有如下优点和有益效果:[0068]1、本发明采用了42层的卷积神经网络,比以前的基于深度学习的分割方法有着更多的层数,能够提取到更深层次的特征,有利于后面分类器的像素分类,提高分割的准确率。[0069]2.本发明对卷积层使用批量归一化并采用修正线性函数作为激活函数,可以有效地避免训练时出现梯度消失和梯度爆炸问题,能够加快模型收敛速度,缩短训练时间。
12
CN 1008562 A[0070]
说 明 书
7/11页
3.本发明对卷积神经网络提取的特征训练了两个分类器并且最后融合两者的分
割结果,有利于提高小血管的分割准确率,最终提高整张图像的分割准确率。附图说明[0071]图1为本发明的卷积神经网络的架构图。[0072]图2为本发明的卷积神经网络编码网络每层的参数图。[0073]图3为本发明的卷积神经网络解码网络每层的参数图。[0074]图4为本发明方法的整体训练和测试的流程图。[0075]图5为本发明实施在20张测试图像上的测试结果图。[0076]图6(a)、图6(b)为本发明实施在一张图像上的增强后的眼底图像和模型分割结果图。[0077]图7为本发明系统模块的结构图。具体实施方式[0078]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。[0079]实施例:[0080]本发明的基于深度学习的眼底图像视网膜血管分割方法如图4所示,包括以下步骤:[0081]步骤1:对数据集中的眼底图像进行预处理;[0082]步骤2:用训练样本训练卷积神经网络;[0083]步骤3:从训练好的卷积神经网络中提取最后一层卷积输出特征训练随机森林分类器;[0084]步骤4:将卷积神经网络对像素的分类结果与随机森林分类器的结果进行融合;[0085]步骤5:利用训练好的卷积神经网络模型对测试样本进行分割,得到最终分割结果。[0086]具体地,步骤1中对数据集中的眼底图像进行预处理,将数据集中的眼底图像分成训练样本和测试样本。眼底图像原图中血管与非血管颜色较为接近,血管不够突出,因此需要对其进行预处理。对于深度学习来说,训练集的数量很重要,一般来说,训练样本越多,训练出来的模型泛化能力也就越强,因此本发明首先对眼底图像训练集进行数据集扩增,方法为对眼底图像和对应的图像标签分别进行左右对称和180度旋转,这样一张眼底图像可以变成4张,然后对训练集和测试集的眼底图像进行增强,首先将图像转化为RGB类型的图像,然后单独抽取G通道的图像进行中值滤波和直方图均衡化,中值滤波的方法为对于每个像素,选取一个模板,该模板为其邻近的3*3个像素组成,对模板的像素进行从大到小的排序,然后用模板的中值来替换原像素的值,在对G通道的图像进行中值滤波后,再对G通道图像进行直方图均衡化,流程如下:[0087]a):求出G通道图像的直方图;[0088]b):根据直方图求出灰度值变化表;[00]c):根据b)中得到的灰度值变化表对每个像素的灰度值进行查表变换操作,即对
13
CN 1008562 A
说 明 书
8/11页
每个灰度值进行均衡化。在完成对G通道图像的直方图均衡化后,用G通道图像的灰度值替换到R通道和B通道的灰度值;[0090]在完成图像增强操作后,对眼底图像RGB三个通道的像素值分别进行Z-score归一化:
[0091][0092]
其中,xi表示归一化前的第i个像素点的值,表示归一化后的第i个像素点的值,
μ表示该通道像素的均值,σ表示该通道像素的标准差,整个流程是先减去均值μ再除以标准
差σ,最终归一化到均值为0和方差为1,归一化是为了防止图像亮度对模型造成影响。[0093]具体地,步骤2中,用训练样本训练卷积神经网络,卷积神经网络架构如图1所示,编码网络卷积层和max-pooling层的配置如图2所示,解码网络卷积层和上采样层如图3所示,用步骤1预处理后的训练集对卷积神经网络进行训练,编码网络通过对眼底图像进行多次卷积和max-pooling之后,得到了包含图像特征的feature map,解码网络通过对feature map进行卷积和上采样,在编码网络中,每一层的max-pooling都会记录下每个2×2pooling块的最大值的位置,编码网络中每个max-pooling层都会有一个解码网络中的上采样层与之对应,上采样的操作将feature map中的值放入对应的max-pooling层中记录的最大值的位置,然后将其它的位置的值设为0,每次上采样后feature map的大小都会增大2倍,编码网络包括16个卷积层和5个上采样层,每个卷积层对与编码网络中的卷积层相对应,编码网络和解码网络中的所有卷积层卷积后的结果先进行批量归一化(Batch normalization),然后再用修正线性函数(ReLU)作为激活函数进行输出,批量归一化在卷积神经网络每次随机梯度下降时,首选对卷积的输出进行规范化操作,使得结果的均值为0,方差为1,然后再对参数进行训练,流程如下:[0094]a):输入为卷积输出的m个数据:B={x1…m},要学习的参数γ、β,输出为
其中xi表示卷积输出的数据,表示归一化后的数据,yi表示批量归一化最终
的输出;
2[0095]b):先计算均值μδ再对参数进行训练:B和方差B,
[0096][0097][0098][0099][0100][0101][0102][0103]
其中,∈是为防止分母为0而设置的一个趋于极限小的值;
c):参数γ、β在整个网络反向传播的过程中与卷积神经网络参数同时进行训练;修正线性函数的公式为:
14
CN 1008562 A[0104]
说 明 书
9/11页
其中,x表示函数的输入,f(x)表示函数的输出;
[0105]编码网络通过对feature map进行多次卷积和上采样层后,获得和输入图像尺寸相同的个feature map,即每个像素点有维特征,然后用这些特征训练softmax分类器,将眼底图像的每个像素点分为0、1两个类别,0代表该像素点属于非血管,1代表该像素属于血管,softmax分类器在二分类的情况下与逻辑斯蒂回归相同,公式为:
[0106]
[0107]
其中,e为自然底数,ω为x的权值向量,x表示像素的特征向量,P(y=1|x;ω)表示x等于1的概率,P(y=0|x;ω)表示x等于0的概率;[0109]对应的决策函数为:
[0110]
[0108]
其中,y表示输出的类别;[0112]整个卷积神经网络包括编码网络、解码网络和softmax分类器三部分,使用随机梯度下降法进行训练,使用反向传播算法来优化网络中的参数,用J(W,b)表示带L2范数的整体代价函数,则J(W,b)可表示为:
[0113]
[0111]
其中x(i)表示输入的第i个训练样本,hW,b(x(i))表示网络的预测类别,y(i)表示样本的真实类别,λ为权重衰减系数,W表示网络的参数,所述反向传播算法更新参数的方法如下:[0115]1):首先进行前向传播,计算所有层的激活值;
[0114][0116][0117][0118][0119][0120][0121]
(l+1)
其中,W(l)表示第l层的参数,δ表示第l+1层的敏感值,f'(z(l))表示第l层的偏
2):对输出层(第nl层),计算敏感值
其中,y为样本真实值,为输出层的预测值,表示输出层参数的偏导数;
3):对于l=nl-1,nl-…的各层,计算敏感值
导数;
4):更新每层的参数:
(l+1)[0123]W(l)=W(l)-αδ(a(l))T(l+1)[0124]b(l)=b(l)-αδ
[0125]其中,W(l)和b(l)分别表示l层的参数,α表示学习速率,a(l)表示第l层的输出值,(l+1)δ表示l+1层的敏感值;
15
[0122]
CN 1008562 A[0126]
说 明 书
10/11页
训练过程采用以上方法,从而使整个卷积神经网络收敛到满足误差要求。
[0127]具体地,步骤3的主要流程如下:在卷积神经网络训练完成后,将卷积神经网络最后一层卷积层输出的每个眼底图像对应的个feature map抽取出来作为训练样本,则每个像素点有维特征,用这些样本特征训练一个随机森林分类器。[0128]具体地,步骤4的主要内容如下:将卷积神经网络对像素的分类结果与随机森林分类器的结果进行融合,融合方式为当两个分类器的对像素的分类结果至少有一个为血管类别时,该像素的分类结果为血管,若两个分类器对像素的分类结果均为非血管,则该像素的分类结果为非血管类别。[0129]如图4所示,在完成前4个步骤的模型训练后,就可以进行步骤5,对需要测试的眼底图像进行分割了。对测试图像进行预处理,然后先使用卷积神经网络分割模型对图像进行分割得到一个分割结果1,再从卷积神经网络模型中抽取最后一层卷积层输出,并作为随机森林分类器的输入进行像素分类,得到分割结果2,然后将两个分割结果融合,得到最终的分割结果。整个过程不仅完全自动化,而且分割速度快。[0130]本实施例选择使用网上公开的数据集进行方法测试,测试平台为Ubuntu14.04,CPU为i7-6700K,GPU为Titan X,显存为12GB,实验选用20张眼底图像作为训练集,20张图像作为测试集,使用随机梯度下降法进行训练,经过多次参数调节后,最终结果如图5所示,20张图像平均灵敏度为82.95%,平均准确率为94.14%,示例分割结果如图6(a)、图6(b)所示,可以看到本发明所提出的方法分割的灵敏度和准确率都很高,并且本发明模型训练完成后整个分割过程完全自动化,分割一张图像的时间在100毫秒以内,速度很快,具有很强的实用性。[0131]本发明还提出了一种基于深度学习的眼底图像视网膜血管分割方法的系统,如图7所示,所述系统包括:预处理模块、训练卷积神经网络模块、训练随机森林模块和图像分割模块。系统各个模块之间的连接关系为:预处理模块输出的数据作为训练卷积神经网络模块和图像分割模块的输入,训练卷积神经网络模块在完成卷积神经网络的训练后,其卷积神经网络最后一层的输出作为训练随机森林模块的输入,训练卷积神经网络模块和训练随机森林模块输出的模型作为图像分割模块的输入。[0132]所述预处理模块用于对数据集进行预处理,对图像进行数据集扩增、中值滤波、直方图均衡化和归一化处理,所述预处理模块包括训练数据集扩增单元、数据集眼底图像增强单元和眼底图像归一化单元。[0133]所述训练卷积神经网络模块用训练集的眼底图像对卷积神经网络进行训练,最终获得最优的卷积神经网络。[0134]所述训练随机森林模块用训练卷积神经网络模块中训练好的卷积神经网络对训练图像进行分割,将其最后一层卷积层输出作为训练样本训练随机森林分类器。[0135]所述图像分割模块包括:预处理调用单元,用于调用预处理模块对一个待分割的眼底图像进行预处理,并得到相应的结果;卷积神经网络调用单元,用于调用训练卷积神经网络模块中训练好的卷积神经网络对预处理后的眼底图像进行分割,得到一个分割结果;随机森林分类器调用单元,用于调用训练随机森林模块对眼底图像的每个像素进行分类,判断像素属于血管还是非血管,得到一个分割结果;分割融合单元,用于将卷积神经网络调用单元和随机森林分类器调用单元的分割结果进行融合,得到最终的眼底图像分割结果。
16
CN 1008562 A[0136]
说 明 书
11/11页
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于
此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。
17
CN 1008562 A
说 明 书 附 图
1/6页
18
图1
CN 1008562 A
说 明 书 附 图
2/6页
图2
19
CN 1008562 A
说 明 书 附 图
3/6页
图3
20
CN 1008562 A
说 明 书 附 图
4/6页
图4
21
CN 1008562 A
说 明 书 附 图
5/6页
图5
22
CN 1008562 A
说 明 书 附 图
6/6页
图7
23
因篇幅问题不能全部显示,请点此查看更多更全内容