一种基于NASNet的肺炎图像分类方法与流程

专利2022-05-09  34


一种基于nasnet的肺炎图像分类方法
技术领域
1.本发明属于图像分类技术领域,具体涉及一种基于nasnet的肺炎图像分类方法。


背景技术:

2.在传统的肺炎诊断过程中,肺炎图像的判断主要取决于医生的经验,但由于人工经验的差异,无法保证准确率。在一些cad系统中,使用了如svm的一些机器学习算法,作为一种出色的机器学习方法,svm算法通过使用高维映射解决了许多线性不可分的问题,并且在图像和文本信息分类中取得了很好的效果。但是,当数据量太大时,通常会导致模型计算量过多,效率低下,并且无法保证鲁棒性和准确性。
3.现有技术存在的问题或者缺陷:当前的肺炎图像诊断容易受到主观因素的干扰,影响病情的判别。而现有辅助诊断系统所应用的算法计算效率较低,且准确率难以达到现实要求。


技术实现要素:

4.针对上述的技术问题,本发明提供了一种效率高、误差小、成本低的基于nasnet的肺炎图像分类方法。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种基于nasnet的肺炎图像分类方法,包括下列步骤:
7.s1、获取mendeley数据集,将mendeley数据集中的肺炎图片缩放到预设大小,并将数据和数据标签读取保存为矩阵形式;
8.s2、对读取保存后的数据集进行预处理,得到标准化的数据集;将预处理后的数据集划分为训练集s、验证集v和测试集t;
9.s3、基于nasnet网络构建深度学习网络,所述深度学习网络包括cnn层、nasnet层与全连接层,并使用训练集s对该深度学习网络进行训练;
10.s4、采用训练完成的深度学习网络对待识别分类的肺炎图像进行分类。
11.所述s1中将数据和数据标签读取保存为矩阵形式的方法为:包括下列步骤:
12.s1.1、使用python的matplotlib包读取数据,并使用scipy将数据保存为矩阵形式,保存格式为npy,得到矩阵为(n,x,y)形式,其中,n为数据量,x为数据长度,y为数据宽度;
13.s1.2、将csv格式的标签文件读取并保存为矩阵,以npy格式保存,得到矩阵为(n,a),其中,n为数据量,a代表该条数据的类别,0代表正常,1代表肺炎。
14.所述s2中对读取保存后的数据集进行预处理的方法为:读取npy图像数据集,对数据进行标准化操作,标准化公式如下:
[0015][0016]
其中,x
i

为标准化后的数据值,x
i
为待处理数据,μ代表样本均值,σ代表样本方差。
[0017]
所述s2中将预处理后的数据集划分为训练集s、验证集v和测试集t的方法为
[0018]
以hold

out方法对数据集进行划分,将数据集划分为是三个互斥的集合,包括训练集s、验证集v和测试集t;所述训练集s用于对深度学习网络模型进行训练,所述验证集v用于验证深度学习网络模型是否训练完全,所述测试集t用于评估测试深度学习网络模型的泛化误差。
[0019]
所述s3中的cnn层用于数据特征的初步提取,所述cnn层将单通道x光数据提升为高维度数据特征;所述nasnet层由多个nasnet控制器模块构建,用于以不同的方式与感受野对数据特征进行进一步的提取;所述全连接层用于对数据特征进行最后的运算,完成分类任务。
[0020]
所述s3中的cnn层包括三个cnn模块,每个cnn模块均包括一次卷积运算、一次池化和一次激活;第一个cnn模块的卷积核大小为5*5,步长为2,采用max pooling,池化范围为2*2,步长为1;第二个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1;第三个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1;第三个cnn模块还包括一个bn层,用于对数据进行一次批量标准化操作。
[0021]
所述s3中的nasnet层包括1*1cnn部分和nasnet控制器,1*1cnn部分的输入为f(x

1),将feature map提升为8通道,输出f(x);nasnet控制器首先以f(x)为输入进行一次3*3的卷积运算与一次3*3的最大池化,步长均为1,将2次运算得到的结果以add方式进行融合;之后分别以f(x)与f(x

1)为输入进行一次3*3卷积,二者步长都为1,之后将2次运算得到的结果以add方式进行融合;最后以f(x

1)为输入进行一次3*3的卷积运算与一次3*3的最大池化,步长均为1;将2次运算得到的结果以add方式进行融合,将3次add所得的feature map以concate方式进行结合,得到nasnet层的最终输出特征。
[0022]
所述s3中的全连接层的计算方法为:将上一层的输出进行flatten,之后进行两次全连接运算,得到最终的分类结果,采用sigmoid进行输出,表达式为:
[0023][0024]
其中,k为全连接输出,s(k)为最终输出,若输出值小于0.5,则认为正常,若大于等于0.5,则标记为肺炎图像。
[0025]
所述s4中的深度学习网络的训练的方法为:采用adam作为优化器,初始学习率为0.02,每100个epoch学习率衰减30%,batch size大小为32,损失函数使用指数损失函数,设定训练300个epoch,连续20个epoch模型损失值无下降则停止训练,保存模型。
[0026]
所述s4中的深度学习网络的验证过程和评估的方法为:
[0027]
验证过程:使用v集数据对训练的到的数据模型进行100个epoch的二次训练,若模型损失无下降,保存模型;若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定;
[0028]
评估过程:使用训练完成的模型对t集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;
[0029]
准确率:acc=(tp tn)/(tp tn fn fp)
[0030]
召回率:r=tp/(tp fn)
[0031]
其中,tp为正类判定为正类数量;fp为负类判定为正类数量;fn为正类判定为负类数量;tn为负类判定为负类数量。
[0032]
本发明与现有技术相比,具有的有益效果是:
[0033]
本发明提供了一种基于nasnet的肺炎图像分类方法,采用深度学习的方法,对肺炎/正常图像进行二分类操作,本方案模型使用了可以进行多尺度多模态特征提取的nasnet网络,对肺炎x光图像的信息特征进行了深入的分析与有效的智能化提取,网络的参数训练摆脱了人为干扰,避免了主观误差,并且可以高效率的进行肺炎x光图像的识别工作。
附图说明
[0034]
图1为本发明实施例中基于nasnet的肺炎图像分类方法的流程图;
[0035]
图2为本发明实施例中nasnet网络的网络构架图。
具体实施方式
[0036]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]
实施例:
[0038]
参照图1和图2,一种基于nasnet的肺炎图像分类方法,包括以下步骤:
[0039]
获取mendeley数据集,将mendeley数据集中的肺炎图片缩放到预设大小,并将数据和数据标签读取保存为矩阵形式。
[0040]
具体地,本方案所使用数据集为mendeley肺炎x光影像数据集,数据集中数据全部由真实患者的临床检验x光图像构成,数据集中共包含5856张人体胸部x光jpeg照片,每张图片都有其对应肺炎/正常标签。其中肺炎图像4273张,正常图像1583张。将所有数据大小调整为400*400。
[0041]
数据读取:使用python的matplotlib包读取数据,并使用scipy将数据保存为矩阵形式,保存格式为npy,便于数据后续的读取。所得矩阵为(n,x,y)形式,其中n为数据量,x为数据长度,y为数据宽度。由于x光图像数据为灰度图,因此该数据为单通道。
[0042]
标签读取:将csv格式的标签文件读取并保存为矩阵,以npy格式保存。所得矩阵为(n,a),其中n为数据量,a代表该条数据的类别,0代表正常,1代表肺炎。
[0043]
对读取保存后的数据集进行预处理,得到标准化的数据集;将预处理后的数据集划分为训练集s、验证集v和测试集t。
[0044]
具体地,读取npy图像数据集,对数据进行标准化操作,标准化公式如下:
[0045][0046]
其中,x

i
为标准化后的数据值,x
i
为待处理数据,μ代表样本均值,σ代表样本方差。数据经标准化后不会改变数据的原始排序,保证的数据间的线性关系,同时可以通过中心化避免异常值和极端值的影响,帮助模型更有效的进行特征提取。
[0047]
数据集划分:以hold

out方法对数据集进行划分,直接将数据集划分为是三个互斥的集合,其中一个集合作为训练集s,一个集合作为验证集v,另一个作为测试集t。在s上训练出模型后,用v来验证模型是否训练完全,用t来评估其测试误差,作为对泛化误差的估计。在划分完毕后,观察数据集分布,保证s、v与t三个数据集的数据分布相近。
[0048]
基于nasnet网络构建深度学习网络,所述深度学习网络包括cnn层、nasnet层与全连接层,并使用训练集s对该深度学习网络进行训练。
[0049]
具体地,本申请深度网络模型基于nasnet构建,网络由3部分组成,分别为cnn层,nasnet层,全连接分类层。其中cnn层用于数据特征的初步提取,并将单通道x光数据提升为高维度数据特征。nasnet层由多个nasnet控制器模块构建,以不同的方式与感受野对数据特征进行进一步的提取,全连接层用于对数据特征进行最后的运算,完成分类任务。
[0050]
cnn层:本模型cnn层采用3个cnn模块构成,每个cnn模块包括一次卷积运算、一次池化、一次激活。本层第一个cnn模块的卷积核大小为5*5,步长为2,采用max pooling,池化范围为2*2,步长为1。第二个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1。第三个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1,该cnn模块额外增加一个bn层,对数据进行一次批量标准化操作,规范数据分布,加大梯度,加速网络训练。
[0051]
nasnet层:nasnet层由2部分构成,第一部分为1*1cnn,第二部分为nasnet控制器。1*1cnn部分的输入为f(x

1),将feature map提升为8通道,输出f(x)。nasnet控制器首先以f(x)为输入进行一次3*3的卷积运算与一次3*3的最大池化,步长均为1,将2次运算得到的结果以add方式进行融合;之后分别以f(x)与f(x

1)为输入进行一次3*3卷积,二者步长都为1,之后将2次运算得到的结果以add方式进行融合;最后以f(x

1)为输入进行一次3*3的卷积运算与一次3*3的最大池化,步长均为1,将2次运算得到的结果以add方式进行融合。将3次add所得的feature map以concate方式进行结合,得到nasnet层的最终输出特征。
[0052]
全连接层:将上一层的输出进行flatten,之后进行两次全连接运算,得到最终的分类结果,采用sigmoid进行输出,表达式为:
[0053][0054]
其中,k为全连接输出,s(k)为最终输出,若输出值小于0.5,则认为正常,若大于等于0.5,则标记为肺炎图像。
[0055]
采用训练完成的深度学习网络对待识别分类的肺炎图像进行分类。
[0056]
上述基于nasnet的肺炎图像分类方法,首先对mendeley肺炎数据集进行处理,得到可用于深度学习模型进行参数学习的标准化数据集,之后构建以nasnet为基础的深度神经网络对数据特征进行学习,网络首先利用cnn对数据进行升维与特征初步提取,之后使用nasnet控制器对数据特征进行多尺度的特征学习,最后使用全连接层对结果进行输出,得到图像的分类结果。
[0057]
采用深度学习的方法,对肺炎/正常图像进行二分类操作,本方案模型使用了可以进行多尺度多模态特征提取的nasnet网络,对肺炎x光图像的信息特征进行了深入的分析与有效的智能化提取,网络的参数训练摆脱了人为干扰,避免了主观误差,并且可以高效率的进行肺炎x光图像的识别工作。
[0058]
上述基于nasnet的肺炎图像分类方法,所述深度学习网络的训练过程包括:
[0059]
采用adam作为优化器,初始学习率为0.02,每100个epoch学习率衰减30%,batch size大小为32,损失函数使用指数损失函数,设定训练300个epoch,连续20个epoch模型损失值无下降则停止训练,保存模型。
[0060]
上述基于nasnet的肺炎图像分类方法,所述深度学习网络的验证过程包括:
[0061]
验证过程:使用v集数据对训练的到的数据模型进行100个epoch的二次训练,若模型损失无下降,保存模型;若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。
[0062]
上述基于nasnet的肺炎图像分类方法,所述深度学习网络的评估过程包括:
[0063]
使用训练完成的模型对t集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;
[0064]
准确率:acc=(tp tn)/(tp tn fn fp)
[0065]
召回率:r=tp/(tp fn)
[0066]
其中,tp为正类判定为正类数量;fp为负类判定为正类数量;fn为正类判定为负类数量;tn为负类判定为负类数量。
[0067]
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。

技术特征:
1.一种基于nasnet的肺炎图像分类方法,其特征在于:包括下列步骤:s1、获取mendeley数据集,将mendeley数据集中的肺炎图片缩放到预设大小,并将数据和数据标签读取保存为矩阵形式;s2、对读取保存后的数据集进行预处理,得到标准化的数据集;将预处理后的数据集划分为训练集s、验证集v和测试集t;s3、基于nasnet网络构建深度学习网络,所述深度学习网络包括cnn层、nasnet层与全连接层,并使用训练集s对该深度学习网络进行训练;s4、采用训练完成的深度学习网络对待识别分类的肺炎图像进行分类。2.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s1中将数据和数据标签读取保存为矩阵形式的方法为:包括下列步骤:s1.1、使用python的matplotlib包读取数据,并使用scipy将数据保存为矩阵形式,保存格式为npy,得到矩阵为(n,x,y)形式,其中,n为数据量,x为数据长度,y为数据宽度;s1.2、将csv格式的标签文件读取并保存为矩阵,以npy格式保存,得到矩阵为(n,a),其中,n为数据量,a代表该条数据的类别,0代表正常,1代表肺炎。3.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s2中对读取保存后的数据集进行预处理的方法为:读取npy图像数据集,对数据进行标准化操作,标准化公式如下:其中,x

i
为标准化后的数据值,x
i
为待处理数据,μ代表样本均值,σ代表样本方差。4.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s2中将预处理后的数据集划分为训练集s、验证集v和测试集t的方法为以hold

out方法对数据集进行划分,将数据集划分为是三个互斥的集合,包括训练集s、验证集v和测试集t;所述训练集s用于对深度学习网络模型进行训练,所述验证集v用于验证深度学习网络模型是否训练完全,所述测试集t用于评估测试深度学习网络模型的泛化误差。5.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s3中的cnn层用于数据特征的初步提取,所述cnn层将单通道x光数据提升为高维度数据特征;所述nasnet层由多个nasnet控制器模块构建,用于以不同的方式与感受野对数据特征进行进一步的提取;所述全连接层用于对数据特征进行最后的运算,完成分类任务。6.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s3中的cnn层包括三个cnn模块,每个cnn模块均包括一次卷积运算、一次池化和一次激活;第一个cnn模块的卷积核大小为5*5,步长为2,采用max pooling,池化范围为2*2,步长为1;第二个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1;第三个cnn模块的卷积核大小为3*3,步长为1,采用max pooling,池化范围为2*2,步长为1;第三个cnn模块还包括一个bn层,用于对数据进行一次批量标准化操作。7.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s3中的nasnet层包括1*1cnn部分和nasnet控制器,1*1cnn部分的输入为f(x

1),将feature map提升为8通道,输出f(x);nasnet控制器首先以f(x)为输入进行一次3*3的卷积运算与一次
3*3的最大池化,步长均为1,将2次运算得到的结果以add方式进行融合;之后分别以f(x)与f(x

1)为输入进行一次3*3卷积,二者步长都为1,之后将2次运算得到的结果以add方式进行融合;最后以f(x

1)为输入进行一次3*3的卷积运算与一次3*3的最大池化,步长均为1;将2次运算得到的结果以add方式进行融合,将3次add所得的feature map以concate方式进行结合,得到nasnet层的最终输出特征。8.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s3中的全连接层的计算方法为:将上一层的输出进行flatten,之后进行两次全连接运算,得到最终的分类结果,采用sigmoid进行输出,表达式为:其中,k为全连接输出,s(k)为最终输出,若输出值小于0.5,则认为正常,若大于等于0.5,则标记为肺炎图像。9.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s4中的深度学习网络的训练的方法为:采用adam作为优化器,初始学习率为0.02,每100个epoch学习率衰减30%,batch size大小为32,损失函数使用指数损失函数,设定训练300个epoch,连续20个epoch模型损失值无下降则停止训练,保存模型。10.根据权利要求1所述的一种基于nasnet的肺炎图像分类方法,其特征在于:所述s4中的深度学习网络的验证过程和评估的方法为:验证过程:使用v集数据对训练的到的数据模型进行100个epoch的二次训练,若模型损失无下降,保存模型;若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定;评估过程:使用训练完成的模型对t集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;准确率:acc=(tp tn)/(tp tn fn fp)召回率:r=tp/(tp fn)其中,tp为正类判定为正类数量;fp为负类判定为正类数量;fn为正类判定为负类数量;tn为负类判定为负类数量。
技术总结
本发明属于图像分类技术领域,具体涉及一种基于NASNet的肺炎图像分类方法,包括获取Mendeley数据集,将Mendeley数据集中的肺炎图片缩放到预设大小,并将数据和数据标签读取保存为矩阵形式;对读取保存后的数据集进行预处理,得到标准化的数据集;将预处理后的数据集划分为训练集S、验证集V和测试集T;基于NASNet网络构建深度学习网络,并使用训练集S对该深度学习网络进行训练;采用训练完成的深度学习网络对待识别分类的肺炎图像进行分类。NASNet深度学习网络可以多尺度多模态特征提取,对肺炎图像特征进行了深入的分析与有效的智能化提取,网络的参数训练摆脱了人为干扰,避免了主观误差,并且可以高效率的进行肺炎X光图像的识别工作。的识别工作。


技术研发人员:潘晓光 张娜 令狐彬 陈智娇 姚珊珊
受保护的技术使用者:山西三友和智慧信息技术股份有限公司
技术研发日:2021.03.22
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-15283.html

最新回复(0)