二、方法框架

二、方法框架

基于HVS的眼底图像质量分类方法流程图见图4-2,该方法主要包含5个步骤。第一步,数据预处理,提取感兴趣区域(region of interest,ROI)。原始眼底图像中包含了大量的黑色背景部分,需要去除背景部分,把感兴趣区域提取出来,进行后续的网络训练。第二步,对预处理的数据,利用微调方法训练CNN,将自然图像的网络参数迁移到医学图像网络的训练中。第三步,根据第一步预处理后的图像计算显著图。第四步,分别提取出眼底图像在CNN中的特征以及显著图中的显著性特征并进行融合。第五步,根据第四步融合的特征构建出样本的特征矩阵,并使用构建的特征矩阵训练最后的分类器,对眼底图像质量进行分类。

图4-2 基于HSV的眼底图像质量分类方法流程图

(一)感兴趣区域提取

在眼底图像中,除对于检测诊断有用的感兴趣区域外,图像中还包含了大量的背景区域,图4-3所示的眼底图像含有大量黑色背景区域。在自动诊断系统中,这些背景区域包含大量的冗余信息,不仅影响算法的精度,还会加大计算量。在数据输入网络之前,第一步是要对眼底图像的感兴趣区域进行提取。目前对于前景区域的提取通常基于阈值法并结合形态学掩模处理。例如Cardoso等通过设定特定阈值来对ROI进行提取,这种方法对于小数据集效果比较好,如果数据量比较大,并且图像的亮度、对比度差异比较大时就会出现大量错误提取的情况。我们采用最大类间方差法找到最佳阈值,ROI提取步骤如下。

(1)将彩色眼底图像灰度化,得到对应的灰度图像。

(2)采用最大类间方差法找到灰度图像的最佳阈值,将图像二值化,得到掩模模板。

(3)对掩模模板进行轮廓提取,找到面积最大的一个轮廓。

(4)根据(3)中找到的轮廓,提取包围盒,该包围盒为将该轮廓正好包围的矩形。

(5)根据包围盒将ROI提取出来。

图4-3 含有背景区域的原始图像

通过这五个步骤,最后得到一个去除背景区域的彩色眼底图像,这期间生成的掩模模板背景区域像素值为0,ROI区域像素均为1,如图4-4b所示,并且绿框为最大轮廓的包围盒,图4-4a为彩色眼底图像的灰度图像,根据图4-4b中得到的包围盒,利用包围盒的矩形坐标点就可以将前景区域提取出来,如图4-4c所示。

图4-4 感兴趣区域提取

(二)显著图特征

显著性定义了特定区域与其相邻区域在图像特征方面的差异程度,HSV能够捕获到这方面的差异并进行特征提取。传统的显著图一般只有特定关注点,没有从全局和局部关注显著性区域。我们使用基于频率调谐的显著图。该显著图能够保存比较完整的图像信息,是一种能提取清晰边界的全分辨率显著图。显著性区域满足如下条件。

(1)强调最大的显著性目标。

(2)强调整体显著性区域。

(3)具有明确的显著目标边界。

(4)不考虑由纹理、噪声和阻塞伪影带来的高频信息。

(5)高效地输出全分辨率显著图。

图4-5 眼底图像及对应的显著图

图4-5所示为眼底图像及对应的显著图。在眼底图像质量评估中,依据图像的清晰度、对比度、黄斑及视盘部分在眼底图像上的可视度等因素来判定眼底图像质量的好坏,将眼底图像分为“可接受的”和“不可接受的”两类。图4-5a和图4-5c分别表示可接受的眼底图像和不可接受的眼底图像,图4-5b和图4-5d分别为图4-5a和图4-5c对应的显著图,可以看出,我们所采用的显著图能很好地提取原始图像的视盘、黄斑、血管等重要信息,这些因素对眼底图像质量评估非常重要。

(三)微调深度网络

目前深度学习在许多领域的成功应用得益于海量数据对深度网络的训练。ImageNet数据集、Places和MS COCO等大型图像数据集在计算机视觉领域取得了一系列的突破,包括图像分类、对象检测和语义分割等,并促进了其他领域相关任务的突破。谷歌的智能回复系统已经实现了处理所有移动手机中回复任务的10%,谷歌基于神经网络的机器翻译系统已经实现了超过10种语言对的产业化。这些模型是依靠大量的标签数据训练实现的,如ImageNet比赛的图像识别模型是在上百万的自然图像数据集上训练得到的,但在医学图像领域中,对于大量标注数据的获取是非常困难的,很难满足深度网络的训练要求并容易导致深度网络过拟合。利用迁移学习技术将从源任务中学习的知识应用于其他相关任务是非常有效的,因此使用深度网络进行医学图像处理任务时可以利用迁移学习处理小样本医学图像。尽管自然图像与医学图像有所不同,但两者具有相关性。在卷积神经网络中,较低的卷积层捕获低级图像特征如边缘、形状等信息,这是自然图像和医学图像共有的信息。由于在ImageNet上训练的模型能够捕获关于图像物体的构造及组成细节,因此可以将自然图像上得到的知识应用到医学图像上。

在深度学习中,对ImageNet或Places数据集预先训练的深度网络进行微调是迁移学习在深度学习中的一种方法,其原理是利用源领域和目标领域中共享的模型参数来优化目标领域的模型参数,实现不同领域数据的知识迁移,进而优化目标领域任务。图4-6所示为本方法采用CNN和迁移学习方法进行眼底图像质量分类的框图。在眼底图像质量分类任务中,我们使用自然图像训练得到的权值参数对网络结构进行初始化,进而通过眼底图像数据训练网络来优化网络参数并进行后续的图像质量分类任务。在微调CNN之前,首先对眼底图像进行预处理,移除包含冗余信息的背景区域,对数据进行平移、旋转操作以及对数据进行扩增来增加训练数据量。我们使用多种预训练模型对眼底图像进行训练,通过设置训练参数以及优化方式使眼底图像质量分类结果达到最好并选择最优模型,提取最优模型学习的特征并与显著图特征进行融合,并利用融合后的特征训练分类器。

(四)CNN结构和实现

我们的算法使用CNN实现眼底图像质量分类任务。采用的网络结构来自ImageNet图像分类任务中的VGG19网络结构,该网络结构在多类别图像分类任务中性能优越,同时在本任务中,与当前典型的CNN结构(AlexNet、VGG16、GoogLeNet、Resnet-50)进行了对比,本算法使用的VGG19网络结构性能表现最好。图4-7所示为VGG19的网络结构,该网络共有19层:16个卷积层和3个全连接层。卷积核的大小是3×3,同时使用多个3×3卷积核代替卷积核较大的卷积层,在减少参数的同时相当于进行了更多的非线性映射,增加网络的表达能力。最大池化层可以在减少网络参数的同时加快网络的训练速度。网络包括三个全连接层,其中前两个全连接层由内积Re LU形成,并且使用了dropout防止网络的过拟合,最后一个全连接层输出的神经元个数与分类任务的类别种类个数相同,本算法最后一个全连接层的输出神经元个数为2。

图4-6 微调CNN的眼底图像质量分类框架

图4-7 VGG19网络结构

注:(3,1,1)表示卷积核尺寸为3、步长为1、填充为1

本算法的CNN使用Caffe框架实现。Caffe框架可以在GPU下进行加速运算并且效率非常高。使用Caffe实现CNN结构时,需要将输入的眼底图像数据转换成lmdb格式来加快数据的读取速度。网络在训练时,首先使用ImageNet的参数对网络进行初始化,受限于数据量的大小,通过平移、旋转及翻转操作来增加图像的数量,并采用随机梯度下降对网络参数进行修正以训练网络,得到最终的分类模型,最后提取网络全连接层的特征并与显著性特征进行特征融合,最后训练SVM分类器。

(五)SVM分类器

支持向量机(SVM)作为一种二分类模型是机器学习领域最常用的分类器,因其性能优异而被研究人员广泛使用,目前该学习方法已经广泛应用于医学影像领域,Adarsh等利用基于核的SVM方法实现了糖尿病视网膜病变的自动诊断。因此在我们的工作中,也选用SVM作为我们眼底图像质量分类的最终分类器。SVM的基本原理即在特征空间中找到一个超平面以最好地把两类特征向量分开,同时保证每一类到超平面的距离最大,原始的SVM分类器的目标函数为公式(4-1):

为求解公式(4-1)方便,将上式转换为拉格朗日对偶问题,相应的公式(4-2)为

考虑到非线性问题,Boser等在支持向量机中引入了核技巧,实现了将非线性问题转化为在高维空间的线性可分问题。引入核函数后,公式(4-2)转化为公式(4-3):

根据公式(4-3),我们可以获得核化的SVM的最优分类面,这里K (xi,xj)即为核函数。