艾星芳,谢鑫鹏
(1.江门职业技术学院信息工程学院,江门529090;2.深圳市腾讯计算机系统有限公司,深圳518000)
糖尿病视网膜病变(简称糖网)是一种严重的眼睛损伤,可导致视力丧失或失明[1]。据世界卫生组织统计,全世界大约有2.2亿人受到糖尿病的影响[2],视网膜病变则依据患者的患病程度以及时间而有所不同。因此,糖网的早期检测对及时控制病情和提高患者的生活质量有着重要的意义。糖网在眼底图像中表现为微动脉瘤(MA)、出血(HE)、硬渗出物(EX)和软渗出物(SE)等。渗出物是由受损血管在视网膜表面沉积的蛋白质或脂质,通常呈黄色[3]。硬性渗出物的存在是眼底损伤的明显标志,可以帮助早期发现糖网(DR)和糖尿病性黄斑水肿(DME)等疾病。在临床实践中,需要对图像中的异常区域进行检测和分割,从而帮助医生进行诊断和病情评估。然而目前临床上采用的手动分割方法消耗了医生的大量时间和精力,迫切需要一种智能算法来辅助医生进行异常区域的标注。
近年来,在眼底图像异常区域检测和分割领域已有大量工作。然而主要集中于血管的分割工作[4-6],在病变区域分割方面仍不成熟。早期工作基于图像中异常区域的边缘、纹理等特征,采用边缘检测、纹理分类和形态学等操作来实现异常区域的分割。Esmaeili等人[7]提出利用Curvelet小波对眼底图像中的视盘和硬渗出物进行分割。Singh等人[8]提出了强度阈值和形态运算的策略组合。Walter等人[9]首先采用图像增强、阴影校正和图像归一化作为预处理。然后,该研究应用自动阈值方案来检测MA的候选区域。然后利用特征提取方法将候选区域分为MA和non-MA。Quellec等人[10]采用了一种基于最优小波变换的模板匹配技术来检测视网膜图像中的MA。还提出了一种多尺度幅度-频率调制方法来区分正常和病理视网膜图像[11]。近年来,随着深度学习算法的发展,越来越多的医学图像分析工作开始采用深度学习算法。Hornero等人[12]利用神经网络分类器检测视网膜图像中的硬性渗出物。Tan等人[13]设计了一个深度卷积神经网络来自动分割硬性渗出、出血和微动脉瘤。Mo等人[14]设计了一种用于硬渗出物分割的全卷积残差网络(FCRN)。FCRN只需一次前向扫描就可以生成眼底图像的渗出概率图。然而,FCRN是一个单一的病灶分割模型,对DR和DME的诊断只能提供有限的帮助。Guo等人[15]提出了一种基于L-seg网络的多任务分割模型,实现了同一网络对EX、HE、MA和SE的分割。
虽然近年来在眼底图像病变分割方面已经做了大量的工作,但是仍然需要更精确和更有效的算法来对不同种类的眼底(视网膜)图像中的病变进行分割。在这项工作中,我们提出了一种基于区域的多分辨率融合卷积神经网络对糖尿病视网膜病变相关的多个病变进行像素级分割。利用多分辨率(MSM)卷积融合模块来提取图像中的底层特征,并设计了网络嵌套模块(NIN)来检测图像的高层特征。
实验数据集来自ISBI 2018会议竞赛提供的印度糖尿病视网膜病变图像数据集(IDRiD)。该数据集包括眼底影像143张,其中视网膜病变54张,正常89张。视网膜病变图像包含一个或多个视网膜病变,如微动脉瘤(MA)、出血(HE)、硬渗出物(EX)和软渗出物(SE),如图1所示。图像的分辨率为4288×2848像素,并以jpg文件格式存储。每个图像的大小约为800kb。
我们对数据进行了随机训练集和测试集划分,其中80%的图像作为训练集,其余20%作为测试集。具体划分情况见表1。由于不是每张图像都包含所有4种病变,在数据划分时,尽量保证每种病变都按照相同的比例被划分在训练和测试数据集中。
图1视网膜病变:微动脉瘤(MA)、出血(HE)、硬渗出物(EX)和软渗出物(SE)
表1 训练与测试数据划分
在这项工作中,我们提出了一种基于区域的卷积神经网络对糖尿病视网膜病变相关的多个病变进行像素级分割。所谓基于区域的深度网络是将原始图像划分为多个相同尺寸的小区域,利用深度学习网络对提取出的小区域进行分类,分类结果作为该区域中心像素的标签,从而实现图像的像素级分割。由于图像中病变区域相对较小,因此这种基于区域的卷积神经网络(patch-based CNN)比常用的全卷积网络(FCN)和Unet更加适合。在使用基于区域的CNN时,可以通过patch选择来解决数据不平衡的问题。此外,较浅的CNN网络可以保证病变区域的特征不会在较深的网络层中消失。
在这项工作中,数据库中80%的图像用于训练,20%用于测试。对于每幅图像,我们提取了32×32像素的区域(patch),并将中心像素的标签分配给它们。采样间隔为8个像素,如图2所示。训练集包含227294个patch图像。约50%的patch为正常,其余patch为病变。四个病灶的patch数目相同。
图2区域提取算法示意图
在这项工作中,我们提出了一个多分辨率特征融合网络来分割视网膜病变。CNN结构如图3所示。该网络包括一个常规卷积层,三个多分辨率特征提取模块(MSM),一个网络嵌套模块(NIN)和一个全连接层。利用3×3常规卷积层和三个MSM来提取patch的底层特征。并设计了一个NIN模块来检测patch中的高级特征。CNN使用patch进行训练。在进行分割时,则对测试图像进行逐像素patch提取,CNN的预测结果作为中心像素的标签。为了解决边界效应,我们在每个边界处扩展图像18个像素,并用零填充扩展的边界。
图3多分辨率融合卷积神经网络结构示意图
由于浅层特征图的分辨率高于深层特征图,而不同分辨率的特征适用于不同尺度的目标检测。因此,针对常规卷积层无法同时检测多尺度目标的问题,本文提出了一种适用于浅层的多分辨率特征提取模块(MSM),结构如图4所示。该模块包含3条支路,采用空洞卷积的思想进行设计,每条支路的空洞半径不同:分别为1、2和3个像素。各支路提取不同分辨率的图像特征,再由特征拼接层进行特征融合。
图4多分辨率特征提取模块示意图
网络嵌套模块(NIN)主要是为了更好地融合MSM提取的特征。与浅层不同,深层特征图的尺寸较小。因此,单一的卷积核就足以进行特征提取,在两个连续的3×3卷积之间放置1×1卷积层以进行特征融合。
本文所提出的框架是使用Keras工具箱实现的。网络使用GPU(NVIDIA GeForce GTX TITAN X,12GB RAM)进行训练,batch size设置为64。初始学习率设置为0.00001。用Adam代替传统的随机梯度下降(SGD)作为优化算法,并根据训练数据迭代更新神经网络权值。网络在70个训练周期后收敛。
我们利用ROC曲线下的面积AUC来对分割结果进行评价,见表2。其中MSM+INI表示本文提出的多分辨率融合网络,MSM表示去掉网络嵌套模块的网络。可以看到增加INI模块可以明显的提高网络的性能。另外,我们也和ISBI 2018参赛的队伍前5名队伍的网络和同样利用IDRiD数据进行测试的L-seg网络性能进行了比较。表3括号中的数值表示该网络在所有参与比较的网络中的性能排名。本文所提出的多分辨率融合网络所有7个网络中排名中上,其中对于出血(HE)分割的效果排名最高(2/7),软渗出(SE)分割的排名最差(4/6)。
表2 不同网络对4种异常的分割性能比较
与其他类相比,所有方法在EX和MA的分割上分别表现最好和最差。从图像中分析,EX表现为高亮且边缘清晰的异常区域,在4中异常中最易分辨;而MA表现为较小的暗红色斑点,通常与血管交叠,分割难度最大。与其他方法相比,本文提出的网络在HE分割上处于前列,其他3种异常的分割上处于中间。整体分割性能较好,能够兼顾各种异常的分割性能,没有明显的短板。
基于区域的算法在训练中可以得到很好地效果,准确率在90%以上,然而由于区域的标记仅基于中心像素的标签,导致在训练过程中,很接近的两个区域可能被分配了不同的类标签,对网络的训练产生了负面的影响。而在测试中,基于区域的网络会倾向于把所有包含异常的区域都划分为异常(即使其中心像素是正常的),从而导致异常的分割区域偏大。
本文提出了一种基于区域的多分辨率融合卷积神经网络对糖尿病视网膜病变相关的多个病变进行像素级分割。多分辨率特征提取层被用来提取区域图像中的底层特征,网络嵌套模块来检测图像中的高层特征。实验结果表明,该网络可以有效地分割眼底图像中的多种病变。