一种基于三维卷积神经网络的视网膜OCT图像分类方法与流程

文档序号:17605344发布日期:2019-05-07 20:40阅读:256来源:国知局
一种基于三维卷积神经网络的视网膜OCT图像分类方法与流程

本发明属于视网膜图像分类方法,具体涉及一种基于三维卷积神经网络的视网膜oct图像分类方法。



背景技术:

视网膜是由大脑向外延伸的视觉神经末梢组织,其结构复杂、精细、脆弱而代谢旺盛。其血管属于终末血管系统,任何病理性的破坏和血管梗阻等引起的组织缺氧,均能导致组织坏死,丧失其感受和传导光刺激的功能。

光谱域光学相干断层扫描(oct)是探测光经受检眼屈光间质达视网膜,通过获取眼内不同组织界面反射提供的厚度与距离信息并还原成图像和数据来进行工作的,已成为眼科不可或缺的临床检查技术,可以提供三维视网膜图像。常见的视网膜oct图像有三种采集模式:黄斑中心,视神经乳头中心,以及包括前两个区域的大视野。为了实现高性能的自动化计算机辅助诊断系统,对视网膜oct图像首先进行采集区域以及是否正常的识别与分类是十分必要的,可以使得后续的视网膜oct图像分割与分类更高效。

目前,已有的视网膜oct图像分类算法大部分是基于二维图像进行分类的,如srinivasan等人提出的基于hog算子和支持向量机的oct图像分类方法,可用于年龄相关性黄斑变性和糖尿病性黄斑水肿病变视网膜的分类;venhuizen等人提出的基于机器学习的老年黄斑变性病变自动分级系统;chakraborty等人提出的基于迁移学习的糖尿病性视网膜水肿和干性年龄相关性黄斑变性的自动分类,但这些算法不能充分利用三维空间特征信息,单张图像容易受到噪声的影响,导致分类错误。已有的应用于医学图像的三维卷积图像分类网络在分类准确度有待提升,缺乏特征图之间的并行补充,并且分类类别相对单一,特别是针对同时分类黄斑中心、视神经乳头中心以及大视野三种扫描模式进行正常/非正常的分类工作未见报道。

卷积神经网络(convolutionalneuralnetworks,cnn)是一类包含卷积或相关计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。三维卷积神经网络是用来进行视频行为识别的,医学领域往往采用三维卷积神经网络,现有的三维卷积网络结构如图4所示,具有8个3d卷积层,5个3d池化层,2个全连接层,后面接一个softmax输出层,所有的3d卷积核的步长都是1,卷积核的大小是3×3×3。所有的最大池化层除了第一个池化层的核为1×2×2之外,其他池化层的核是2×2×2。



技术实现要素:

为了克服现有技术中的不足,本发明提供了一种基于三维卷积神经网络的视网膜oct图像分类方法。

为了解决上述技术问题,本发明采用如下技术方案:

一种基于三维卷积神经网络的视网膜oct图像分类方法,包括以下步骤:(a)采集图像并将采集到的图像分为训练集、验证集和测试集,对图像进行预处理;(b)搭建vinceptionc3d网络结构,vinceptionc3d网络是基于c3d卷积神经网络的改进,在c3d网络的基础上添加了融合多通道特征的vinception模块,并把批标准化的方法应用到了原始c3d网络中,(c)模型的训练和测试:利用c3d的预训练模型作为vinceptionc3d的预训练模型,利用训练集中的数据训练加载预训练模型后的网络得到训练好的vinceptionc3d模型,模型训练结束后,用测试集测试模型。

作为优选,步骤(a)中对图像的预处理包括对黄斑中心、视神经乳头中心、大视野视网膜三维oct图像进行下采样和减均值处理,对数据进行随机水平翻转来扩充数据集。

作为优选,步骤(b)中vinceptionc3d网络结构中依次包括3d卷积层1a、池化层1、3d卷积层2a、池化层2、3d卷积层3a、3d卷积层3b、池化层3、vinception模块1、池化层4、vinception模块2、池化层5、全连接层6、全连接层7和softmax输出层。

作为优选,在每一个卷积层后面用relu函数进行激活,relu激活前面还都添加了批标准化层,用来固定每层输入信号的均值与方差。

作为优选,vinception模块包括两个叠加的卷积层c1,一个卷积层c2、一个卷积层c3以及concat层,卷积层c1、卷积层c2、卷积层c3并列设置,卷积层c1、卷积层c2、卷积层c3后均与concat层连接,concat层后连接有卷积层c4。

作为优选,两个vinception模块接收上一层传来的特征图,经过vinception模块的多尺度融合后,输出语义相对丰富的特征图,然后池化后接下一层。

作为优选,卷积层c1的卷积核为3×3×3,卷积层c2的卷积核为3×3×3,卷积层c3的卷积核为1×1×1,卷积层c4的卷积核为1×1×1。

作为优选,步骤(c)模型的训练和测试的具体方法为:首先加载在视频图像sports-1m数据集上训练过的预训练模型,在预训练模型的基础上采用adam优化算法,设置特征提取部分初始学习率,输出层的初始学习率,最小batch,最高迭代次数,将训练集的图像依次输入到模型中进行训练,训练集每迭代n次后,用验证集进行验证,训练完成后得到最终的训练模型并用测试集进行测试;在整个数据集上采用k折交叉验证来评估训练模型的表现。

作为优选,步骤(c)中,特征提取部分初始学习率为1e-4,输出层的初始学习率为1e-3,最小batch设置为30,迭代次数为6000次,每迭代10次,用验证集验证一次,测试时在整个数据集上采用3折交叉验证来评估训练模型的表现。

本发明的有益效果是:

1、本发明首次提出了一种针对大视野,视神经乳头中心,黄斑中心三种视网膜oct扫描图像正常/非正常的三维自动分类方法——vinceptionc3d神经网络,能对三维视网膜oct图像进行整体分类,为后续的视网膜oct图像分割与分析提高效率奠定基础。

2、本发明中提出了一个融合多尺度三维特征图的网络架构,并将之命名为vinception模块,一方面可以把优化的局部稀疏结构用近似的密集成分来近似,另一方面可以增加每一层的卷积核数,这使得增加了网络的宽度,但是又不过多消耗计算资源,同时这个网络融合了多尺度的特征,使得下一层网络可以拥有不同尺度的抽象特征。

3、vinception模块将具有跨通道交互和信息整合作用的1×1×1三维卷积层放在了concat层后面,既可以利用在视频图像上训练过的预训练模型sports-1m,又可以融合多通道的特征,减少参数数量,防止在训练和测试的过程中出现过拟合现象。

4、本发明的整体模型结构中有4个3d卷积层,5个3d池化层,在4个3d卷积后面接的是2个vinception模块,这两个vinception模块接收上一层传来的特征图,经过vinception层的多尺度融合后,输出语义相对丰富的特征图,然后池化后接下一层,池化是为了得到更广的感受野,vinception模块放在后面,这样可以在高层融合多尺度的三维特征图,避免了在高层中丢失更多的图像细节特征。vinception模块只在高层中应用,可以防止参数过多。

5、在本发明中,激活函数采用relu函数,在每一个卷积层后面,relu激活层前面都添加了批标准化层,来固定每层输入信号的均值与方差,使得训练数据与测试数据满足同分布,克服了网络收敛速度慢以及梯度弥散问题。

附图说明

图1是本发明中vinceptionc3d的网络结构示意图;

图2是本发明中vinception模块的网络结构示意图;

图3是本发明中进行分类的三维视网膜图像的位置示意图;

图4是现有技术中三维卷积神经网络的网络结构示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步描述:

一种基于三维卷积神经网络的视网膜oct图像分类方法,包括以下步骤:(a)采集图像并将采集到的图像分为训练集、验证集和测试集,对图像进行预处理;(b)搭建vinceptionc3d网络结构,vinceptionc3d网络是基于c3d卷积神经网络的改进,在c3d网络的基础上添加了融合多通道特征的vinception模块,并把批标准化的方法应用到了原始c3d网络中,(c)模型的训练和测试:利用c3d的预训练模型作为vinceptionc3d的预训练模型,利用训练集中的数据训练加载预训练模型后的网络得到训练好的vinceptionc3d模型,模型训练结束后,用测试集测试模型的优良以评价此发明的表现。

步骤(a)中对图像的预处理包括对黄斑中心、视神经乳头中心、大视野视网膜三维oct图像进行下采样和减均值处理,对数据进行随机水平翻转来扩充数据集。

步骤(b)中vinceptionc3d网络结构中依次包括3d卷积层1a、池化层1、3d卷积层2a、池化层2、3d卷积层3a、3d卷积层3b、池化层3、vinception模块1、池化层4、vinception模块2、池化层5、全连接层6、全连接层7和softmax输出层。

在每一个卷积层后面用relu函数进行激活,relu激活前面还都添加了批标准化层,用来固定每层输入信号的均值与方差。

vinception模块包括两个叠加的卷积层c1,一个卷积层c2、一个卷积层c3以及concat层,卷积层c1、卷积层c2、卷积层c3并列设置,卷积层c1、卷积层c2、卷积层c3后均与concat层连接,concat层后连接有卷积层c4。

两个vinception模块接收上一层传来的特征图,经过vinception模块的多尺度融合后,输出语义相对丰富的特征图,然后池化后接下一层。

卷积层c1的卷积核为3×3×3,卷积层c2的卷积核为3×3×3,卷积层c3的卷积核为1×1×1,卷积层c4的卷积核为1×1×1。

步骤(c)模型的训练和测试的具体方法为:首先加载在视频图像sports-1m数据集上训练过的预训练模型,在预训练模型的基础上采用adam优化算法,设置特征提取部分初始学习率,输出层的初始学习率,最小batch,最高迭代次数,将训练集的图像依次输入到模型中进行训练,每迭代n次后,用验证集进行验证,训练完成后得到最终的训练模型并用测试集进行测试;在整个数据集上采用k折交叉验证来评估训练模型的表现。

步骤(c)中,特征提取部分初始学习率为1e-4,输出层的初始学习率为1e-3,最小batch设置为30,迭代次数为6000次,每迭代10次,用验证集验证一次,测试时在整个数据集上采用3折交叉验证来评估训练模型的表现。

实施例1

(1)图像的获取和预处理:

根据眼科临床的需要,视网膜oct图像常有3种扫描模式:黄斑中心、视神经乳头中心以及大视野,如图3所示,图中(a)为视网膜整体oct图像,在眼底彩照图像上直观表示的大视野区域,视神经乳头区域,黄斑中心区域的位置,分别对应于图中的(b),(c),(d)。可以将采集到的三维视网膜oct图像分为6类:非正常大视野图像(anw),正常大视野图像(nw),正常黄斑中心图像(anm),正常黄斑图像(nm),非正常视神经乳头图像(ano),正常视神经乳头图像(no)。

本例中使用自671个受试者的873个三维视网膜oct图像作为数据集,用于训练和评估,其中非正常大视野图像(anw)24张,正常大视野图像(nw)37张,非正常黄斑中心图像(anm)427张,正常黄斑中心图像(nm)131张,非正常视神经乳头中心图像(ano)121张,正常视神经乳头中心图像(no)133张。由于获得的三维视网膜oct图像具有不同的分辨率,具有不同的扫描设置和分辨率。为了统一体积大小,并降低学习任务的计算成本,所有三维oct图像都使用双线性插值的方法下采样到96×96×16,然后进行减均值处理以提高差别度。

为了平衡数据和防止过拟合,对除非正常黄斑中心图像的5类较少数据进行以30%的概率水平翻转的方式来实现数据扩充。

(2)vinceptionc3d网络结构的搭建:

本实施例的模型是在三维卷积神经网络c3d模型上进行改进的,图4展示了原始c3d卷积神经网络结构。该网络是一个进行视频行为识别的三维卷积神经网络,具有8个3d卷积层,5个3d池化层,2个全连接层,后面接一个softmax输出层,所有的3d卷积核的步长都是1,卷积核的大小是3×3×3。所有的最大池化层除了第一个池化层的核为1×2×2之外,其他池化层的核是2×2×2,目的是为了不过早合并深度信息,而且还可以得到16帧的长度以便为后续的下采样做准备。

本实施例中提出了一个融合多尺度三维特征图的网络架构,如图1所示,并将之命名为vinception模块,此模块借鉴了二维图像分类网络googlenet中inception模块的风格。inception模块可以把优化的局部稀疏结构用近似的密集成分来近似,另一方面可以增加每一层的卷积核数,这使得增加了网络的宽度,但是又不过多消耗计算资源,同时这个网络融合了多尺度的特征,使得下一层网络可以拥有不同尺度的抽象特征。本实施例所提出的vinception模块的作用如下:

(1)vinception模块采用三维卷积,如图2所示,其层间作用分别是:两个3×3×3的卷积层叠加,相当于一个5×5×5的卷积层,可以获取更广的感受野,单独一个3×3×3的卷积层可以获取相对较小的感受野,同理1×1×1的卷积层获取更小的感受野,不同语义特征的并行融合可以增加对特征语义的理解,使得最后输出的特征语义更加丰富,concat后又添加了一个1×1×1的卷积层,这样的好处是可以增加非线性层,使得网络表达更多样化,同时减少参数数量。本例中,上述各个卷积层的步长均为1×1×1。

(2)与原始inception模块不同点是vinception模块将具有跨通道交互和信息整合作用的1×1×1三维卷积层放在了concat层后面,既可以利用在视频图像上训练过的预训练模型sports-1m,又可以融合多通道的特征,减少参数数量,防止在训练和测试的过程中出现过拟合现象。

图1展示了本实施例的整体模型结构,该模型有4个3d卷积层,这4个3d卷积层的卷积核均为3×3×3,5个3d池化层,第一个池化层的核是1×2×2,其余池化层的核都是2×2×2,第一个池化层的步长是1×2×2,其余池化层的步长都是2×2×2;在4个3d卷积后面接的是2个上文所说的vinception模块,这两个vinception模块接收上一层传来的特征图,经过vinception层的多尺度融合后,输出语义相对丰富的特征图,然后池化后接下一层,池化是为了得到更广的感受野,vinception模块放在后面是,这样可以在高层融合多尺度的三维特征图,避免了在高层中丢失更多的图像细节特征。同时为了防止参数过多,只在高层中应用。

在本实施例中,激活函数采用relu函数,在每一个卷积层后面,relu激活层前面都添加了批标准化层,来固定每层输入信号的均值与方差,使得训练数据与测试数据满足同分布,克服了网络收敛速度慢以及梯度弥散问题。全连接层后面输出的分类类别数为6,网络输入的三维oct视网膜图像大小为96×96×16,箭头所指的内容为经过每个三维卷积层之后并且池化后的三维图像大小。

(3)模型的训练与测试:

在整个数据集上采用3折交叉验证来评估本实施例的表现。首先加载在视频图像sports-1m数据集上训练过的预训练模型,在预训练模型的基础上采用adam优化算法,特征提取部分初始学习率为1e-4,输出层的初始学习率为1e-3,最小batch设置为30,在3个teslak40mgpu上迭代6000次,每迭代10次验证一次,得到最终的训练模型并进行测试集的测试。

(4)实验结果:

本实施例在整个数据集中采用3折交叉验证来分别评估和对比原始三维卷积神经网络c3d和本实施例中所提出的vinceptionc3d网络。实验结果对应的混淆矩阵如表1、表2所示,transferc3d表示原始三维卷积神经网络c3d,vinceptionc3d表示本实施例。可以看出原始三维卷积神经网络c3d分类准确率是92.09%,改进后也即本实施例的分类准确率可达94.04%。

表1、表2展示了这两种模型的6分类(anw,nw,anm,nm,ano,no)的混淆矩阵。本实施例中的各类别分类准确率除了一种类别的是等于改进前的准确率,其他类别都优于改进前的分类准确率。在我们的数据集中,anooct图像主要来自青光眼患者。以onh为中心的视网膜病变图像和正常图像很相似,这可导致ano和no之间相对较高的错误分类率,相反,其他视网膜更易于彼此区分。ano和no的混淆对整体错误率贡献了一个较大的份额。综合来看,本实施例在此任务中可以进行三维视网膜oct图像的分类,能对试验中单张三维视网膜oct图像做出很好的判断,并获得了一个优于改进前的良好的表现,更有助于三维视网膜oct图像的分类。

表1原始三维卷积神经网络c3d的混淆矩阵

表2vinceptionc3d的混淆矩阵

至此,一种针对大视野,视神经乳头中心,黄斑中心三种视网膜oct扫描图像正常/非正常的三维自动分类方法——vinceptionc3d神经网络已经实现并进行验证。其在实验中的表现优于原始c3d三维卷积神经网络,此发明能对三维视网膜oct图像做出更优的判断,从另一方面来说,本实施例的网络结构并不复杂,参数数量少,且利用了vinception模块使得网络结构更加高效与鲁棒,有助于三维视网膜oct图像的分类与检测,大大提高了三维视网膜oct图像的筛选效率。本实施例结合了图像的获取和预处理、vinceptionc3d网络模型的搭建与训练以及测试,使后续视网膜疾病的研究,如分层分割、病区分割、配准等得到很大帮助。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1