基于多尺度卷积神经网络的糖尿病视网膜病变分类方法与流程
本发明涉及计算机视觉中的医学图像处理,更具体的,涉及一种基于多尺度卷积神经网络的糖尿病视网膜病变分类方法。
背景技术:
医学图像处理是近年来计算机视觉领域中最广泛的研究课题之一,糖尿病视网膜病变是致盲性慢性疾病之一,也是世界上可预防性失明的主要原因之一。该病治疗的关键在于早期诊断和干预治疗。基于彩色眼底图像的计算机辅助诊断技术可以显著提高早期糖尿病视网膜病变的筛查效率和有效性,因此基于该技术开发一种快速可靠的糖尿病视网膜病变病变智能检测方法是十分必要的。
糖尿病视网膜病变检测的关键是病变的定位与分类,目前该领域的研究主要集中于如何定位和分类最重要的两种早期红色病变:微血管瘤和视网膜出血。这两种病变的定位与分类具有几大挑战性和难点:第一,微血管瘤是一种红色点状病变,通常稀疏地分布在视网膜黄斑和后极区域,体积小且数量少,这给定位带来了难度;第二,视网膜出血是一种暗红色或褐色的、形状和大小不规则的病变,由于颜色和血管以及眼底区域接近,给识别增加了难度;第三,微血管瘤与点状视网膜出血外观相似,这给区分这两种病变增加了难度。此外,眼底图像亮度不均匀且对比度低、红色病变分布复杂(例如位于血管附近或血管交叉处)等因素也是眼底病变识别的难点。
人们对彩色眼底图像中微血管瘤和视网膜出血的定位和分类做了大量的工作。一般来说,这些方法可分为三类:形态学方法、基于统计的方法和有监督的机器学习方法。
早期研究多采用形态学方法,这种方法的处理速度快且易于实现,但容易忽视图像中细微的结构和病变,且人工识别病变可能产生主观判断错误。
基于统计的方法与形态学方法缺点相似,容易忽视隐藏的结构和病变,且统计模型包含很多参数,需要人工进行估计和调整。
第三类方法涉及机器学习。卷积神经网络是一种有监督的机器学习方法,它很大程度上克服了上述提到的糖尿病视网膜病变检测方法的缺点和局限性。根据识别结果的精度,可以将基于卷积神经网络的方法分为图像级糖尿病视网膜病变检测和病变级糖尿病视网膜病变检测。图像级糖尿病视网膜病变检测算法,是用于区分不同的眼底图像病变程度(如正常/轻度/中度/重度),但无法给出具体的病变位置,因此实际应用场景比较有限。病变级糖尿病视网膜病变检测算法,则是针对可能存在病变的眼底图像,进一步定位出图像中病变的位置,且对病变类型进行判断。对于病变级糖尿病视网膜病变检测,其研究的重难点在于如何准确定位出病变的位置,再进一步对病变进行分类。
在糖尿病视网膜病变发展的过程中,可能有多种不同类型的病变同时出现,例如在病变早期,微血管瘤和点状视网膜出血常同时出现,且难以区分。因此有必要同时检测微血管瘤和视网膜出血这两种病变,并对它们进行定位和分类。现有的病变级糖尿病视网膜病变检测方法都有一个共同的缺点:只关注单一类型的病变。这是由于微血管瘤和视网膜出血在形状和大小上有巨大差异,而常用的检测方法是先将视网膜图像分割成一系列固定大小和形状的图像序列,再对图像序列依次进行病变检测,因此难以实现大小、形状不同的两类病变的同时精准检测。
技术实现要素:
针对上述技术中的问题,本发明提供一种基于多尺度卷积神经网络的糖尿病视网膜病变分类方法,该方法在单尺度卷积神经网络模型基础上,通过提取多个不同尺度的图像序列特征来获取补充信息,并将不同尺度下的特征向量进行融合来获得能更好地代表该图像的特征向量,从而实现不同类型的糖尿病视网膜病变的定位和分类。
为了实现上述发明目的,本发明采用的技术方案为:
基于多尺度卷积神经网络的糖尿病视网膜病变分类方法,包括:
(1)选取一系列眼底图像作为数据集进行糖尿病视网膜病变分类模型的训练和测试,数据集包括多张训练集和测试集;眼底图像涵盖从轻度非增殖性糖尿病视网膜病变到增生性糖尿病视网膜病变的图像;
(2)对输入的眼底图像进行预处理,预处理包括目标区域提取和图像归一化;
(3)将预处理后的眼底图像以1像素为滑动步长,分割成一系列以目标像素为中心的图像序列,图像大小为h*h,h的单位为像素,通过改变h的值来实现多尺度分割;其中对于训练集中的眼底图像,将分割成的图像序列标记为ma/he/non标签以供模型训练;
(4)将步骤(3)得到的训练集的图像序列输入所述模型进行训练;
(5)将待分类的眼底图像通过所述步骤(2)和(3)后得到不同尺度的一系列图像序列,将不同尺度的图像序列分别输入训练好的所述模型中,得到不同尺度的特征向量;将不同尺度的特征向量进行特征融合,生成融合特征向量,用分类器对融合特征向量进行分类,并输出该图像序列中心像素点的病变分类结果;整合输入的眼底图像中所有目标像素的分类结果后,得到该眼底图像的微血管瘤和视网膜出血两种病变检测结果图。
进一步地,所述目标区域提取:提取的目标区域为覆盖视网膜70%以上的中心矩形区域,此区域内微血管瘤和视网膜出血这两种病变的分布最为密集;所述图像归一化,包括采用亮度均衡和对比度增强的方式。
进一步地,所述多尺度分割:将眼底图像中的每个像素作为目标像素,以该目标像素为中心进行步长为1像素的滑动窗口分割,窗口大小为h*h,h的单位为像素,于是预处理后的图像被分割成一系列尺度为h的正方形图像序列,通过改变h的值来实现多尺度分割。
进一步地,所述图像的中心像素的病变类型标记就代表该正方形图像的病变类型标记,病变类型标记包括ma、he和non,ma标记代表微血管瘤,he标记代表视网膜出血,non标记代表正常无病变;如果中心像素被标记为ma,则该图像被标记为ma;如果中心像素被标记为he,则该图像被标记为he;如果中心像素被标记为non,则该图像被标记为non。针对所述训练集中标记为non的图像和标记为ma和he的图像的数量不平衡的问题,解决方法包括:对标记为non的图像增加其步长,和/或对标记为ma和he的图像进行图像旋转和图像翻转。
进一步地,所述步骤(4):将图像输入基于imagenet数据集预训练的vgg-16深层卷积神经网络模型的特征提取器来进行特征提取,将提取的特征向量进行特征融合,再将融合特征向量输入分类器,在分类器输出分类结果后,使用交叉熵损失函数计算分类结果与实际病变类型标记之间的损失值,再通过优化器对模型的参数进行调整,重复上述过程直到损失值小于规定的阈值,得到训练完毕的所述糖尿病视网膜病变分类模型;所述糖尿病视网膜病变分类模型包括特征融合层、分类层以及基于imagenet数据集预训练的vgg-16深层卷积神经网络模型的特征提取器。
进一步地,所述特征融合:采取空间特征融合方法,将多组相同维度的特征向量融合成一组特征向量,即通过空间特征融合,将多组vgg-16卷积神经网络模型的特征提取结果进行连接;针对多组相同维度的特征向量,采取加性融合函数进行融合,加性融合函数是对多个特征向量对应位置处的值加权求和,不同特征向量的权重之和为1;融合后特征向量的维度数不变;各个特征向量的权重通过所述分类模型训练得到,从而保证加性融合函数的权重是最优解。
本发明具有以下有益效果:一种基于多尺度卷积神经网络的糖尿病视网膜病变分类方法,通过将单尺度特征提取扩展为多尺度特征提取并进行特征融合,实现同时分类微血管瘤和视网膜出血这两种尺度不同的病变的目的。该方法显著提高了糖尿病视网膜病变检测的性能,实现了两种病变的同时检测以及精准检测。
为了实现微血管瘤和视网膜出血这两种病变的同时检测,本发明提出了一种基于多尺度卷积神经网络的糖尿病视网膜病变检测方法,并输出像素级别精度的检测结果图来指示病变位置。具体的,该方法先将原始眼底图像进行归一化预处理,再以目标像素为中心,对预处理后的图像进行多尺度分割,得到不同尺度下的一系列形状、大小相同的图像序列。针对每个尺度,分别利用卷积神经网络模型对图像序列进行特征提取,得到不同尺度的特征并进行融合,针对融合后的特征来进行最后的分类,得到图像序列(即目标像素)的病变检测结果。将原始眼底图像上所有像素点的检测结果进行整合输出,即得到带有病变定位和分类的糖尿病视网膜病变检测结果图。
附图说明
图1为本发明实施例的糖尿病视网膜病变分类方法的模型训练流程图。
图2为本发明实施例的糖尿病视网膜病变分类方法的模型实际应用流程图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明。
实施例1:基于多尺度卷积神经网络的糖尿病视网膜病变分类方法包括以下步骤:
步骤一、卷积神经网络模型的训练离不开数量充足、质量上乘的训练和测试数据集的支持,因此本实施例建立了一个有像素精度糖尿病视网膜病变标记的高分辨率眼底图像数据集(nju_dr),来用于模型的训练和测试。该数据集包括100张彩色眼底图像,其中84张属于训练集,16张属于测试集。该数据集的眼底图像涵盖了从轻度非增生性糖尿病视网膜病变到增生性糖尿病视网膜病变的多种不同程度病变的视网膜图像,并且具备3800(±100)x2900(±200)像素的超高分辨率。所有视网膜图像均由一台视野200度的daytona眼底相机拍摄,该相机在目前市面上有的眼底相机中性能领先,具备极广的拍摄范围和超高分辨率。nju_dr数据集是第一个代表中国人群的包含典型糖尿病视网膜病变并在病变水平上进行注释的数据集。
步骤二、数据集建立完毕后,本实施例对输入的眼底图像进行预处理,主要包括目标区域提取和图像归一化两个步骤。
(1)目标区域提取:提取的目标区域为覆盖视网膜70%以上的中心矩形区域,大小为1200*1300至1400*2000不等,此区域微血管瘤和视网膜出血这两种病变的分布最为密集;目标区域大小小于原始输入图像,因此用目标区域进行后续计算能极大节省计算资源和耗时。
(2)图像归一化:由于拍摄时间和条件不同,数据集中的眼底图像彼此之间的亮度和对比度差别很大;再者,低亮度和对比度的眼底图像给病变的检测增加了难度;因此,需要对数据集中的眼底图像进行亮度均衡与对比度增强处理;具体处理方法为:将原始图像与标准高斯核进行卷积计算,得到背景亮度值;将原始图像和背景亮度值相减,得到差值;将差值乘以对比度系数实现对比度增强;将对比度增强后的图像加上亮度系数,使得图像像素值保持在[0,255]范围内,实现亮度均衡。
步骤三、将预处理后的眼底图像以1像素为滑动步长,分割成一系列以目标像素为中心的图像序列(图像大小为h*h,h的单位:像素),通过改变h的值来实现多尺度分割。对于处于图像边界处的像素点,则利用对称性将其进行分割,形成图像序列。
对预处理后的眼底图像进行多尺度分割。将眼底图像中的每个像素作为目标像素,以该目标像素为中心进行步长为1像素的滑动窗口分割(窗口大小为h*h,h的单位:像素)。于是预处理后的图像被分割成一系列尺度为h的正方形图像序列,通过改变h的值来实现多尺度分割。中心像素的病变类型标记就代表该正方形图像的病变类型标记,病变类型标记有三种:ma标记代表微血管瘤,he标记代表视网膜出血,non标记代表正常(无病变)。如果中心像素被标记为ma,则该图像被标记为ma;如果中心像素被标记为he,则该图像被标记为he;如果中心像素被标记为non,则该图像被标记为non。
在训练数据集中,我们发现标记为non的图像数量远远多于标记为ma和he的图像数量。合理的解释是:在大多数情况下,病变视网膜的正常面积远大于病变面积,尤其是处于早期病变阶段的视网膜图像。因此本实施例采用了两种方法来解决数据不平衡的问题。第一,考虑到正常区域内,以1像素为步长滑动分割时,相邻图像的差异几乎可以忽略不计,故本实施例对标记为non的图像增加其步长至6像素,从而减少了具有高度相似性的non标记图像。第二,本实施例通过图像处理中的空间变换方法(图像旋转和图像翻转),对标记为ma和he的图像进行数量扩充。经过上述两个步骤的处理后,本实施例获得标记为ma/he/non三类的图像各20万张,用以训练卷积神经网络模型。
步骤四、训练过程。将步骤三得到的图像序列输入卷积神经网络模型并进行模型训练,具体方法是:将图像输入基于imagenet数据集预训练的vgg-16深层卷积神经网络模型的特征提取器(该模型是现有模型,仅用于本实施例的特征提取)来进行特征提取,将提取的多个特征向量进行特征融合,再将融合特征向量输入softmax分类器,在分类器输出分类结果后,使用交叉熵损失函数计算分类结果与实际病变标记之间的损失值,再通过adam优化器对vgg-16模型的参数进行调整。重复上述过程直到损失值小于规定的阈值,得到训练完毕的卷积神经网络模型(如图1所示),该训练完毕的本发明的模型包括特征融合层、分类器、基于imagenet数据预训练的vgg-16深层cnn模型中的特征提取器,其中,特征融合层以及分类器的参数是用nju_dr数据集训练的,基于imagenet数据预训练的vgg-16深层cnn模型中的特征提取器是现有技术。
关于特征融合:采取空间特征融合方法,将多组相同维度的特征向量融合成一组特征向量,即通过空间特征融合,将多组vgg-16卷积神经网络模型的特征提取结果进行连接。针对多组相同维度的特征向量,采取加性融合函数进行融合,加性融合函数是对多个特征向量对应位置处的值加权求和,不同特征向量的权重之和为1,融合后特征向量的维度数不变;各个特征向量的权重通过后续融合特征向量分类的模型训练得到,从而保证加性融合函数的权重是最优解。
步骤五、测试过程。将一张待分类的眼底图像进行上述的预处理和图像分割后,得到不同尺度下的一系列图像序列。将不同尺度的图像序列分别输入训练好的卷积神经网络模型中进行不同尺度的特征提取。将不同尺度的特征向量进行融合生成融合特征向量,最后用softmax分类器对融合图像特征进行分类,并输出每张图像的病变分类结果,即该图像中心像素点的病变分类结果。将原始眼底图像中所有像素点的分类结果进行整合输出,即得到该眼底图像病变的检测结果(即整合输入的眼底图像中所有目标像素的分类结果后,得到该眼底图像的像素级别的微血管瘤和视网膜出血两种病变检测结果图)。
具体流程如图2所示。
以上所述,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,依据本发明的技术实质对以上实施例所作的任何非本质修改或等同变化,均仍属于本发明权利要求书的保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除