杨帆,陈睿诗,莫阳,缪月红,段平,谷浩,王丽会
(1.贵州医科大学 生物与医学工程重点实验室,贵州 贵阳 550004; 2.贵州医科大学 生物与工程学院 生物医学工程教研室,贵州 贵阳 550004; 3.贵州医科大学附院 眼科,贵州 贵阳 550004; 4.贵州大学 计算机科学与技术学院 贵州省智能医学影像分析与精准诊断重点实验室,贵州 贵阳 550025)
目前,视网膜眼底图像已经广泛用于视网膜病变、糖尿病性视网膜病变等诊断。青光眼是视神经受损导致视力下降的一种疾病,一旦发病几乎不可能完全治愈,但是及时的早期诊断及治疗可以有效控制青光眼对视力的影响[1]。对于青光眼的诊断,可以通过眼底图中视杯和视盘垂直直径的比值作为诊断指标[2],临床上多采用目测方法得到比值,不同医生得到结果存在差异;为了得到精确比值,可以借助计算机图像处理技术自动实现视盘的定位、视盘及视杯分割,而关键步骤是视盘的定位与分割,以往对视盘定位的方法是假设视盘是图像中最亮的区域,通过寻找最大像素的位置确定视盘[3],但该方法不适合对比度较低的图像。对于视盘分割过去采用水平集方法[4-5],但此类方法对于初始曲线放置位置有较高要求,如果视盘中含有大量血管,算法鲁棒性低。最近几年,深度学习方法被广泛用于医学图像的分割[6-14],其中U-Net深度学习法对于医学图像分割有较高的精度[15-16]。与过往的方法相比,深度学习法不需要对图像做任何假设和预处理,仅需要提供训练图像和标记图,通过网络训练即可得到较好的分割结果,本研究在此基础上,提出两步U-Net网络训练深度学习法,分别实现视盘的定位及分割。
本文视盘定位数据采用了贵州医科大学附院眼科视网膜病变眼底图,共915张。视盘分割数据采用Messidor数据库[17],该数据库包含1 200张彩色视网膜病变图像,以及每张图像对应的视盘边界标记图。数据库中图像有3种尺寸,分别为1 440×960、2 240×1 488及2 304×1 536像素。
1.2.1主要算法流程 本文算法主要基于U-Net网络,其中算法分为2步,第1步将原图输入U-Net #1网络,通过网络训练确定视盘在图像中的位置;第2步根据视盘位置提取80×80的视盘区域图像,输入U-Net #2网络用于视盘分割训练,将得到的视盘二值图边界标记在原图实现视盘的分割(图1)。
图1 视盘定位与分割算法主要流程Fig.1 The flow chart of Optic disk positioning and segmentation algorithm
1.2.2U-Net网络结构 研究中采用的U-Net网络模型呈U型结构,主要由卷积层、激活层、池化层、反卷积层等结构组成,图2显示了算法第1步中的U-Net #1网络模型。输入图像为256×256的彩色图像,除了最后一层卷积层滤波器尺寸为1×1之外,其余所有卷积层滤波器尺寸为3×3,并且步长(stride)为1,补零(padding)为1;此外,3×3卷积层之后添加线性整流激活函数(rectified linear unit,ReLU)[18]增加网络模型的非线性。网络中下采样阶段使用的池化层为2×2的最大池化,上采样阶段使用步长为2,滤波器尺寸为2×2的反卷积将图像恢复为输入图像尺寸;然后通过归一化指数函数(softmax)得到每一类像素的概率值,并使用带权重的交叉熵函数计算网络的损失函数值(loss)。U-Net #2网络模型和第1步采用网络模型相同,唯一区别是输入图像为80×80的视盘区域图像,输出为80×80的视盘二值图。
图2 U-Net #1网络结构图Fig.2 U-Net #1 network architecture
1.2.3数据处理 由于U-Net网络要求输入图像尺寸相同,Messidor数据库中的图像通过Matlab 2018a软件处理重新插值为256×256像素。Messidor数据库中900幅用于网络模型训练,300幅用于网络模型测试。图3分别显示了算法第1步和第2步中用于训练的眼底图及视盘标记图,其中第2步训练图和标记图是根据第1步标记图中视盘中心位置截取80×80像素区域而得。标记图中白色区域像素值为2,黑色背景区域像素值为1。由于深度学习中需要大量的数据进行网络模型训练,训练集通过水平垂直镜像、旋转、高斯模糊等手段扩增为14 400幅图像。因此算法第1、2步中实际训练集为14 400幅图像。
注:A为256×256像素眼底图,B为256×256像素视盘标记图,C为80×80像素视盘区域图像,D为80×80像素视盘区域标记图。图3 眼底图及视盘标记图Fig.3 Fundus image and labeled optic disk image
1.2.4实施细节 第1步中U-Net #1网络训练每次输入图像为36幅,400次训练完成一个时期(epoch),当loss及精度不再增加时停止训练(大约50个epoch);然后使用该训练好的模型检测测试集图像中的视盘位置,截取80×80像素视盘区域用于第2步中U-Net #2网络测试。第2步中网络训练同样每次输入36幅图像,50个epoch后当loss不再降低时停止训练。网络初始学习率为0.05,每10个epoch下降为原来0.2倍。训练过程中使用深度学习平台为Matlab 2018a,CPU为i7-7700 K,内存64 g,显卡为GTX 1080 Ti。
1.2.5数据评估方法 采用了准确率、Dice系数、Jaccard系数、敏感性、特异性指标评估实验结果,用真阳性(TP)、真阴性(TN)、假阳性(FP)及假阴性(FN)计算上述指标。计算方法如下:准确率= (TP+TN)/(TP+TN+FP+FN),Dice系数=2TP/(2TP+FP+FN),Jaccard系数=TP/(TP+FP+FN),敏感性=TP/(TP+FN),特异性=TN/(TN+FP)。
由于本院眼底数据没有提供分割结果,该数据主要用于视盘定位。915幅图像全部用于测试,视盘定位准确率为87.10%。图4显示了部分视盘定位准确的图像及其分割结果,图5显示了部分未定位视盘图像。此外,对Messidor数据库中300张测试图像进行视盘定位,定位准确率为100%。图6显示该数据库部分视盘定位及分割图像,其中绿色十字符号标记了视盘在图像中的位置,蓝色线条为实际分割曲线,绿色线条为真实视盘边界曲线。
注:A行为视盘定位图像,B行为对应眼底图视盘分割结果;绿色十字符号标记了视盘在图像中的位置,蓝色线条为实际分割结果。图4 医院数据视盘定位及分割结果Fig.4 Optic disk localization and segmentation from the hospital's images
注:A未见视盘,B低对比度的视盘和眼底背景,C视盘残缺。图5 未定位视盘图像Fig.5 Optic disk images without localization
注:A列图像为原图,B列为U-Net #1网络输出结果,C列为视盘定位图,D列为U-Net #2网络输出结果,E列为最终分割结果。图6 Messidor数据视盘定位及分割结果Fig.6 Optic disk localization and segmentation from Messidor database's images
如表1所示,Messidor数据库中300幅测试图像视盘分割的平均准确率、Dice系数、Jaccard系数、敏感性、特异性及平均单幅图像处理时间指标,分别为97.38%、0.919 4、0.854 9、0.995 9、0.970 0及0.25 s。
表1 评估指标统计结果比较Tab.1 Comparison of statistic results of evaluation parameters
注:“-”表示结果未给出。
视盘的定位及分割是实现眼底图像自动分析的重要环节,特别是对于青光眼疾病的智能诊断。本文采用深度学习方法对视盘进行定位及分割。对于视盘定位,从医院采集数据定位准确率为87.10%。部分图像未定位的一个原因是图像中未见视盘、视盘和眼底背景对比度低以及视盘残缺。另外一个原因是研究中采用的训练数据来自Messidor数据库,其中数据均含有视盘,且对比度高,没有视盘残缺的情况,因此使用该数据训练的网络模型去测试时,会出现检测不到视盘的情况。进一步改善视盘定位精度,可以通过增加此类数据到训练集中进行网络训练。而Messidor数据库中的图像,本文算法视盘定位精度达到100%,高于其它方法。
对于视盘,在第1步视盘精确定位基础上,利用U-Net #2网络实现了视盘的分割。从结果可以看出实际分割线条和真实视盘边界曲线相似,分割结果较好。另外从统计结果可以看出,本文算法各项评估指标保持较高水平。虽然视盘分割准确率、Dice系数、Jaccard系数略低于文献[22]中的结果,但敏感性和平均处理时间远高于其它方法。特别是短的处理时间,对于实时处理数据有极大的帮助。此外,研究中只采用了900幅图像用于训练,虽然通过图像扩增到14 400幅,但对于深度学习方法远远不够,还需要继续增加训练数据。
对于本文算法,主要采用了两个U-Net网络。其主要原因是视盘分割属于图像二分类问题(视盘和背景),当样本数据不平衡时,U-Net网络达不到较高的分割精度。以往可以通过带权重的交叉熵方法解决该问题,但研究中的视盘和背景像素总和差距较大,实验结果精度低。因此通过第1步的U-Net网络确定一个较小的视盘区域,输入到第2个U-Net网络中进行测试。通过这种方法可以极大降低背景像素对于视盘分割的影响,从本研究的结果可以看出实际分割曲线和真实曲线几乎重合。
综上所述,本研究采用深度学习方法中的U-Net网络分步实现了眼底图中视盘的定位及分割,其视盘定位和视盘分割准确率保存较高的精确度,同时极大缩减了图像处理时间。通过与其它算法比较,证明了本算法的可行性和有效性。课题组将继续扩大训练集,采用新深度学习网络模型提升视盘分割各项评估指标,使其在眼底图像分析,尤其是青光眼智能诊断中发挥其应用价值。