在临床医学上,眼科医生依据眼底疾病患者的眼底彩照图像进行详细的筛查与诊断并给出具体的治疗方案。然而,由于每位眼科医生的临床诊断经验存在差异,这将会严重影响人工诊断的效率与效果。甚至,有些地域受限于当地医疗资源,病理性高度近视患者无法得到及时的诊疗,容易造成不可挽回的人眼视力损伤和失明。因此,本文通过运用数字图像处理、计算机视觉以及深度学习等领域的方法,致力于对患者的眼底彩照图像进行精确的处理和实现疾病的自动诊断。本文研究内容可概括为以下三个方面内容:
(1)高度近视病变程度的分级。该部分提出了基于“重组通道网络基本单元”的“多重组通道基本单元网络”方法。首先,对“重组通道网络”和“重组通道网络”的重组通道基本单元进行实验并分析其性能;其次,借鉴了机器学习Bagging算法的思想(类似随机森林,Random Forest,简称RF),组合了“重组通道网络”三个基本单元作为“多重组通道基本单元网络”,其中每个基本单元作为独立的网络分支;最后,根据的每个网络分支的预测结果进行投票,票数多的类别即为“多重组通道基本单元网络”的预测类别。
(2)眼底图像优化算法的开发。该部分提出了基于数字图像BGR信息来优化眼底图像相关影响因素的算法。在该算法中,首先,通过分析多组质量较好和质量较差的病理性高度近视眼底图像的灰度亮度直方图,分析不同颜色通道图像的亮度、对比度、颜色均衡等参数的差别;接着,提出了亮度空间变换公式,运用该公式改变不同颜色通道图像的亮度、对比度、颜色均衡等参数以达图像优化的效果。
(3)病理性高度近视病灶区域的分割。考虑到仅仅预测得到高度近视病变的严重程度的类别往往是不够的,能够准确的分割相关病变区域更加重要,为此该部分提出了Vnet-FPN网络的分割方法。首先,研究Vnet网络和FPN网络的构架。接着,设计Vnet-FPN网络;最后,在原始和图像优化算法优化后的数两个据集上进行实验,综合分析网络对眼底病灶区域的分割性能。
本文的研究内容能够辅助眼科医生对高度近视病变的诊断与治疗,对于深度学习与医疗技术结合的工程落地具有十分重要的意义。
一、眼底彩照图像疾病的分类
1、眼底彩照图像简介
目前,眼底检查主要通过医生利用检眼镜、眼底荧光造影、眼底相机成像以及光学相干层成像等方式来进行人工检查。利用眼底相机采集到的眼底彩照图像会呈现视网膜上主要组织结构,如图1-1所示。由图1-1可知在眼底彩照图像中,血管(Vessel)在视网膜上分布最广且呈现为暗红色的网状结构,其和视觉神经纤维从视神经盘(Optic Disc)区域进入视网膜(Retina)。从图中可见,视神经盘通常呈现为边界较为清晰、亮度较高的圆盘状结构。此外,眼底图像中部颜色较深的区域称为黄斑区(Macula Lutea),黄斑区呈椭圆形凹陷,其凹陷的中心称为中央凹(Fovea)。中央凹是人眼视力最为敏感的区域,一旦该区域发生病变,视力将受到严重影响。
鉴于目前在此高度近视分类问题的研究工作非常匮乏,为此主要借鉴糖尿病视网膜病变(Diabetic Retinopathy,DR)严重程度的分类的研究方法。在DR的分类研究中,主要有两种分类标准,分别为二分类标准和三分类标准。
在二分类问题中,研究者把彩色眼底图像分为非DR和 DR 两类。Gardner 等人[4]使用图像的像素强度值作为特征,通过训练神经网络进行分类。Roychowdhury[5]等人提出了一种包含两步的层次分类的方法,该方法综合利用了高斯混合模型(Gaussian Mixture Model,GMM)、k 近邻分类器(k-Nearest Neighbor,kNN)、支持向量机(Support Vector Machine,SVM)以及AdaBoost 四种机器学习算法来训练分类器。Priya[6]等人首先提取了血管、眼底出血和渗出物等几个生物损伤的特征,然后把这些特征分别输入三个分类模型进行训练,即概率神经网络 (Probabilistic Neural Network,PNN)、贝叶斯分类器(Bayesian Classifier)和支持向量机(Support vector machine,SVM)。在三分类问题中,研究者通常把彩色眼底图像分类为非 DR、非增生性 DR 和增生性DR 三类。Nayak[7]等人通过提取渗出物的面积以及血管的面积和纹理特征,然后使用这些特征训练神经网络的方法。
从上述研究方法可知目前国内外关于眼底彩照图像的疾病分类的研究方法大多数是通过提取图像低层的视觉特征(如图像的像素值、纹理、对比度等),或者眼底出血、渗出物等与糖尿病视网膜病变相关的生物损伤或者血管等局部的特征,然后利用不同的机器学习算法对图片进行分类。这些方法的性能很大程度上决定于手工设计的特征的有效性。相对于二分类,多分类问题的分类标准更加精细,对某些类别的视网膜病变分类往往需要考虑非常细微的特征,因此多分类问题更加复杂。
2、眼底图像分类的特征
(1)高度近视的豹纹状眼底
一般情况下,患有高度近视的眼底图像具有相对明显的豹纹状眼底(tessellated fundus)。豹纹状眼底主要是由于高度近视疾病导致人眼眼轴延长,视网膜血管离开视盘后即变细、变直,加之脉络毛细血管的改变,造成了视网膜色素上皮层的营养障碍,致使浅层色素减少或消失。这样暴露的脉络膜红色血管与血管网之间的褐色色素就交错形成了所谓的豹纹状眼底,图清晰展现了高度近视的豹纹状眼底。石一宁[20]等对154人41岁以上高度近视眼人群进行研究,发现非病理学性改变占 45.5%,其中豹纹状眼底占33.8%。而当眼轴明显延长、屈光度更高时,可增至90%-100%。尤以后极部较为显著,豹纹状眼底随近视的屈光度逐渐加深而更加明显。
由于豹纹状眼底与年龄有一定关系,即年龄愈大豹纹状眼底愈显著。为此本章定义高度近视性的豹纹状眼底须同时满足如下两个条件:
1)黄斑附近可见明显的豹纹状改变(黄斑区豹纹状眼底面积>1/2)
2)血管弓处可见明显的豹纹状改变(血管弓豹纹状眼底面积>1/2)
(2)病理性高度近视的病变特征
高度近视是眼底病变种较为常见并且高发的,高度近视导致了很多病灶,比如近视性黄斑病变、豹纹状眼底、弥漫性视网膜脉络膜萎缩、斑块状视网膜脉络膜萎缩、黄斑萎缩、漆裂样纹、脉络膜新生血管、Fuch's 斑、后巩膜葡萄肿等病理性病变。本文主要研究较为常见的斑块状视网膜脉络膜萎缩、黄斑萎缩,其他病灶未进行研究。我们主要对这两类病灶进行简要介绍,如下所示:
[if !supportLists](1) [endif]斑片状脉络膜视网膜萎缩。黄斑或视盘周围边界清晰的灰白色病灶,仅有近视狐没有豹纹状眼底的不算做此类病变。如下图2-3所示:
(2)黄斑萎缩。黄斑萎缩是一种边界清楚的圆形脉络膜视网膜萎缩病灶,呈灰白色或白色,周围出现退化的纤维血管膜,并随时间增大。黄斑萎缩必须与斑片状视网膜萎缩区分开来,但是患者一般又同时具有患有这两种病灶。通常,黄斑萎缩以中心凹为中心(并非萎缩区域的几何中心,事实上只要萎缩涉及中心凹区域既认定为此萎缩区域),呈圆形,而斑片状视网膜萎缩不以中央凹为中心,边缘不规则。图2-4所示为黄斑萎缩又存在斑片状脉络膜视网膜萎缩的眼底图像。
3、实验
我们使用百度竞赛方提供的高度近视病变类别标签的数据集对本章所提出的多重组通道基本单元网络进行分类性能评估,并且同“重组通道网络”、“重组通道网络”的重组通道基本单元两个网络进行了分类性能的比较。该数据集共含有超过1009张彩色眼底图像。我们使用按类别分层抽样的方法把数据集划分成了我们在实验中使用的800张训练集、100张验证集和109张测试集。
在本节接下来的部分,我们将分别从眼底图像数据预处理和数据增广、网络实现及参数设置和实验结果与分析四个方面依次展开论述。
(1)数据预处理与数据增广
1)数据预处理
基于深度卷积神经网络的训练特性,如果不处理数据集中存在的一些问题,将严重影响所训练网络的性能,为此我们对数据集进行了如图所示的预处理。
(1)截取眼底图像感兴趣区域。由于该数据集是在不同医院在不同环境下和不同设备的情况下眼科医务人员所采集的,存在图像大小不一致并且含有一大块的黑色边界背景区域如图a)所示,并且这些区域对于图片的分类没有任何帮助,甚至会严重降低网络的分类性能,因此我们对多余的背景区域进行了去除的操作并保留眼底区域部分,结果如图b)所示。由于图像不是呈矩形像素分布,根据分类网络输入结构要求,防止图像经过网络输入改变图像大小的Resize操作后发生变形,我们对非矩形眼底图像扩黑边,以解决图像信息丢失的问题。
(2)眼底图像尺寸调整。原始数据集的图像大小在1444*1444左右,该尺寸对于网络来说太大,由此根据现阶段深度学习算法对图像大小对分类网络的性能影响的经验,我们最终在网络的训练过程中把图像的尺寸大小调整为256*256,主要原因有以下两点:第一,图像尺寸过小容易导致图像不同类别之间的特征信息的损失,从而不利于网络对具有分类特征的区域进行特征学习;第二,考虑到本文研究所采用的GPU显存及处理能力,如果图像尺寸太大则不利于深度卷积神经网络的训练。
2)数据扩增
相对于自然场景图像的分类问题,本章所使用到的高度近视病变分类的数据集明显规模较小,为了避免训练网络出现过拟合(Over-fitting)现象,在训练的过程中我们采用了以下几个方面的在线数据增广(Online Data Augmentation)方法:
(1)翻转(Flipping)。随机地对眼底彩照图像进行水平翻转、垂直翻转,水平垂直翻转。
(2)对比度和亮度的调整(Contrast Adjustment)。本文主要采用按像素的方改变图像对比度和亮度,公式如下:
g(x)=αf(x)+β
其中α调节对比度, β调节亮度。本文分类设置α和β为随机0.8-1.0区间内
选取的随机数。
(3)旋转(Rotation)。在 0°至15°之间随机地选择一个偏移角度对图像进行旋转操作。
(4)剪切(Cropping)。随机地选择一个偏移量(Offset),例如,原始图像大小1024*1024,偏移量的取值范围为[0, 128],则把1444*]1444的图片剪切为1316*1316。
(2)实验网络
实践经典的分类网络Resnet、Densenet、ShuffleNetV2等分类网络。
二、眼底彩照图像病灶区域的分割
在前面几章中,对高度近视病变严重程度的自动分类和眼底彩照图像的优化算法进行了详细的叙述。在高度近视病变分类中,我们使用了一种基于Bagging思想的多重组网络的方法;在眼底图像优化算法中,我们则提出了基于图像空间变换方法的眼底图像优化算法。
在实际的高度近视疾病的计算机辅助诊断(Computer-Aided Diagnosis)系统中,只预测到高度近视病变严重程度,对眼科医生提供的辅助诊断信息显然还不够。为此,在获取病理性高度近视的眼底图像后,需要再对病变区域进行分割,供医生进一步确认患者病情,这将很大程度上增加高度近视诊断的效率和精确度,为大规模的高度近视病变筛查提供可行的措施。因此,本章进行了多尺度融合条件下的高度近视病变区域的分割工作,具体来说,在知道眼底图像高度近视病变严重程度的情况下,用优化算法处理病理性高度近视的眼底图像,再用本章的方法对其中的病变区域进行自动的分割。
1、数据集的生成
如前文所述,高度近视病变区域的精确分割对高度近视患者的诊断与治疗具有重要的意义。如果按目前眼底彩照图像病灶分割的主流方法,其几个步骤如下:眼底图像预处理,高度近视病灶区域候选集的提取,病灶特征提取与分类以及眼底图像后处理。这些方法通过人工预先构造的特征再结合几种较为常见的机器学习算法(Machine-Learning Algorithms),比如支持向量机(Support Vector Machine ,SVM),k均值聚类算法(k-means clustering algorithm,K-Means)等方法,进行病灶区域的分割。本章采用了深度学习的分割方法,降低了数据预处理的难度,但由于深度卷积神经网络需要较多的图像数据,我们对进行了一定程度上的数据增广,以此来扩增数据集。
经过第二章的高度近视病变严重程度的分类后,我们需要针对病理性高度近视进行图像质量评测并筛选,即人工人工筛选过滤了质量较差的图像,最终一共得到350左右张质量正常的病理性高度近视眼底彩照图像作为数据集。进行该步骤主要是由于眼底彩照图像采集时可能出现聚焦失败导致曝光不足、环境光照变化导致过度曝光等一系列问题,这些图像大部分达不到正常的临床要求,如图 所示。
2、数据集与评测指标
对于上述的Vnet网络和Vnet-FPN网络是在相同的初始化方法的基础上从头开始训练的。本章数据集含有400张图像,其中训练集、测试集各300张,验证集100张,测试集100张。本章选择了评测医学图像处理算法的性能时经常使用的评测指标Dice、TPR、PPV作为网络的评测指标,其实都是算它分割方法预测的区域跟金标准(ground truth)区域重合的部分的比例。
Dice是一个相似性指数,就是分割算法结果与金标准的结果之间的重叠区域(Overlap Area)除以他们两个区域的一个平均:
3、数据集的扩增
本文所使用到的病理性高度近视病变的数据集,数据规模比较小。因此,在网络训练时,为了避免过拟合(Over-fitting),我们主要对数据集进行预处理,即在网络训练过程中实时实践以下一些数据增广的方法:
(1)翻转(Flipping)。实验经验表明,眼底彩照图像水平翻转相对于垂直翻转更为有效,为此本文采用水平翻转的数据扩增方法。
(2)图像亮度的调整(Contrast Adjustment)。本文主要采用按像素的方改变图像亮度,根据随机生成的亮度值叠加到原眼底图像中。
(3)旋转(Rotation)和尺度变换(Scale)。在5°至15°之间随机地选择一个角度对图像进行旋转操作和对眼底彩照图像坐标做scale,相当于对图像做缩放。
(4)高斯滤波(Gaussian filter)。高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。
4、分割结果展示
左中右分别为标签可视化,Vnet分割结果和Vnet-FPN分割结果。