基于LBP算子和双U型网络的视网膜眼底血管分割方法
未命名
07-22
阅读:77
评论:0

基于lbp算子和双u型网络的视网膜眼底血管分割方法
技术领域
1.本发明属于医学图像分析处理技术领域,尤其涉及一种基于lbp算子和双u型网络的视网膜眼底血管分割方法。
背景技术:
2.在医学临床诊断中,视网膜血管分布、形态的变化与许多眼部疾病和综合性疾病有紧密联系,如糖尿病视网膜病变、老年性黄斑变性、青光眼、高血压、冠心病等。视网膜血管分割对这些疾病的预防、早期诊断和后期治疗方案的制定大有裨益,具有极大的临床意义。随着深度学习的快速发展,基于卷积神经网络的眼底血管分割方法取得了出色的表现。然而,由于用于眼底血管分割的像素级标注数据集通常规模较小,眼底血管形态结构高度复杂,粗血管和细血管像素数量极度不平衡,细血管尤其是毛细血管与背景的对比度非常低,再加上深度网络倾向于平滑和模糊局部细节信息,容易导致血管边界模糊、细小血管丢失等问题。此外,在跨数据集表现上,现有方法的性能通常会下降很多,不能很好地泛化到具有不同外观的眼底血管图像上,难以应用到真实环境。
技术实现要素:
3.为了解决上述技术问题,本发明提供了一种基于lbp算子和双u型网络的视网膜眼底血管分割方法,该方法利用眼底灰度图像经过lbp变换后的lbp码图像,捕获细粒度特征,恢复边界和细节,提高模型泛化性,同时利用带残差的双支解码块减少误检率,进一步提升模型性能。
4.lbp(local binary pattern,局部二值模式)是一种经典的传统手工特征,由ojala等人在1994年提出。lbp算子定义在3
×
3邻域内,以邻域中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即lbp码,共256种),即得到该邻域中心像素点的lbp值,并用这个值来反映该区域的纹理信息。lbp算子计算简单且有效,聚合了邻域内的像素点间的关系,对光照变化较为鲁棒;同时也能较好地描述细粒度的纹理信息,所以早期被广泛应用于人脸识别、目标检测等领域。
5.本发明提供一种基于lbp算子和双u型网络的视网膜眼底血管分割方法,引入传统的lbp算子,弥补深度网络提取的像素级特征的缺陷,改善语义分割模型的预测能力,同时提高模型的泛化性能。
6.本发明所采用的技术方案提供一种基于lbp算子和双u型网络的视网膜血管分割方法,包括以下步骤:
7.步骤1,获取公开的经专家标注的彩色眼底血管分割数据集,划分为训练集、验证集、测试集用于网络训练和测试;
8.步骤2,对原始彩色眼底图像做数据预处理,利用lbp算子在灰度图上计算lbp码图像;
9.步骤3,对预处理后的眼底图像和对应的血管标注、lbp码图像通过随机切片的方式进行数据增广;
10.步骤4,构建双u型网络,该网络包含两个子u型网络和一个特征融合模块,子网络分别为高层语义网络和浅层纹理网络,将预处理后的眼底图像、lbp码图像分别输入高层语义网络、浅层纹理网络,将高层语义网络提取的像素级高级语义特征与浅层纹理网络提取的细粒度纹理特征一起输入特征融合模块,生成像素级预测概率图,计算分割损失函数;
11.步骤5,依据步骤4完成网络训练的多轮迭代,得到最优分割模型;
12.步骤6,在测试集上验证模型分割效果;
13.步骤7,在多个其他公开眼底数据集上验证模型泛化性能。
14.而且,步骤2中,所述lbp变换函数如下,
[0015][0016]
其中,(xc,yc)表示3
×
3邻域内的中心元素,它的像素值为ic,i
p
代表邻域内其它像素的值,p为邻域中像素的个数,s为符号函数,
[0017][0018]
而且,步骤4中,所述特征融合模块对应于加权加法运算,在这里将其扩展为一种可学习且更灵活的方式,即,
[0019]
f=conv([fs,f
l
])
[0020]
其中fs为高层语义网络提取的像素级高级语义特征,f
l
为浅层纹理网络提取的细粒度纹理特征,[
·
,
·
]表示通道级拼接,conv为1
×
1卷积。首先将高级语义特征与细粒度纹理特征拼接,接着使用简单有效的1
×
1卷积实现通道级特征融合,得到细节增强的特征f。注意,fs与f
l
应该有相同的形状。否则,需要对较小的一个进行双线性插值上采样操作,以对齐形状。
[0021]
而且,步骤4中,所述高层语义网络为带dropblock的原始u-net;所述浅层纹理网络为一个小型的带dropblock的u-net;
[0022]
原始u-net是一个五层的带跳跃连接的编码器-解码器结构,编码器包括五个卷积块,每个卷积块包含两个3
×
3卷积层、bn层、relu层,卷积块之间是下采样层,解码器中包括4个卷积块,卷积块的结构与编码器相同,卷积块之间是上采样层,编码器中卷积块的特征通过跳跃连接和解码器对应卷积块上采样到同分辨率的特征图拼接并输入解码器下一层卷积块;
[0023]
带dropblock的原始u-net是在每个3
×
3卷积层后面添加了dropblock进一步防止过拟合,小型的带dropblock的u-net是将带dropblock的原始u-net的每层通道数减少8倍。
[0024]
而且,带dropblock的u-net的解码器是将4个卷积块换为4个带残差的双支解码块,具体地,带残差的双支解码块包含1个残差和2个分支,残差分支包含一个1
×
1卷积层和一个bn层,第一个分支包含一个3
×
3卷积层和一个bn层,第二个分支包含两个3
×
3卷积层和bn层,第一个bn层和第二个3
×
3卷积层之间是一个leaklyrelu层,将第一个分支和第二个分支的输出拼接后与残差分支的输出相加,再通过一层leaklyrelu得到最终输出,即,
[0025][0026]
其中f(
·
)、g(
·
)、σ(
·
)、[
·
,
·
]分别为残差分支、第一分支、第二分支、leaklyrelu、拼接。
[0027]
而且,步骤4中,所述分割损失函数为bce(binary cross entropy)损失函数,即,
[0028][0029]
其中,y为真实标签,为预测标签。
[0030]
而且,步骤5中,获取最优模型的方式为,在训练过程中,依据验证集效果判断当前模型是否为当前最优模型,是则会进行覆盖保存,直至完成指定迭代次数。
[0031]
本发明的有益效果为:
[0032]
(1)针对边界模糊、细节退化问题,在深度学习网络中引入了传统的lbp算子,其能够简单高效地捕获局部纹理信息。考虑到lbp码图像信息量有限且深度模型可能过拟合,采用浅层纹理网络提取细粒度纹理特征;
[0033]
(2)设计了双u型网络结构,能同时提取高层语义特征和细粒度纹理特征。考虑了浅层纹理网络提取的细粒度纹理特征可能包含不需要的纹理、噪声,设计了特征融合模块,恢复细节的同时消除对分割结果的不利影响。设计了带残差的双支解码块,进一步降低假阳的发生,防止误检。;
[0034]
(3)本发明能以端到端的方式训练,只需提前计算lbp码图像,以简单有效的方式提升了模型的分割效果;
[0035]
(4)由于lbp算子聚合了中心点与周围点的强度大小关系,具有灰度不变性,模型对于不同眼底图像数据集的图像数据具有更好的分割稳定性,提升了分割模型的泛化性。
附图说明
[0036]
图1为本发明实施例的流程图。
[0037]
图2从上到下依次为本发明实施例原始图像、预处理后图像、lbp码图像示例。
[0038]
图3为本发明的网络结构示意图。
具体实施方式
[0039]
为了便于本领域普通技术人员理解和实施本发明,下面结合附图和实施例作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0040]
参见图1,本发明实施例提供的一种基于lbp算子和双u型网络的视网膜眼底血管分割方法,包括以下步骤:
[0041]
步骤1:获取公开的经专家标注的彩色眼底血管分割数据集,从眼底图像数据集中选择一定比例的图像样本{1,
…
,n},n是图像样本个数,以及标签y=[y1,
…
,n]作为训练样本,剩下的作为测试样本。
[0042]
本实施例中,使用drive数据集,包含40张彩色视网膜眼底图像和对应的眼底血管分割标签,其中20张为训练集,20张为测试集。特别地,测试集中的每张图像都被两位医生标注了标签,实施例中选用第一位医生的标注作为真实标签。
[0043]
步骤2:对训练样本进行预处理。可选地,本实施例对原始彩色眼底图像做灰度化处理、标准化、对比度受限的自适应直方图均衡化(clahe)以及gamma校正以增强对比度,得到并算lbp码图像其中ψ(
·
)代表lbp变换函数。具体地,在3
×
3邻域内,以邻域中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。将邻域内的8个点经比较,从左上角像素,顺时针得到8位二进制数,转换为十进制数即为该邻域中心像素点的lbp码。
[0044]
由于聚合了中心像素点和周围像素点的强度大小关系,lbp码图像能够表征边界上下文突变和细节特征,且具有灰度不变性。图2为实施例采用drive数据集的眼底图像经过预处理和lbp变换后得到的图像示例。
[0045]
步骤3:由于眼底血管数据集通常较小,通过随机切片的方式进行数据增广。实施例中,drive训练集仅仅包含20张眼底图像,将训练样本随机裁剪为64
×
64的patch(图像块),每个patch是通过在整个图像内随机选择patch中心获得的,共计150000张,其中90%用于训练,10%用于验证。batch size设置为64,代表单次输入网络的训练样本数。此外,对训练patch会施以随机裁剪(尺寸为48
×
48)、随机翻转和随机旋转等数据增强。在测试阶段使用重叠平铺策略产生最终的分割结果,测试集patch大小为96
×
96。
[0046]
步骤4:构建双u型眼底血管分割网络,包括一个以预处理后的眼底图像为输入的高层语义网络,一个以lbp码图像为输入的浅层纹理网络,和一个融合高层语义网络提取的高级语义特征、浅层纹理网络提取的细粒度纹理特征的特征融合模块。u型网络是一种经典的带有跳跃连接的编码器-解码器结构,被广泛应用于眼底血管分割。参见图3,本实施例使用带dropblock的原始u-net作为高层语义网络。由于lbp码图像包含局部纹理信息,尤其是一些血管的边界、细小的血管,但由于信息量有限,为了防止深度模型过拟合,本实施例使用一个小型的带dropblock的u-net作为浅层纹理网络。具体地,原始u-net是一个五层的带跳跃连接的编码器-解码器结构,编码器包括五个卷积块,每个卷积块包含两个3
×
3卷积层、bn层、relu层,卷积块之间是下采样层,解码器中包括4个卷积块,卷积块的结构与编码器相同,卷积块之间是上采样层,编码器中卷积块的特征通过跳跃连接和解码器对应卷积块上采样到同分辨率的特征图拼接并输入解码器下一层卷积块;实施例高层语义网络是在每个3
×
3卷积层后面添加了dropblock进一步防止过拟合,block_size设为3,第一层输出通道数为64,小型u-net把每层通道数减少8倍,即第一层通道数为8。尽管lbp能够大大提升细小血管的检测率,但也会带来一些误检。因此为了降低假阳率,本实施例将u-net的解码器每一层的卷积块构建为带残差的双支解码块。具体地,该解码块包含1个残差和2个分支,残差分支包含一个1
×
1卷积层和一个bn层,第一个分支包含一个3
×
3卷积层和一个bn层,第二个分支包含两个3
×
3卷积层和bn层,第一个bn层和第二个3
×
3卷积层之间是一个leaklyrelu层,将第一个分支和第二个分支的输出拼接后与残差分支的输出相加,再通过一层leaklyrelu得到该残差卷积块的最终输出。即,
[0047][0048]
其中f(
·
)、g(
·
)、σ(
·
)、[
·
,
·
]分别为残差、第一分支、第二分支、leaklyrelu、拼接。
[0049]
两个带双支残差解码块的双u型眼底血管分割网络能够同时提取高层语义特征与
细粒度纹理特征。随后将两组特征输入特征融合模块,具体来说,首先将两组特征拼接,随后通过一个1
×
1卷积得到细节增强的特征。特征融合模块能够弥补高级语义特征边界模糊、细小血管丢失的缺陷,同时能够减少细粒度纹理特征中纹理、噪声对分割结果造成的影响。所述特征融合模块对应于加权加法运算,在这里将其扩展为一种可学习且更灵活的方式,即,
[0050]
f=conv([fs,f
l
])
[0051]
其中fs为高层语义网络提取的像素级高级语义特征,f
l
为浅层纹理网络提取的细粒度纹理特征,[
·
,
·
]表示通道级拼接,conv为1
×
1卷积。首先将高级语义特征与细粒度纹理特征拼接,接着使用简单有效的1
×
1卷积实现通道级特征融合,得到细节增强的特征f。注意,fs与f
l
应该有相同的形状。否则,需要对较小的一个进行双线性插值上采样操作,以对齐形状。
[0052]
接着计算bce损失,即,
[0053][0054]
其中,y为真实标签,为预测标签。
[0055]
步骤5:在训练过程中,依据验证集效果判断当前模型是否为当前最优模型,是则会进行覆盖保存,直至完成指定迭代次数。可选地,本实施例在每一轮比较当前验证集的auc指标是否为最高,是,则当前模型为最优模型,覆盖保存,经过50轮训练迭代后,获得最优分割模型。
[0056]
步骤6:验证模型分割效果,在测试集上计算常用眼底血管分割指标,如auc、f1等,尤其值得关注的是代表细血管分割效果的se(sensitivity)指标。
[0057]
实施例通过将模型应用在drive测试集上,相较于u-net,auc、f1、acc(accuracy)、se(sensitivity)、sp(specificity)分别提升了1.2%、1.42%、1.25%、4.84%、0.2%。尤其是对于能够体现细血管分割效果的指标se(sensitivity)和能够体现假阳性的指标sp(specificity),仅使用原始u-net卷积块和lbp特征融合,能够使得se提升5.9%,但会导致sp下降1.77%,加入构建的双支残差解码块后,se提升小幅变小为4.84%,但sp不降反升,提升了0.2%,且其他分割指标均有上升。
[0058]
步骤7:验证模型泛化性能,使用在训练中未见过的其他公开的彩色眼底图像血管分割数据集进行测试。
[0059]
实施例将用drive训练的模型在stare、chase_db1数据集验证跨数据集分割效果,在stare数据集上,auc、f1分别提升了1.59%、3.04%,se提升了11.16%,在chase_db1数据集上,auc、f1分别提升了2.69%、10.57%,se提升了19.95%。
[0060]
应当理解的是,本说明书未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
技术特征:
1.一种基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于,包括以下步骤:步骤1,获取公开的经专家标注的彩色眼底血管分割数据集,划分为训练集、验证集、测试集用于网络训练和测试;步骤2,对原始彩色眼底图像做数据预处理,利用lbp算子在灰度图上计算lbp码图像;步骤3,对预处理后的眼底图像和对应的血管标注、lbp码图像通过随机切片的方式进行数据增广;步骤4,构建双u型网络,所述双u型网络包含两个子u型网络和一个特征融合模块,子网络分别为高层语义网络和浅层纹理网络,将预处理后的眼底图像、lbp码图像分别输入高层语义网络、浅层纹理网络,将高层语义网络提取的像素级高级语义特征与浅层纹理网络提取的细粒度纹理特征一起输入特征融合模块,生成像素级预测概率图,并与真实标签计算分割损失函数;步骤5,依据步骤4完成网络训练的多轮迭代,得到最优分割模型;步骤6,在测试集上验证模型分割效果;步骤7,在多个其他公开眼底数据集上验证模型泛化性能。2.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:步骤2中,所述lbp变换函数如下,其中,(x
c
,y
c
)表示3
×
3邻域内的中心元素,它的像素值为i
c
,i
p
代表邻域内其它像素的值,p为邻域中像素的个数,s为符号函数,3.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:所述高层语义网络为带dropblock的原始u-net;所述浅层纹理网络为一个小型的带dropblock的u-net;原始u-net是一个五层的带跳跃连接的编码器-解码器结构,编码器包括五个卷积块,每个卷积块包含两个3
×
3卷积层、bn层、relu层,卷积块之间是下采样层,解码器中包括4个卷积块,卷积块的结构与编码器相同,卷积块之间是上采样层,编码器中卷积块的特征通过跳跃连接和解码器对应卷积块上采样到同分辨率的特征图拼接并输入解码器下一层卷积块;带dropblock的原始u-net是在每个3
×
3卷积层后面添加了dropblock进一步防止过拟合,小型的带dropblock的u-net是将带dropblock的原始u-net的每层通道数减少8倍。4.根据权利要求3所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:带dropblock的u-net的解码器是将4个卷积块换为4个带残差的双支解码块,具体地,带残差的双支解码块包含1个残差和2个分支,残差分支包含一个1
×
1卷积层和一个bn层,第一个分支包含一个3
×
3卷积层和一个bn层,第二个分支包含两个3
×
3卷积层和bn层,第一个bn层和第二个3
×
3卷积层之间是一个leaklyrelu层,将第一个分支和第二个分支的
输出拼接后与残差分支的输出相加,再通过一层leaklyrelu得到最终输出,即,其中f(
·
)、g(
·
)、σ(
·
)、[
·
,
·
]分别为残差分支、第一分支、第二分支、leaklyrelu、拼接。5.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:步骤4中,所述特征融合模块的处理过程表示为:f=conv([f
s
,f
l
])其中f
s
为高层语义网络提取的像素级高层语义特征,f
l
为浅层纹理网络提取的细粒度纹理特征,[
·
,
·
]表示通道级拼接,conv为1
×
1卷积;首先将高级语义特征与细粒度纹理特征拼接,接着使用简单有效的1
×
1卷积实现通道级特征融合,得到细节增强的特征f;其中f
s
与f
l
具有相同的形状,否则,对较小的一个进行双线性插值上采样操作,以对齐形状。6.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:所述分割损失函数为bce损失函数,即,其中,y为真实标签,为预测标签。7.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:步骤5中,获取最优分割模型的方式为,在训练过程中,依据验证集效果判断当前模型是否为当前最优模型,即当前验证集的auc指标是否为最高,是则会进行覆盖保存,直至完成指定迭代次数。8.根据权利要求1所述的基于lbp算子和双u型网络的视网膜眼底血管分割方法,其特征在于:步骤6中通过计算指标auc、f1、acc(accuracy)、se(sensitivity)、sp(specificity)验证模型分割效果。
技术总结
本发明提供一种基于LBP算子和双U型网络的视网膜眼底血管分割方法,包括以下步骤:获取公开的经专家标注的彩色眼底血管分割数据集,划分为训练集、验证集、测试集用于网络训练和测试;对原始彩色眼底图像做数据预处理,利用LBP算子在灰度图上计算LBP码图像,通过随机切片的方式进行数据增广;构建带双支残差解码块的双U型眼底血管分割网络,包括一个以预处理后的眼底图像为输入的高层语义网络,一个以LBP码图像为输入的浅层纹理网络,和一个融合高层语义网络提取的高级语义特征、浅层纹理网络提取的细粒度纹理特征的特征融合模块;多轮迭代获取最优分割模型;验证模型分割效果和泛化性能。本发明改善了语义分割模型的预测能力,同时提高了模型的泛化性能。同时提高了模型的泛化性能。同时提高了模型的泛化性能。
技术研发人员:许永超 娄淼
受保护的技术使用者:武汉大学
技术研发日:2023.04.20
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/