一种基于无监督对抗神经网络的SD-OCT去噪方法与流程

文档序号:19072879发布日期:2019-11-08 20:56阅读:624来源:国知局
一种基于无监督对抗神经网络的SD-OCT去噪方法与流程

本发明属于sd-oct去噪处理技术领域,具体涉及一种基于无监督对抗神经网络的sd-oct去噪方法。



背景技术:

频域光学相干断层是一种非侵入、非电离的光学成像模式,具有高分辨率、非接触、无损伤以及扫描速度快等优点,已广泛应用于临床眼科的诊断和测量。但由于低相干干涉测量法和成像设备的限制,sd-oct成像质量往往受到散斑噪声的影响,散斑噪声会掩盖细微的图像特征,影响sd-oct的后续处理以及疾病的诊断,因此如何抑制散斑噪声是oct成像领域中的一个关键问题。

目前针对sd-oct图像的传统去噪方法可以分为两类:基于空间域的方法和基于变换域的方法,如nlm,bm3d等。然而,这些传统的sd-oct处理方法都存在过度模糊图像或去除噪声不完全的缺点,难以在去除噪声和保留图像细节之间找到很好的平衡。近年来,基于卷积神经网络的方法使图像的降噪与修复有了很大改进。ma等将sd-oct图像降噪作为图像到图像的转换问题来处理,提出一种基于条件生成对抗网络的sd-oct降噪方法,能够减小oct图像的散斑噪声并提高峰值信噪比,同时极大程度地保持图像的边缘信息。但由于实施过程中难以获取sd-oct噪声图像对应的无噪声标签图像,训练时输入和标签存在结构差异,因此去噪后图像容易出现伪影。

循环生成对抗网络模型在非配对的数据集上,利用两个生成器模型和两个判别器模型构成的一种双向环状结构,可以无监督地学习到两种不同图像域之间的映射关系。因此,该方法可以解决现有sd-oct去噪效果不佳,需要大量配对数据等问题。



技术实现要素:

本发明的目的在于提供一种基于无监督生成对抗网络的sd-oct去噪方法,主要解决现有sd-oct去噪效果不佳,且需要大量标签样本的问题。

实现上述目的的技术方案是:

一种基于无监督对抗神经网络的sd-oct去噪方法,包括如下步骤:

步骤1:采集n张sd-oct图像和m张edi-oct图像,m张edi-oct图像分别是n张sd-oct图像中m张sd-oct图像的去噪图像,n>m;分别提取n张sd-oct图像中视网膜解剖结构区域,将edi-oct图像与其对应的sd-oct图像进行配准,找到edi-oct图像中的视网膜解剖结构区域;

步骤2:以n张sd-oct图像中的视网膜解剖结构区域为图像数据样本,m张edi-oct图像的视网膜解剖结构区域为样本标签,构建图像数据样本集;

步骤3:设计加入全局结构和局部结构约束项的循环生成对抗网络;

步骤4:利用图像数据样本集对循环生成对抗网络进行训练,得到对结构信息敏感的sd-oct去噪模型;

步骤5:提取待去噪的sd-oct图像的视网膜解剖结构区域,将视网膜解剖结构区域输入训练好的sd-oct去噪模型,得到其对应的edi-oct图像的视网膜解剖结构区域。

优选的,步骤3中,循环生成对抗网络的目标函数为:

l(gxy,gyx,dx,dy)=lgan(gxy,dy)+lgan(gyx,dx)+λ1lcyc(gxy,gyx)+λ2lglobal+λ3llocal

其中,lgan(gxy,dy)和lgan(gyx,dx)是双边映射中的对抗损失,lcyc(gxy,gyx)为循环一致损失,lglobal为全局结构损失,llocal为局部结构约束损失,λ1、λ1和λ3分别为权重,gxy和gyx为生成器,dx和dy为判别器。

优选的,其中gxy(xk)表示xk经生成器gxy处理后得到的图像,xk为三维sd-oct第k张b-scan图像。

优选的,其中n1和n2分别表示输入图像的像素数量,||·||2表示l2正则化;

对于b-scan图像x中的像素i,mind特征值fi是一个|rnl|长的向量,其中rnl表示像素i的非局部区域;对一个来自于i+α∈rnl的像素来说,像素i+α表示在像素i周围但是在区域rnl内的像素,其中α表示像素i+α相对于像素i的偏离量,指示i+α离像素i的距离,每个元素fi(α)被定义为:

其中z是一个归一化常数,使fi的最大分量为1;dp(x,i,i+α)表示以像素i和像素i+α为中心的两个图像块p之间的l2距离,定义为:

分母v(x,i)定义为:

其中n是像素i的四邻域。

优选的,λ1、λ2和λ3分别取值10、0.05、5。

有益效果:

本发明通过无监督地学习从sd-oct到edi-oct图像域迁移,实现从sd-oct生成具有edi-oct质量的图像,从而达到去噪目的。模型中添加了全局结构损失和局部结构损失,可以有效保持图像的结构信息和局部细节。通过与已有的图像降噪算法比较,本发明模型的处理图像不但有效去除了图像噪声和条形伪影,而且很好地保留了图像的局部细节,更加接近原始图像。同时,模型预测图像的参数指标要高于其他算法处理结果。因此,无论从主观的视觉效果还是从客观的质量评价来看,本发明模型的处理结果都优于其他算法的处理结果,说明本文提出的模型在sd-oct图像去噪方面是可行且有效的。

附图说明

图1为结构保持cycle-gan网络架构图;

图2为全局结构损失示意图;

图3为不同方法去噪后的sd-oct图像。

具体实施方式

下面结合附图和实施例对本发明做进一步说明。

本发明包括如下步骤:

步骤1:采集n张sd-oct图像和m张edi-oct图像,m张edi-oct图像分别是m张sd-oct图像的去噪图像,n>m;分别提取n张sd-oct图像中视网膜解剖结构区域,将edi-oct图像与其对应的sd-oct图像进行配准,找到edi-oct图像中的视网膜解剖结构区域;

步骤2:以n张sd-oct图像中的视网膜解剖结构区域为图像数据样本,m张edi-oct图像为样本标签,构建图像数据样本集;

步骤3:设计加入全局结构和局部结构约束项的循环生成对抗网络;

步骤4:利用图像数据样本集对循环生成对抗网络进行训练,得到对结构信息敏感的sd-oct去噪模型;

步骤5:提取待去噪的sd-oct图像的视网膜解剖结构区域,将视网膜解剖结构区域输入训练好的sd-oct去噪模型,得到其对应的edi-oct图像。

步骤1的具体步骤包括:

步骤1.1:利用sd-oct的层分割结果提取图像中512×512大小的视网膜解剖结构区域。

步骤1.2:使用人工配准方法将对应的edi-oct与sd-oct图像进行配准,即对sd-oct及对应的edi-oct图像手动选取特征点,利用特征点求出变换矩阵,然后利用变换矩阵对edi-oct进行仿射变换。

步骤1.3:将oct数据整合为sd-oct和edi-oct两个图像域。

步骤3包括:

步骤3.1:目标函数设计

循环生成对抗网络可以无监督的地学习两种图像域之间的映射关系,包括两个生成器模型和两个判别器模型,生成器负责生成图像,判别器则不断提升分辨能力,判断输入图像是来自生成模型分布还是真实样本分布,模型的训练过程就是生成器和判别器之间的对抗过程。

循环生成对抗网络的目标函数为:

l(gxy,gyx,dx,dy)=lgan(gxy,dy,x,y)+lgan(gyx,dx)+λlcyc(gxy,gyx)

其中lgan(gxy,dy)和lgan(gyx,dx)是双边映射中的对抗损失,控制生成图像的风格近似目标域图像,lcyc(gxy,gyx)为循环一致损失,可以保证模型学习到的映射函数的循环一致性。

使用该模型训练出的生成器gxy去噪后的图像存在细节结构的丢失,从而影响图像的分析以及疾病的诊断。

本发明提出结构保持生成对抗网络模型,目的是无监督地学习sd-oct图像域到edi-oct图像域之间的映射,通过生成器从sd-octb-scan图像生成高质量edi-oct图像,从而实现图像去噪。由于合成图像和输入图像之间缺乏直接的约束,所以循环生成对抗方法不能保证这两幅图像的结构一致性。针对cycle-gan的结构性差异,本发明设计了结构保持生成对抗网络用于sd-oct去噪,在无监督地循环对抗学习中,同时考虑图像的全局与局部结构的保持,利用sd-oct相邻帧之间的相关性保持图像的全局结构,同时采用模态无关邻域描述符定义局部结构损失,保持图像的局部结构。本发明网络架构如图1所示。

下面对全局结构约束损失和局部结构约束损失分别进行说明。

1)全局结构约束损失

为了保持图像的全局结构,定义全局结构损失lglobal。令三维sd-oct第k张b-scan记为xk,xk-1和xk+1分别表示为xk的上一帧和下一帧,设定邻域大小为4。在sd-oct图像成像过程中,相邻b-scan结构相近,因此在合成edi-oct图像相邻帧之间也应保持较小的结构差异。本发明通过向gxy添加正则化项lglobal,限制相邻b-scan经gxy生成的图像的像素间差异,以此保持图像的全局结构。

可以定义为:

其中gxy(xk)表示xk经生成器gxy处理后得到的图像。

2)局部结构约束损失

为了保持sd-oct的局部结构信息,引入模态无关邻域描述符(mind)来描述局部结构特征。

对于b-scan图像x中的像素i,mind特征值fi是一个|rnl|长的向量,其中rnl表示像素i的非局部区域。对一个来自于i+α∈rnl的像素来说,每个元素fi(α)被定义为:

其中z是一个归一化常数,使fi的最大分量为1。dp(x,i,i+α)表示以像素i和像素i+α为中心的两个图像块p之间的l2距离,可以定义为:

分母v(x,i)可以定义为:

其中n是像素i的四邻域。

基于上面所述的mind特征,局部结构损失可以通过优化gxy(x)或gyx(y)和相应的y和x的mind特征的差异来定义。

其中n1和n2分别表示输入图像的像素数量,||·||2表示l2正则化。

加入全局结构和局部结构约束项的循环生成对抗网络的最终优化目标函数为:

l(gxy,gyx,dx,dy)=lgan(gxy,dy)+lgan(gyx,dx)+λ1lcyc(gxy,gyx)+λ2lglobal+λ3llocal

其中λ1和λ3分别设为10和5来定义循环一致性损失和局部结构损失的权重。本发明将λ2设为0.05保证结构损失和对抗损失的大小大致相同。经过测试,如果全局结构损失权重过大,网络的训练会很难收敛。

步骤3.2:网络结构设计

循环生成网络由两个生成器和对应的判别器构成,生成器gxy和gyx、判别器dx和dy具有相同的结构。

1)生成器结构

为了更好的学习sd-oct的噪声分布,生成器设计成一种基于encoder-decoder结构的网络,在此基础上,增加了跳跃连接,将encoder的特征图输入到decoder的对应层。跳跃连接在网络浅层和深层之间增加了通路,让每一层的特征图得到更充分的利用。生成器由8个卷积层和8个反卷积层构成。生成模型的输入与输出均为512×512像素的单通道oct图像,卷积核大小均为4*4,卷积操作步长均为2,每个卷积层和反卷积层后都使用批归一化层和激活层。

2)判别器结构

判别器的输入是一张512×512的oct图像。判别器是由5个卷积层构成的全卷积网络,均采用4*4大小的卷积核,前4个卷积层后使用斜率为0.2的leakyrelu激活层。

步骤4包括:

训练模型过程中,将准备好的5280幅sd-oct和相应的1164幅edi-octb-scan图像作为训练集,为了增加训练样本的数量,在训练时每张图像被随机裁剪成256×256大小。所有网络都使用adam算法进行优化,学习率在前50个epoch为0.0002并在后50个epoch线性衰减成0。

实验结果与分析

为了验证本发明提出的基于无监督对抗神经网络的sd-oct去噪算法的有效性,我们通过作对比实验来验证算法去噪结果。

本实施例采用bm3d模型,bilateralfilter模型,tikhonov模型,cycle-gan模型,cgan-edge模型和本文提出的模型对测试数据进行处理,处理结果分别显示在图3中。如图所示,经bm3d和bilateralfilter模型处理过的图像在视网膜层内部和边界处存在条形伪影,视觉效果较差;tikhonov模型的去噪结果能有效地抑制了块状伪影,增强图像的对比度,但是存在明显的边缘模糊和细节丢失的现象;cycle-gan的方法处理结果存在明显的伪影,丢失了一些细节信息和边缘特征;cgan-edge与本文方法视觉效果近似,但该方法是监督模型,需要sd-oct和与之配对的edi-oct,而本文提出的方法是无监督模型,能够充分利用训练样本,在定量指标上优于该方法。采用本文提出的去噪方法后,经过处理的图像保留了更多的图像边缘信息和细节信息,并且结果图与edi-oct图最为相似且具有更加理想的视觉效果。

本实施例采用峰值信噪比(peaksignal-to-noiseratio),结构相似性(structuralsimilarityindex,ssim)和边缘保持系数(edgepreservationindex,epi)这3个客观评价指标来对不同算法的去噪效果进行衡量,得到的结果显示在表1中。可以看出,本文模型psnr、ssim和epi值这3个指标均值优于其他5种方法,这与上述实验的视觉效果对比图是吻合的,说明本文模型处理的结果降噪效果最优且与对应的edi-oct图的相似度最高。

表1不同方法去噪结果的评价指标比较

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1