一种基于深度学习的图像识别方法与流程

文档序号:14175972阅读:10272来源:国知局
一种基于深度学习的图像识别方法与流程

本发明所属的技术领域为图像分析领域,具体为一种基于深度学习的图像识别方法。



背景技术:

机器学习方法被广泛用于图像分析,通过在给定数据集上训练模型来完成新数据上的特定任务,比如分类、识别和分割等。常用的算法有支持向量机(svm),隐马尔科夫(hmm)以及人工神经网络等。然而,传统的机器学习算法需要利用先验知识从原始数据中人工提取特征,从而训练模型。由于特征选取难度较大,模型可能存在过拟合问题,泛化能力难以保证;另一方面,传统模型难以适应大规模数据集,模型可扩展性差。

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习。深度学习是一种数据驱动型模型,能够模拟人脑视觉机理自动地学习到数据各个层次的抽象特征,从而更好地反映数据的本质特征。深度学习模型在各个领域的良好效果引发了在更多领域利用该技术进行数据挖掘和分析的热潮,在医学和生物认知领域也引起了重视。目前深度学习已经开始涉足医学图像的病变分类、分割、识别以及大脑功能研究等方面。深度学习创业公司enlitic研制基于深度学习的癌症检测系统,在胸部ct图像上的肺癌检出率超过医生。ibm提出watsonforoncology,通过学习大量数据和经验,从而分析病人的医学信息,帮助医生制定可靠的医疗方案。研发出alphago的google子公司deepmind近日宣布deepmindhealth项目,使用深度学习进一步开发有效的医疗保健科技。

现有技术的不足之处:

(1)需要手动提取适合医学图像的特征,但是针对不同的医学图像提取合适的特征需要花费大量的时间,并且需要大量的相关领域的经验。

(2)为了得到更好的深度学习模型,需要大量的训练数据,数据量过小可能导致模型的过拟合现象。因此本发明中提出了一种良好的扩充数据集的方法。结合本发明设计的框架,能够在小规模的数据集上取得较好的结果



技术实现要素:

本发明的目的在于使用卷积神经网络,训练图像的深度学习模型,提取图像的深度学习特征并且构建成数据库,最后通过svm对特征进行分类识别,每个过程包含若干个步骤,具体步骤如下:

步骤1,采集和扩充图像数据集:对有限的图像进行预处理,对图像的样本进行扩充;

步骤2,设计卷积神经网络:所述卷积神经网络模型是在现有的vgg-16模型的基础上利用卷积层代替全连接层构建;

步骤3,训练卷积神经网络:采用反向传播算法和随机梯度下降方法,根据前向传播的loss值的大小,来进行反向传播迭代更新每一层的权重,直到模型的loss值趋向于收敛时,停止训练模型,得到深度学习模型;

步骤4,提取图像的特征:将数据集中的每一幅图像输入到步骤3所述的深度学习模型中,针对输入的图像,在图像的倒数第二层全卷积层提取深度学习特征;

步骤5,识别图像:对于给定任意一幅待识别的图像,输入到训练好的深度学习模型中,提取样本的深度学习特征,通过两次训练的方法来有效的判别该图像属于哪个类别。

进一步,所述步骤1中数据集的采集和扩充的方法包括以下方法中的至少一种:

镜像翻转:将原始图像进行左右反转,将数据扩充2倍;

添加椒盐噪声:将原始像中添加一些椒盐噪声,将数据扩充2倍;

分割图:将原图中的目标区域分割出来,其他区域用0代替,将数据扩充2倍。

添加光照:对图像进行旋转90度,180度,270度,将数据扩充3倍。

进一步,所述步骤2的卷积神经网络模型由输入层,隐藏层,输出层组成:

所述输入层为步骤1所提出的图像通过扩充后得到的数据集,将数据集转化为lmdb格式作为该模型的输入;

所述隐藏层包括卷积层和池化层;所述卷积层的第一层中卷积核的大小设为1*1,在倒数第二层采用全卷积代替全连接,将特征维度降低至全连接的一半。所述池化层采用2*2的卷积核,在所述模型的前五层和卷积层组合使用;

所述输出层与最后一个全卷积层相连接,输出的维数与待识别的图像的类别数相等。

进一步,步骤3训练卷积神经网络的过程中使用迁移学习的方法,将预先训练好的vgg模型的权重迁移至所述卷积神经网络模型上。

进一步,所述步骤3所述的训练卷积神经网络还包括:在ubuntu系统的caffe框架下,将图像数据分成训练集,训练集标签,测试集,测试集标签。

进一步,所述步骤4还包括:将数据集中的每一个样本对应一行向量,并且贴上对应的标签,构建成一个深度学习特征的数据库。

进一步,所述深度学习特征的维度为2048维度。

进一步,所述步骤5中所述的两次训练分别是:第一次训练是通过深度学习的方法,提取一个有效的深度学习特征;第二次训练是将步骤4中的已经构建好的深度学习数据库,利用svm方法将数据库中的数据以及标签作为svm的训练集,再根据任意样本得到的深度学习特征,作为svm的测试集。

本发明的有益效果:

(1)本发明能够根据训练好的深度学习模型以及svm的分类,自动的进行识别测试样本的类别,无需输入任何参数。

(2)通过深度学习和svm双重训练,可以大大的提高图像识别的准确率,更具有实用性。应用在医学图像识别时,可以快速给出识别图像的结果,帮助医生诊断病灶。

附图说明

图1为本发明实施的流程图。

图2是深度学习网络的结构图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。本发明以医学图像的识别为实施例进行说明,但本发明并不限于此。

如图1所示,本发明提出的方法包括如下步骤:

步骤1,医学图像数据集的采集和扩充

医学图像的采集和扩充的目的是为了扩充深度学习训练集的样本数量,防止由于训练数据较小导致模型过拟合现象发生。主要采用以下方式:

传统的医学图像数据量较少,训练深度学习模型需要大量的训练样本。因此本发明通过对有限的医学图像进行预处理,来对医学图像的样本进行扩充。本发明的医学图像的采集和扩充的目的是为了增加深度学习训练集的样本数量,防止由于训练数据较少,可能会导致模型过拟合现象发生。所述数据集的采集和扩充主要采用以下方法:

镜像翻转:将原始图像进行左右反转,将数据扩充2倍。

添加椒盐噪声:将原始像中添加一些椒盐噪声,将数据扩充2倍。

分割图:将原图中的目标区域分割出来,其他区域用0代替,将数据扩充2倍。

添加光照,对图像进行旋转90度,180度,270度,将数据集扩充3倍。

步骤2,卷积神经网络的设计

如图2所示,本发明卷积神经网络模型是在现有的vgg-16模型的基础上进行改进。该模型输入层,隐藏层,输出层组成。但是由于该模型在隐藏层的后两层是全连接层,并且全连接层的维度为4096维度,导致了该模型的训练参数较大,并且同等条件下训练的速度较慢,模型的收敛速度较慢。因此本发明摒弃了全连接层,用卷积层代替全连接层,因为卷积操作也能有效的提取图像的特征。将后两层的特征维度下调成2048,这样能够更好的提高模型的收敛速度,并且能够得到更好的模型。并且在softmax层的前一层使用平均池化代替最大池化。

a.输入层

输入层为步骤1所提出的医学图像通过扩充后得到的数据集,将数据集转化为lmdb格式作为该模型的输入。

b.隐藏层,

卷积层:在第一层的卷积层将卷积核的大小由3*3下调成1*1,使得卷积操作得到的特征图更能把握图像的细节信息。在图像的倒数第二层用全卷积代替全连接,并且将特征维度降低至全连接的一半,大大降低模型的计算复杂度,并且提高模型的收敛速度。每一层通道数与输入层相同。

池化层:采用2*2的卷积核,在该模型的前五层和卷积层组合使用。

c.输出层:

输出层与最后一个全卷积层连接,输出的维数与医学图像的类别数相等。所述图像的类别数对应疾病的种类数。

步骤3,卷积神经网络的训练

在ubuntu系统的caffe框架下,将医学图像数据分成训练集,训练集标签,测试集,测试集标签。采用反向传播算法和随机梯度下降方法,根据前向传播的loss值的大小,来进行反向传播迭代更新每一层的权重。直到模型的loss值趋向于收敛时,停止训练模型。为了提高本发明模型的收敛速度,引入迁移学习的方法,将预先训练好的vgg模型的权重迁移至本发明的模型上,避免了初始随机赋值每一层的权重。能够有效的缩短训练的周期,以及能够得到更好的深度学习模型。

步骤4,医学图像的特征提取

将数据集中的每一幅图像输入到步骤3所述的深度学习模型中。对于输入的图像,在图像的倒数第二层全卷积层提取一个2048维度的深度学习特征。因此一个医学图像样本就可以得到一个2048维的向量,将数据集中的每一个样本对应一行向量。并且贴上对应的标签,构建成一个深度学习特征的数据库。

步骤5,医学图像的识别。

对于给定任意一幅待识别的医学图像,输入到训练好的深度学习模型中,提取样本的深度学习特征。本发明为了提高识别的准确率,进行两次训练,第一次训练是通过深度学习的方法,提取一个有效的深度学习特征;第二次训练是将步骤4中的已经构建好的深度学习数据库,利用传统svm方法将数据库中的数据以及标签作为svm的训练集,再根据任意样本得到的深度学习特征,作为svm的测试集。通过两次训练的方法来有效的判别该医学图像属于哪个类别。实验表明该方法能够有效的提高医学图像的识别准确率。

图2展示了使用本发明的方法深度学习网络结构。本发明实施例采用的是改进的vgg-16模型。具体步骤如下:

1)人工对医学图像数据集进行扩充,设定训练集,训练集标签,测试集,测试集标签;

2)将做好的数据集通过caffe环境下,通过图2改进的vgg-16模型设定需要的分类的num_oupt的值,开始训练数据,采用反向传播算法学习算法,和随机梯度下降方法。根据前向传播的loss值的大小,来进行反向传播迭代更新每一层的权重。直到模型的loss值趋向于收敛的时候,停止训练模型。

3)批量输入图像,在模型的softmax分类层的前一层,全卷积层提取图像的2048维的分类特征,并且作为svm的训练集。

4)对于上述得到的svm的训练集,我们设定训练集的标签,而我们测试集的输入则是我们所需要测试的测试样本对应的深度学习的特征。最终可以得到分类的准确率。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

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