本发明属于生物医学成像和图像处理技术领域,尤其涉及一种广域眼底光学相干血流成像分辨率提升方法。
背景技术:
光学相干断层扫描血管造影(opticalcoherencetomographyangiography,octa)是一种低损、高分辨、非侵入性的新型成像方式,在同一位置使用重复b扫描的时间去相关来区分周围组织和血流。该方法有潜力取代传统的荧光素血管造影(fa)和吲哚菁绿色血管造影(icga),因此在眼科领域引起了极大的关注。与fa和icga等2d成像中脉管系统的重叠深度信息相比,octa能够以5~10μm的高轴向分辨率在深度方向上解析血管和毛细血管。它已被广泛用于各种眼部疾病的研究,例如青光眼、年龄相关性黄斑病变和早产儿视网膜病变。另外,人视网膜的octa成像还能够指示神经退行性疾病,例如轻度认知障碍和阿尔茨海默氏病。
然而,与强调视网膜层结构信息的光学相干断层扫描技术(opticalcoherencetomography,oct)不同,octa的重要功能是可视化视网膜和脉络膜毛细血管,因此,octa对采集系统的横向分辨率和采样密度有更高的要求。由于一些疾病需要周边的血流成像比如病变主要位于周边的早期糖尿病视网膜病变,小视场的octa已经不能满足此要求,需要扩大octa对视网膜扫描的成像范围。然而,广域octa会牺牲图像的横向分辨率,导致在定量分析中低估血管的生物标记物。保证分辨率的前提下扩大视网膜octa成像范围的技术将是增强oct技术在临床实践中应用中重要的下一步。
在从单个图像中得到视网膜血管系统的广域和高分辨率图像的octa问题上,华盛顿大学提出了一种多帧拼接的方法。通过辅助实时线扫描检眼镜的运动跟踪生成的octa,可实现在临床上为患者的功能性视网膜脉管成像,在覆盖视网膜60度以上的同时仍保持高分辨率和高分辨率。但是此项技术十分耗时耗力,且需要病患多次采集,对病患的配合度要求很高。
发明专利申请cn201910584151.9公开了基于sd-oct和octa视网膜图像的cnv自动检测方法,并具体公开了方法包括步骤1、采集含有cnv病变的sd-oct视网膜图像、octa视网膜图像;步骤2、利用层分割算法分割sd-oct视网膜图像的ilm、opl和bm层;步骤3、将三维sd-oct体数据投影生成cnv显著图;步骤4、将三维octa体数据投影生成视网膜内、外层投影图;步骤5、基于视网膜内、外层投影图,去除血流投射伪影获得伪影去除图像;步骤6、通过自适应阈值法将cnv显著图和伪影去除图像二值化;步骤7、对步骤6获得的两个二值图像进行数学形态学处理,获得目标候选区域;步骤8、将步骤7获得的所有目标候选区域合并;步骤9、根据包含种子点数量去除虚假目标候选区域,获得粗略cnv区域;步骤10、对视网膜外层投影图中粗略cnv区域边界内部的像素进行二聚类处理,获得二值图像;步骤11、对步骤10的二值图像进行数学形态学处理获得细化的cnv边界。该方法仅适用于cnv病变的检测。
技术实现要素:
本发明针对现有技术存在的问题,提出了一种广域眼底光学相干血流成像分辨率提升方法,能同时满足高分辨率和广域的要求,且普适于各类octa数据。
本发明是通过以下技术方案得以实现的:
本发明一种广域眼底光学相干血流成像分辨率提升方法,包括:
步骤s01,采集两种模式的视网膜octa图像,所述两种模式包括广域低清octa模式和非广域高清octa模式;
步骤s02,将两种模式的视网膜octa图像裁剪为成像区域大小一致的子图,并将两种模式的子图统一缩放到大小相同的规格;
步骤s03,将属于广域低清octa模式的octa子图作为源域,记作数据集a,将属于非广域高清octa模式的octa子图作为目标域,记作数据集b;并将数据集a和数据集b中的部分数据划分为训练集,数据集a和数据集b中的其余部分数据划分为测试集;
步骤s04,将步骤s03获得的相同规格的两种模式的视网膜octa子图放入深度神经网络进行训练;
步骤s05,将广域低清octa模式的视网膜octa子图输入步骤s04训练后的神经网络模型,训练后的神经网络模型输出对广域低清octa模式的视网膜octa子图进行分辨率增强的测试结果;
步骤s06,拼接属于同一张广域图像的重建高清octa子图,继而得到广域高清视网膜octa图像。
该方法是一种端到端的广域低采样octa高分辨率重建方法的设计。由于横向采样率低,广域octa的横向分辨率差,因此导致血管生物标记物的观察和定量不准确,高采样率和低采样率之间的分辨率差异可以通过模型或数据驱动的方法进行修复。
作为优选,所述步骤s01中的视网膜octa图像为表层视网膜血管造影图像。
作为优选,所述步骤s01具体包括:采集广域低清octa模式和非广域高清octa模式的视网膜octa图像,并利用去条纹方法去除采集广域octa过程中眼球微动产生的横条纹。
作为优选,所述步骤s01中采集的广域低清octa模式的视网膜octa图像的扫描区域大小,大于所述步骤s01中采集的非广域高清octa模式的视网膜octa图像的扫描区域大小。
作为优选,所述步骤s02包括:将两种模式的视网膜octa图像裁剪成1x1mm2的子图,统一缩放到340*340个像素点。
作为优选,所述步骤s04包括:
步骤s41,将数据集a的输入图像inputa输入生成器gab,经过生成器网络后,得到输出图像outputb;
步骤s42,将输出图像outputb输入判别器db,由判别器db判定输出图像outputb属于数据集b,则输出1,否则为0;
步骤s43,将输出图像outputb输入生成器gba,经过生成器网络后,得到输出循环图像reca;
步骤s44,将数据集b的输入图像inputb输入生成器gba,经过生成器网络后,得到输出图像outputa;
步骤s45,将输出图像outputa输入判别器da,由判别器判定da输出图像outputa属于数据集b,则输出0,否则为1;
步骤s46,将输出图像outputa输入生成器gab,经过生成器网络后,得到输出循环图像recb;
步骤s47,基于损失函数公式
计算整个训练模型的整体损失函数,继而验证输入图像和来自生成器的合成图像是否处于相同分布,以验证神经网络模型是否训练完毕;
其中,生成器gab用于将源域a中的图像x转换为类似于目标域b中图像的生成图像g(x);生成器gba用于将目标域b中的图像y转换为类似于源域a中图像的生成图像g(y);β控制损失的比例,l_gan为判别器将生成图像判别为真实图片的损失,表示对抗性损失;l_cyc为原图像经过生成循环后得到的图像的差异损失,表示周期一致性损失。
作为优选,所述步骤s47具体包括:
依据公式
计算输出图像outputb与输入图像inputb之间、输出图像outputa与输入图像inputa之间的对抗损失函数;
依据公式
计算输出循环图像reca与输入图像inputa之间、输出循环图像recb与输入图像inputb之间的周期一致性损失函数;
依据公式
计算整个训练模型的整体损失函数;
验证输出图像outputb与输入图像inputb间、输出图像outputa与输入图像inputa间、输出循环reca与输入图像inputa间、输出循环recb与输入图像inputb间是否处于相同分布,若是,则神经网络模型训练完成。
作为优选,所述步骤s04中的深度神经网络采用循环一致对抗性网络框架。
作为优选,所述步骤s06包括拼接属于同一张广域图像的重建高清1x1mm2octa子图,继而得到广域高清视网膜8x8mm2octa图像。
作为优选,所述方法获得的广域高清图像用于定量血管生物标志物。
本发明具有以下有益效果:
本发明一种广域眼底光学相干血流成像分辨率提升方法:
1、本发明采用非成对学习和裁剪子图的方法解决了广域octa缺乏成对高清octa数据的问题。
2、本发明采用裁剪子图的方法解决了采集octa图像数据集小的问题。
3、本发明方法中的模型一经训练,可多次重复使用,免去了在应用时繁琐的图像处理步骤。
附图说明
图1为本发明一种广域眼底光学相干血流成像分辨率提升方法的流程图;
图2为本发明一种广域眼底光学相干血流成像分辨率提升方法的具体示例的流程图;
图3为依据本发明一种广域眼底光学相干血流成像分辨率提升方法重建广域高分辨率octa图像的工作流程;
图4为本发明所使用的循环一致对抗性网络系统框图;
图5a为采用本发明方法示例中原始视网膜octa图像;
图5b为采用本发明方法示例中经过深度学习重建的高分辨率octa图像;
图5c(包括对应图5a中的方框c以及5b中相同位置的两幅对照图)、5d包括对应图5a中的方框d以及5b中相同位置的两幅对照图、5e(包括对应图5a中的方框e以及5b中相同位置的两幅对照图)、5f(包括对应图5a中的方框f以及5b中相同位置的两幅对照图)是图5a中方框部分的放大视图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
如图1,本发明一种广域眼底光学相干血流成像分辨率提升方法,包括:
步骤s01,采集两种模式的视网膜octa图像,所述两种模式包括广域低清octa模式和非广域高清octa模式;
步骤s02,将两种模式的视网膜octa图像裁剪为成像区域大小一致的子图,并将两种模式的子图统一缩放到大小相同的规格;
步骤s03,将属于广域低清octa模式的octa子图作为源域,记作数据集a,将属于非广域高清octa模式的octa子图作为目标域,记作数据集b;并将数据集a和数据集b中的部分数据划分为训练集,数据集a和数据集b中的其余部分数据划分为测试集;
步骤s04,将步骤s03获得的相同规格的两种模式的视网膜octa子图放入深度神经网络进行训练;
步骤s05,将广域低清octa模式的视网膜octa子图输入步骤s04训练后的神经网络模型,训练后的神经网络模型输出对广域低清octa模式的视网膜octa子图进行分辨率增强的测试结果;
步骤s06,拼接属于同一张广域图像的重建高清octa子图,继而得到广域高清视网膜octa图像。
在步骤s01中,步骤s01包括采集广域低清octa模式(即广域低横向分辨率,低采样)和非广域高清octa模式(即非广域高横向分辨率,高采样)的视网膜octa图像,并利用去条纹方法去除采集广域octa过程中眼球微动产生的横条纹。所述步骤s01中采集的广域低清octa模式的视网膜octa图像的扫描区域大小,大于所述步骤s01中采集的非广域高清octa模式的视网膜octa图像的扫描区域大小。
例如,采集20组分别为两种模式的表层视网膜(svp)血管造影图像。其中广域低清octa模式扫描区域大小为8x8mm2,非广域高清octa扫描区域大小为3x3mm2,可利用传统去条纹方法去除因采集广域octa过程中眼球微动产生的横条纹(参见图2、3)。
在步骤s02中,成像区域大小以及缩放大小根据需要设定。例如,所述步骤s02包括:将两种模式的视网膜octa图像裁剪成1x1mm2的子图(参见图2、3),统一缩放到340*340个像素点。
在步骤s03中,对裁剪的子图分类:属于广域低清octa的子图作为源域,记作数据集a,属于非广域高清octa的子图作为目标域,记作数据集b。对训练集和测试集的划分,可以将数据集a和数据集b图像中的一部分数据(约占90%)划分为训练集,其余部分数据划分为测试集。
在步骤s04中,两种模式的octa分别作为源域a和目标域b放入深度神经网络进行无监督训练,生成高清的octa子图。
步骤s04使用非成对的生成对抗网络(gan,generativeadversarialnetworks),包含生成器和判别器。我们的深度神经网络采用的是循环一致对抗性网络框架。它的目的是学习一种映射gab,使用对抗损失,在像素级别和特征级别上,都无法将属于3x3mm2模式中的子图与属于8x8mm2模式中的子图进行区分。然后,我们将其与逆映射gba耦合,并引入周期一致性损失,以强制生成图像尽可能类似于重建图像(反之亦然)。这样的生成方式不能确保我们的输入图像和输出图像以有意义的方式配对,因此引入了两个鉴别器网络da和db以确保输入图像和来自生成器的合成图像处于相同的分布。
将缩放后的参考图像数据集a和数据集b送入循环一致对抗性深度神经网络中进行无监督训练,对低质量的广域octa图像进行复原。图4为循环一致对抗性网络系统框图,它的生成器由9个残差模块组成,通过对输入图像的解码和编码转换输入图像的特征得到一张在目标域b中的图像,判别器判别通过卷积网络提取的图像特征是否属于目标域b的类别,由于该模型可以实现a到b,也可以实现b到a,设置了两个生成器(gab和gba)和两个判别器(da和db)。训练集数据在该模型中的运行过程如下:
所述步骤s04包括:
步骤s41,将数据集a(广域低清octa子图)的输入图像inputa输入生成器gab,经过生成器网络后,得到输出图像outputb;
步骤s42,将输出图像outputb(非广域高清octa子图)输入判别器db,由判别器db判定输出图像outputb属于数据集b,则输出1,否则为0;
步骤s43,将输出图像outputb输入生成器gba,经过生成器网络后,得到输出循环图像reca;
步骤s44,将数据集b的输入图像inputb输入生成器gba,经过生成器网络后,得到输出图像outputa;
步骤s45,将输出图像outputa输入判别器da,由判别器判定da输出图像outputa属于数据集b,则输出0,否则为1;
步骤s46,将输出图像outputa输入生成器gab,经过生成器网络后,得到输出循环图像recb;
步骤s47,基于损失函数公式
计算整个训练模型的整体损失函数,继而验证输入图像和来自生成器的合成图像是否处于相同分布,以验证神经网络模型是否训练完毕;
其中,生成器gab用于将源域a中的图像x转换为类似于目标域b中图像的生成图像g(x),所生成的图像必须保留有原始图像的特性,所以如果我们使用生成器gab生成一张假图像,那么要能够使用另一个生成器gba来努力恢复成原始图像;生成器gba用于将目标域b中的图像y转换为类似于源域a中图像的生成图像g(y);判别器da用于判断它的输入图像是初始域a中的图像还是生成图像g(y),判别器db用于判断它的输入图像是目标域b中的图像还是生成图像g(x);此过程必须满足循环一致性;β控制损失的比例,l_gan为判别器将生成图像判别为真实图片的损失,表示对抗性损失;l_cyc为原图像经过生成循环后得到的图像的差异损失,保证原始图像和循环图像之间的差异应该尽可能小,表示周期一致性损失。
所述步骤s47具体包括:
依据公式
计算输出图像outputb与输入图像inputb之间、输出图像outputa与输入图像inputa之间的对抗损失函数;
依据公式
计算输出循环图像reca与输入图像inputa之间、输出循环图像recb与输入图像inputb之间的周期一致性损失函数;
依据公式
计算整个训练模型的整体损失函数;
验证输出图像outputb与输入图像inputb间、输出图像outputa与输入图像inputa间、输出循环reca与输入图像inputa间、输出循环recb与输入图像inputb间是否处于相同分布,若是,则神经网络模型训练完成。
该模型是基于ubuntu16.04lts操作系统中的深度学习框架pytorch实施,模型的训练使用具有12gbram的nvidiageforcegtx1080tigpu进行。使用adam优化器从头开始训练生成器和鉴别器,其初始学习率为2*10-4,batchsize大小为1。对于这两个函数,我们分别设置β1=0.5和β2=0.999两个adam优化器。在gan模型的训练中,损失曲线显示在180个时期后收敛,因此我们在200个时期停下来以实现最小的损失,每次训练网络花费了大约4个小时。
在所述步骤s05中,神经网络模型训练完毕后,将低质量的广域octa子图输入训练后的神经网络模型,训练后的神经网络模型将输出对低质量octa进行分辨率增强的测试结果。
在所述步骤s06中,拼接重建结果。例如,拼接属于同一张广域图像的高清1x1mm2octa子图得到高分辨率的视网膜8x8mm2octa,该结果即为分辨率增强后的最终图像。
依据上述方法进行的测试结果如图5a-5f,图5a-5f是广域octa图像分辨率增强的结果。图5a是原始视网膜octa图像;图5b是经过深度学习重建的高分辨率octa图像;图5c-5f是图5a中方框内的放大视图。在整个视野中,可以观察到分辨率的显着提高,本发明提出的方法可以有效地解决分辨率和视场之间的约束,将有助于在广域octa上准确定量血管生物标志物,从而有助于诊断和治疗。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
1.一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,包括:
步骤s01,采集两种模式的视网膜octa图像,所述两种模式包括广域低清octa模式和非广域高清octa模式;
步骤s02,将两种模式的视网膜octa图像裁剪为成像区域大小一致的子图,并将两种模式的子图统一缩放到大小相同的规格;
步骤s03,将属于广域低清octa模式的octa子图作为源域,记作数据集a,将属于非广域高清octa模式的octa子图作为目标域,记作数据集b;并将数据集a和数据集b中的部分数据划分为训练集,数据集a和数据集b中的其余部分数据划分为测试集;
步骤s04,将步骤s03获得的相同规格的两种模式的视网膜octa子图放入深度神经网络进行训练;
步骤s05,将广域低清octa模式的视网膜octa子图输入步骤s04训练后的神经网络模型,训练后的神经网络模型输出对广域低清octa模式的视网膜octa子图进行分辨率增强的测试结果;
步骤s06,拼接属于同一张广域图像的重建高清octa子图,继而得到广域高清视网膜octa图像。
2.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s01中的视网膜octa图像为表层视网膜血管造影图像。
3.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s01具体包括:采集广域低清octa模式和非广域高清octa模式的视网膜octa图像,并利用去条纹方法去除采集广域octa过程中眼球微动产生的横条纹。
4.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s01中采集的广域低清octa模式的视网膜octa图像的扫描区域大小,大于所述步骤s01中采集的非广域高清octa模式的视网膜octa图像的扫描区域大小。
5.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s02包括:将两种模式的视网膜octa图像裁剪成1x1mm2的子图,统一缩放到340*340个像素点。
6.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s04包括:
步骤s41,将数据集a的输入图像inputa输入生成器gab,经过生成器网络后,得到输出图像outputb;
步骤s42,将输出图像outputb输入判别器db,由判别器db判定输出图像outputb属于数据集b,则输出1,否则为0;
步骤s43,将输出图像outputb输入生成器gba,经过生成器网络后,得到输出循环图像reca;
步骤s44,将数据集b的输入图像inputb输入生成器gba,经过生成器网络后,得到输出图像outputa;
步骤s45,将输出图像outputa输入判别器da,由判别器判定da输出图像outputa属于数据集b,则输出0,否则为1;
步骤s46,将输出图像outputa输入生成器gab,经过生成器网络后,得到输出循环图像recb;
步骤s47,基于损失函数公式
计算整个训练模型的整体损失函数,继而验证输入图像和来自生成器的合成图像是否处于相同分布,以验证神经网络模型是否训练完毕;
其中,生成器gab用于将源域a中的图像x转换为类似于目标域b中图像的生成图像g(x);生成器gba用于将目标域b中的图像y转换为类似于源域a中图像的生成图像g(y);β控制损失的比例,l_gan为判别器将生成图像判别为真实图片的损失,表示对抗性损失;l_cyc为原图像经过生成循环后得到的图像的差异损失,表示周期一致性损失。
7.根据权利要求6所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s47具体包括:
依据公式
计算输出图像outputb与输入图像inputb之间、输出图像outputa与输入图像inputa之间的对抗损失函数;
依据公式
计算输出循环图像reca与输入图像inputa之间、输出循环图像recb与输入图像inputb之间的周期一致性损失函数;
依据公式
计算整个训练模型的整体损失函数;
验证输出图像outputb与输入图像inputb间、输出图像outputa与输入图像inputa间、输出循环reca与输入图像inputa间、输出循环recb与输入图像inputb间是否处于相同分布,若是,则神经网络模型训练完成。
8.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s04中的深度神经网络采用循环一致对抗性网络框架。
9.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述步骤s06包括拼接属于同一张广域图像的重建高清1x1mm2octa子图,继而得到广域高清视网膜8x8mm2octa图像。
10.根据权利要求1所述的一种广域眼底光学相干血流成像分辨率提升方法,其特征在于,所述方法获得的广域高清图像用于定量血管生物标志物。
技术总结