DENet:融合全局与局部,多模块策略,超越传统分割方法,提升青光眼筛查精度
- 提出背景
- 精细拆解
- A. 全局视网膜图像层面
- B. 视盘区域层面
提出背景
论文:https://arxiv.org/pdf/1805.07549
代码:https://github.com/HzFu/DENet_GlaucomaScreen
青光眼是导致失明的主要眼疾之一,预计到2020年将影响约8000万人。
与其他如白内障和近视等眼疾不同,青光眼造成的视力丧失是不可逆的。
因此,早期筛查对于保留视力和维持生活质量至关重要。
临床上,筛查青光眼通常采用三种检查:眼压测量、基于功能的视野测试和视神经头(ONH)评估。
- 眼压是一个重要的风险因素,但对于许多正常眼压的青光眼患者来说,这还不够具体,不能作为有效的检测工具
- 基于功能的视野测试需要专门的设备,而这些设备通常不在初级保健诊所中
- 早期青光眼往往没有视觉症状,因此ONH评估是一种早期检测青光眼的便捷方法,目前主要由训练有素的青光眼专家执行。
但手动ONH评估耗时且成本高昂,因此需要一种自动方法进行筛查。
一种常见的ONH评估方法是基于临床参数的测量,例如垂直杯盘比(CDR)。
CDR是通过垂直杯直径(VCD)与垂直盘直径(VDD)的比率计算的,通常较大的CDR表示更高的青光眼风险。
自动筛查方法包括先分割主要结构(如视盘和视杯),然后计算临床测量值来识别青光眼病例。
- 之前的方法首先分割主要结构,然后计算临床测量值来检测和筛查青光眼。
- 然而,这些基于测量的方法严重依赖于分割的准确性 + 容易受到病理性区域和低对比度质量的影响 + 忽视了多种视觉特征。
此外,深度学习技术已被引入用于分割视网膜图像,如使用多标签深度网络联合分割光学盘和杯,然后计算CDR以验证青光眼检测,但这些方法过于依赖分割的准确性。
本文提出了 DENet 的青光眼筛查网络,该网络具有以下特点:
-
- Disc-aware:鉴于青光眼通常与眼压升高相关,损害视神经(即视盘),因此网络应突出视盘区域的上下文信息。
-
- 多级:大多数现有的深度学习网络直接关注全局图像,并使用池化层实现分层表示。
然而,下采样可能导致细节丢失,而这些细节对于识别微妙的病理变化很重要。
相比之下,局部区域尺度保留了精细表示,但忽略了全局结构信息。结合局部和全局上下文可以有效提高性能。
-
- 多模块:在临床试验中,精细测量常用于评估疾病指标。
几何变换可以改变病理区域的形态,增强检测效果。
DENet 包含四个对应于视网膜图像不同层次和模块的深度流,分别代表全局图像、分割引导网络、局部盘区流和极坐标变换流。
这些流的输出概率被融合以获得最终的筛查结果。
DENet 是一种专为青光眼筛查设计的深度学习网络,它针对青光眼的特点进行了优化。
假设我们有一个视网膜图像,其中包含眼睛的各个部分,如视盘、血管和其他重要结构。
青光眼的早期迹象可能在视盘区域显示为微小的变化。
-
Disc-aware:
- 网络首先通过特化的注意力机制聚焦于视盘区域。
- 这相当于在处理图像时,网络会特别关注视盘及其周围区域,提取与青光眼相关的上下文信息。
-
多级:
- DENet使用不同的分辨率层次来捕获图像的细节。
- 在高层次,全局图像信息被保留,用于理解整个视网膜的大局。
- 在低层次,网络通过局部区域尺度保持高分辨率,以检测微小的病理变化,如视盘边缘的细微改变。
-
多模块:
- 全局图像流:处理整个视网膜图像,提供整体结构信息。
- 分割引导网络:帮助精确地分割出视盘区域,以便更详细地分析。
- 局部盘区流:专注于视盘及其附近的细节,捕捉局部特征。
- 极坐标变换流:通过对视盘区域应用极坐标变换,网络可以适应形状变化,增强病灶检测能力。
最后,这四个流的输出被融合在一起,生成一个综合的概率分数,指示图像中是否存在青光眼的迹象。
这样,DENet结合了全局和局部信息,提高了对微妙病理变化的识别能力,从而提高筛查的准确性。
DENet 是一个全自动系统,包括视盘检测和青光眼筛查,使用不同级别的分层表示(全局图像和盘区)和模块(笛卡尔和极坐标)。
实验表明,我们的方法在青光眼筛查方面优于现有方法。
本文的主要贡献包括:
-
- 提出了一种考虑视网膜图像不同层次和模块的青光眼筛查的集成深度网络
-
- 提供了一个新颖的分割引导网络,用于定位视盘区域并生成嵌入了视盘分割表示的筛查结果
-
- 构建了一个新的数据集,称为新加坡印度眼研究(SINDI)数据集,包含5783只眼睛的图像,用于评估青光眼筛查。
精细拆解
DENet 是一种青光眼筛查网络,它考虑了视网膜图像的两个层面:全局图像和局部视盘区域。
图显示了DENet的整体架构,它包含四个主要流程:
- 全局图像流程:处理整个视网膜图像(称为“输入眼底图像”),以学习全局特征。
- 分割引导网络:一个执行视盘定位的网络,并通过识别视网膜图像中的视盘区域来辅助青光眼筛查。
- 视盘区域流程:专注于从全局图像中裁剪出的局部视盘区域(由分割网络引导)进行详细分析。
- 视盘极坐标流程:对裁剪的视盘区域应用极坐标变换,以增强对视盘的表征,进一步分析。
这四个流程的结果随后在“流程集成”过程中结合起来,得出最终的“筛查结果”,表明是否存在青光眼。
A. 全局视网膜图像层面
在DENet中,有两个流用于学习全局视网膜图像的表示:
-
标准分类网络:使用残差网络(ResNet)作为基础,通过短路连接解决深度网络中的梯度消失问题。
这里使用ResNet-50作为主干模型,直接学习整个视网膜图像的全局表示,包括5个下采样块,接着是全局最大池化层和全连接(FC)层,用于青光眼筛查。输入图像被调整为224x224像素,以利用预训练模型初始化网络。
-
分割引导网络:定位视盘区域并基于视盘分割表示产生检测结果。该网络基于U形卷积网络(U-Net),用于生物医学图像分割。
分割引导网络:展示了一个U形卷积网络结构,包含各种层和操作,如卷积(Conv)、最大池化、Sigmoid激活函数和平均池化。它还包括视盘定位组件,生成表示视网膜图像中视盘位置的二值图。
它由编码器路径和解码器路径组成,每个编码器路径执行滤波器银行的卷积层以生成一组编码特征图,使用ReLU激活函数。
解码器路径也使用卷积层输出解码特征图。
跳跃连接将编码器路径的相应特征图传递并与其上采样的解码特征图连接。
最后,一个分类器使用1x1卷积层和Sigmoid激活进行像素级分类,生成视盘概率图。
此外,从U形网络的鞍点(尺寸最小,通道数最高)扩展一个新的分支,该分支通过平均池化和展平层作为隐式向量。
然后连接两个全连接层以产生青光眼分类概率。
这个流程将分割引导的表示嵌入到U形网络的解码器路径上的卷积滤波器中。
输入图像被调整为640x640像素,确保有足够的细节准确地定位视盘区域。
在这个全局图像层面,使用了两个损失函数:二元交叉熵损失函数用于青光眼检测层,另一个是Dice系数损失函数用于评估视盘分割。
B. 视盘区域层面
网络的第二层基于局部视盘区域,这是根据之前的分割引导网络裁剪的。
局部视盘区域保留了更高分辨率的更多详细信息,有利于学习精细表示。
网络中使用两个本地流来学习局部视盘区域的表示:
- 基于ResNet的标准分类网络:在原始局部视盘区域上操作。
- 视盘极坐标变换流:应用像素级极坐标变换,将原始图像转换到极坐标系统。这种变换可以扩大杯状区域,显示更多细节,并且对数据增强具有不变性。
上图显示了如何将视网膜图像从笛卡尔坐标系(左图)转换为极坐标系(右图)。
这种转换用于更好地分析视盘区域,通过将圆形的视盘区域拉伸成矩形形式,从而能更有效地处理检测与青光眼相关的视盘和杯状区域的形状和结构变化。
这两个局部区域流的输入图像被调整为224x224像素,使用ResNet模型的预训练参数初始化,并使用二元交叉熵损失函数进行青光眼检测。
在训练过程中,分割引导模型分为两个阶段:
- 首先,仅用Dice系数损失训练U形分割网络进行视盘检测;
- 然后,冻结CNN层的参数,使用青光眼检测训练数据训练全连接层。
- 采用分离阶段而不是单阶段的多任务训练,因为这可以增加网络的多样性,利用不同级别的标签数据(像素级的视盘分割比图像级的青光眼检测更昂贵),并且由于网络提取的视盘区域影响后续流,所以视盘检测的准确性更重要。
子解法1:全局图像水平分析
- 使用ResNet-50作为基础模型,学习整体视网膜图像的粗略结构。
- 输入图像调整为224x224像素,利用预训练模型初始化。
- 包含一个标准分类网络,用于青光眼筛查。
- 另一个分割引导网络,定位视盘区域并基于分割表示进行检测。
子解法2:分割引导网络
- 基于U-Net架构,实现高效全卷积神经网络进行生物医学图像分割。
- 包含编码器和解码器路径,使用跳跃连接合并特征。
- 输出视盘概率图,同时通过一个额外的分支进行青光眼分类。
子解法3:局部视盘区域水平分析
- 在裁剪出的视盘区域上应用两个本地流。
- 一个流基于ResNet进行标准分类。
- 另一个流使用像素级极坐标变换,增强细节。
子解法4:极坐标变换
- 转换原图像到极坐标系,放大杯状区域,展示更多细节。
- 提供数据增强不变性,如平移、缩放和水平位移。
子解法5:损失函数结合
- 使用二元交叉熵损失函数处理青光眼检测。
- 应用Dice系数损失函数评估视盘分割。
训练策略:
- 分两阶段训练分割引导模型:先训练U-Net进行视盘分割,然后冻结CNN层,训练全连接层进行分类。
- 分阶段训练以利用不同数据集和配置,提高网络多样性,优先保证视盘检测的准确性。
例子:在青光眼早期检测中,一名患者进行了视网膜扫描。DENet系统开始分析图像:
-
全局图像水平分析:首先,ResNet-50模型接收到224x224像素的预处理图像。模型学习整体视网膜结构,初步判断是否存在异常。
-
分割引导网络:U-Net架构接着被用来精确定位视盘的位置,生成一个概率图。同时,该网络的另一个分支输出初步的青光眼分类结果。
-
局部视盘区域分析:在识别出的视盘区域内,系统创建两个局部流。一个流继续使用ResNet对局部特征进行深入分析,另一个流将视盘区域转换成极坐标,以便更好地识别杯状结构的微小变化。
-
极坐标变换:在极坐标系中,杯状区域的细节得到放大,使得算法能更敏感地检测微小的形态变化,这些变化可能是青光眼的早期迹象。
-
损失函数结合:在训练过程中,二元交叉熵损失用于优化青光眼分类,而Dice系数损失则帮助改进视盘分割的准确性。
-
训练策略:分割引导模型的训练分阶段进行,首先单独训练U-Net,然后在保持CNN层权重不变的情况下,训练全连接层以改善分类性能。这种分阶段训练确保了模型在各个层次都能有效地学习和改进。
最终,DENet系统根据这些分析结果,为医生提供一个关于患者是否患有青光眼的可靠预测,帮助及时采取治疗措施。