一种轻量级CNN结合迁移学习的医学图像分类方法

文档序号:26544228发布日期:2021-09-07 22:58阅读:249来源:国知局
一种轻量级CNN结合迁移学习的医学图像分类方法
一种轻量级cnn结合迁移学习的医学图像分类方法
技术领域
1.本发明属于图像处理技术领域,具体涉及一种轻量级cnn结合迁移学习的医学图像分类方法。


背景技术:

2.新冠是一种传染性极强的病毒,同时新冠的诊断是治疗新冠最大的拦路虎。为此,大量的研究人员都在研究能够快速准确诊断新冠的方法。目前,诊断新冠的标准是逆转录聚合链式反应,但是这一方式耗时长、假阳性率高,而且在进行检测的过程中存在医患交叉感染的风险。因此,通过胸部医学影像来诊断新冠就成了一大研究热点,医生们可以通过观察病人的胸部影像来判断病人是否患有新冠肺炎或者其他疾病,但是,由于新冠患者数量的庞大和医疗资源的匮乏,医护人员每天的工作量巨大,难免会导致诊断出现失误;因此,人为检测胸部影像的效率并不高。开发一种能够自动诊断新冠肺炎的方法势在必行。
3.当下能够自动检测新冠的方法是基于深度学习的方法,具体实现是通过大量胸部影像数据训练神经网络使其具有区分正常胸部影像和新冠肺炎胸部影像的能力,以此达到诊断新冠的目的。而且这些方法不仅能够检测新冠肺炎,还可以检测出其它的肺部疾病。虽然使用神经网络诊断新冠肺炎的效率很高,但是训练网络并且使用训练好的网络进行分类较为耗时而且必须配有昂贵的硬件设备进行加速训练,而这些条件往往是很多地区和医院所不具备的。


技术实现要素:

4.发明目的:针对现有新冠图像分类技术的缺点,本发明提出一种轻量级cnn结合迁移学习的医学图像分类方法。
5.技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种轻量级cnn结合迁移学习的医学图像分类方法,具体包括如下步骤:
6.(1)获取医学图像数据集,并对其预处理,包括调整大小,使用高斯模糊和直方图均衡化进行增强处理,之后将预处理后的医学图像数据集按照一定比例划分得到训练集、验证集以及测试集;
7.(2)构建预训练好的mobilenetv2网络并进行微调,对mobilenetv2网络的损失函数使用l2正则化进行处理,通过贝叶斯优化方法调整mobilenetv2网络中的超参数,之后利用训练集对mobilenetv2网络进行训练,利用验证集对mobilenetv2网络进行验证,得到重新训练好的mobilenetv2网络;
8.(3)将测试集输入重新训练好的mobilenetv2网络,得到分类结果。
9.进一步地,步骤(1)中对医学图像数据集预处理,包括调整大小,使用高斯模糊和直方图均衡化进行增强处理,方法如下:
10.(1.1)将医学图像数据集中的每一幅图像调整尺寸大小至224像素*224像素;
11.(1.2)利用高斯滤波器对调整尺寸后的图像进行高斯模糊处理,方法如下:
12.(1.21)设置滑动窗口模板,所述窗口模板是一个长宽都为m像素的正方形窗口,设置窗口模板的中心点为坐标原点,进而得到窗口模板中剩余点的坐标;
13.(1.22)利用二维高斯函数计算窗口模板中每一个点各自对应的二维高斯函数值;其中,二维高斯函数值g(x,y)为:
[0014][0015]
其中,(x,y)表示窗口模板中的点的坐标;x表示模板中的横坐标,y表示模板中的纵坐标;σ表示高斯半径,可以人为调整;
[0016]
(1.23)分别计算窗口模板中每个点各自对应的权重,具体为先计算窗口模板中所有点的二维高斯函数值之和,再将每个点的二维高斯函数值除以窗口模板中所有点的二维高斯函数值之和,从而得到窗口模板中每个点各自对应的权重;
[0017]
(1.24)计算窗口模板中心点的高斯模糊值,具体为先计算窗口模板中每个点的灰度值与自身对应的权重之乘积,再对所有乘积求和,从而得到该窗口模板中心点的高斯模糊值;
[0018]
(1.25)对调整尺寸后的图像的所有点重复步骤(1.21)

(1.24),得到高斯模糊后的图像;
[0019]
其中,对于边界点而言,没有达到窗口模板大小,此时将该边界点与该边界点的对称边界点进行拼接,从而得到窗口模板大小;
[0020]
(1.3)对高斯模糊后的图像进行直方图均衡化处理,得到直方图均衡化后的图像,方法如下:
[0021]
首先对高斯模糊后的图像统计每一个灰度级所对应的像素个数;其中,n
k
表示灰度级为k的像素个数,k表示灰度级,k=0,1...,255;
[0022]
其次对高斯模糊后的图像计算每一个灰度级所对应的灰度分布频率值p
k

[0023]
p
k
=n
k
/n
[0024]
其中,n表示图像的总像素数;
[0025]
然后对每一个灰度级统计各自对应的灰度累计分布频率值s
k

[0026][0027]
其中,i=0表示从灰度级0开始;
[0028]
最后对高斯模糊后的图像计算每一个灰度级经过直方图均衡化后各自对应的灰度级:
[0029]
k'=[s
k
*255+0.5]
[0030]
式中,k'表示灰度级k经过直方图均衡化后对应的灰度级;
[0031]
将图像的灰度级k替代为经过直方图均衡化后对应的灰度级k',得到直方图均衡化后的图像。
[0032]
进一步地,对mobilenetv2网络进行改进,使用elu激活函数替换mobilenetv2网络中的瓶颈层的relu6激活函数;
[0033]
通过使用elu激活函数替换原本的瓶颈层中的relu6激活函数,得到改进后的瓶颈层结构,所述改进后的瓶颈层结构,依次包括:首先通过1*1卷积、elu激活函数进行升维,其
次通过3*3dw卷积操作、elu激活函数进行卷积,最后通过1*1的卷积、线性激活函数进行降维;
[0034]
relu6本是mobilenetv2为适应移动端设备而使用的,但在台式电脑中使用易于计算和收敛速度快的elu激活函数更加合适;而瓶颈层结构的输出是低维特征向量,所以在瓶颈层结构的最后一个卷积层使用线性激活函数避免信息损失;
[0035]
dw卷积的步长为1和2,为1时存在捷径分支,为2时没有捷径分支;每个卷积核的深度均为1,且只与输入特征矩阵的一个深度进行卷积运算,得到输入特征矩阵对应的输出特征矩阵的深度;其中,卷积核的个数与输入特征矩阵的深度相同,一个卷积核输出一个特征矩阵深度,最后输出特征矩阵的深度等于输入特征矩阵深度;在瓶颈层结构中,dw卷积和pw卷积同时使用,pw卷积是卷积核大小为1卷积;理论上普通卷积计算量是dw+pw卷积的9倍,因此使用dw卷积大大减少了mobilenetv2的计算量;
[0036]
进一步地,步骤(2)所述构建预训练好的mobilenetv2网络并进行微调,对mobilenetv2网络的损失函数使用l2正则化进行处理,通过贝叶斯优化方法调整mobilenetv2网络中的超参数,之后利用训练集对mobilenetv2网络进行训练,利用验证集对mobilenetv2网络进行验证,得到重新训练好的mobilenetv2网络,包括:
[0037]
(2.1)搭建在imagenet上预训练好的mobilenetv2网络;
[0038]
(2.2)对mobilenetv2网络的损失函数使用l2正则化进行处理,防止模型过拟合;
[0039]
(2.3)遍历搭建好的mobilenetv2网络中网络底层的z个瓶颈层中的全部权重参数,并将所述z个瓶颈层中的全部权重参数的requires grade的属性设置为false,由此固定所述z个瓶颈层中的全部权重参数,其中,z是整数,表示选择的瓶颈层的个数,且0<z<18;
[0040]
(2.4)利用贝叶斯优化方法调整mobilenetv2网络中的超参数包括学习率、衰减指数、l2正则化参数、迭代次数,因为不同的超参数会影响网络的分类精确度,所以将网络分类的精确度作为评价指标,选择得到最高精确度的超参数集作为mobilenetv2网络的超参数集,并在此基础上使用训练集训练mobilenetv2网络,利用验证集验证mobilenetv2网络,得到重新训练好的mobilenetv2网络;
[0041]
在训练过程中,训练每进行一个周期就在验证集上进行验证,保存验证集上准确度最高的mobilenetv2网络作为训练好的mobilenetv2网络。
[0042]
进一步地,步骤(2.2)所述对mobilenetv2网络的损失函数使用l2正则化进行处理,方法如下:
[0043][0044]
式中,l表示l2正则化后的mobilenetv2网络的损失函数;e
in
是未加入l2正则化项的原始mobilenetv2网络的损失函数;λ是正则化参数;j是l2正则化权值向量w中元素的总个数;w
j
代表l2正则化权值向量w中第j个元素。
[0045]
有益效果:与现有技术相比,本发明所述技术方案具有以下有益技术效果:
[0046]
本发明使用迁移学习的方法并且对mobilenetv2网络进行微调,提高了分类精度,并且缩短了模型的训练时间;对原始图像使用高斯滤波器和直方图均衡化进行图像增强,从而提高mobilenetv2网络分类精度;采用了mobilenetv2网络,参数少,训练快,精度高,并且对于硬件设备的要求不高,很适合资源匮乏地区;使用l2正则化处理mobilenetv2网络的
损失函数并且用贝叶斯优化算法来对mobilenetv2网络的超参数进行调整,进一步提高了mobilenetv2网络的性能。
附图说明
[0047]
图1是一种实施例下的流程框图;
[0048]
图2是一种实施例下mobilenetv2网络训练中瓶颈模块示意图;
[0049]
图3是一种实施例下mobilenetv2网络训练中瓶颈模块dw卷积操作示意图。
具体实施方式
[0050]
下面结合附图和实施例对本发明的技术方案作进一步的说明。
[0051]
本发明所述的一种轻量级cnn结合迁移学习的医学图像分类方法,参考图1,具体包括如下步骤:
[0052]
(1)获取医学图像数据集,并对其预处理提高质量,为了统一标准将医学图像数据集中所有图像尺寸调整为224像素*224像素,之后使用高斯模糊和直方图均衡化来进行增强处理,最后根据以往实验经验将处理后的医学图像数据集按照一定比例划分得到训练集、验证集以及测试集;
[0053]
(2)构建预训练好的mobilenetv2网络并进行微调,对mobilenetv2网络的损失函数使用l2正则化进行处理,通过贝叶斯优化方法调整mobilenetv2网络中的超参数,之后利用训练集对mobilenetv2网络进行训练,利用验证集对mobilenetv2网络进行验证,得到重新训练好的mobilenetv2网络;
[0054]
(3)将测试集输入重新训练好的mobilenetv2网络,得到分类结果。
[0055]
进一步地,步骤(1)中对医学图像数据集使用高斯模糊和直方图均衡化来进行增强处理,方法如下::
[0056]
(1.1)将医学图像数据集中的每一幅图像调整尺寸大小至224像素*224像素;
[0057]
(1.2)利用高斯滤波器对调整尺寸后的图像进行高斯模糊处理,方法如下:
[0058]
(1.21)设置滑动窗口模板大小为3*3,在坐标轴上窗口模板的中心点为坐标原点(0,0),进而得到窗口模板中剩余点的坐标,所述剩余点的坐标具体为(

1,

1)、(0,

1)、(1,

1)、(1,0)、(1,1)、(0,1)、(

1,1)、(

1,0);
[0059]
(1.22)利用二维高斯函数计算窗口模板中每一个点各自对应的二维高斯函数值;其中,二维高斯函数值g(x,y)为:
[0060][0061]
其中,(x,y)表示窗口模板中的点的坐标;x表示模板中的横坐标,y表示模板中的纵坐标;σ表示高斯半径,可以人为调整;
[0062]
(1.23)分别计算窗口模板中每个点各自对应的权重,具体为先计算窗口模板中所有点的二维高斯函数值之和,再将每个点的二维高斯函数值除以窗口模板中所有点的二维高斯函数值之和,从而得到窗口模板中每个点各自对应的权重;
[0063]
(1.24)计算窗口模板中心点的高斯模糊值,具体为先计算窗口模板中每个点的灰度值与自身对应的权重之乘积,再对所有乘积求和,从而得到该窗口模板中心点的高斯模
糊值;
[0064]
(1.25)对调整尺寸后的图像的所有点重复步骤(1.21)

(1.24),得到高斯模糊后的图像;
[0065]
其中,对于边界点而言,没有达到窗口模板大小,此时将该边界点与其对侧面的边界点进行拼接,从而得到窗口模板大小;
[0066]
(1.3)对高斯模糊后的图像进行直方图均衡化处理,得到直方图均衡化后的图像,方法如下:
[0067]
首先对高斯模糊后的图像统计每一个灰度级所对应的像素个数;其中,n
k
表示灰度级为k的像素个数,k表示灰度级,k=0,1...,255;
[0068]
其次对高斯模糊后的图像计算每一个灰度级所对应的灰度分布频率值p
k

[0069]
p
k
=n
k
/n
[0070]
其中,n表示图像的总像素数;
[0071]
然后对每一个灰度级统计各自对应的灰度累计分布频率值s
k

[0072][0073]
其中,i=0表示从灰度级0开始;
[0074]
最后对高斯模糊后的图像计算每一个灰度级经过直方图均衡化后各自对应的灰度级:
[0075]
k'=[s
k
*255+0.5]
[0076]
式中,k'表示灰度级k经过直方图均衡化后对应的灰度级;
[0077]
将图像的灰度级k替代为经过直方图均衡化后对应的灰度级k',得到直方图均衡化后的图像。
[0078]
进一步地,参考图2和图3,对mobilenetv2网络进行改进,使用elu激活函数替换mobilenetv2网络中的瓶颈层的relu6激活函数;
[0079]
通过使用elu激活函数替换原本的瓶颈层中的relu6激活函数,得到改进后的瓶颈层结构,所述改进后的瓶颈层结构,依次包括:首先通过1*1卷积、elu激活函数进行升维,其次通过3*3dw卷积操作、elu激活函数进行卷积,最后通过1*1的卷积、线性激活函数进行降维;
[0080]
relu6本是mobilenetv2为适应移动端设备而使用的,但在台式电脑中使用易于计算和收敛速度快的elu激活函数更加合适;而瓶颈层结构的输出是低维的特征向量,所以在瓶颈层结构的最后一个卷积层使用线性激活函数避免信息损失;
[0081]
dw卷积的步长为1和2,为1时存在捷径分支,为2时没有捷径分支;每个卷积核的深度均为1,且只与输入特征矩阵的一个深度进行卷积运算,得到输入特征矩阵对应的输出特征矩阵的深度;其中,卷积核的个数与输入特征矩阵的深度相同,一个卷积核输出一个特征矩阵深度,最后输出特征矩阵的深度等于输入特征矩阵深度;在瓶颈层结构中,dw卷积和pw卷积同时使用,pw卷积是卷积核大小为1卷积;理论上普通卷积计算量是dw+pw卷积的9倍,因此使用dw卷积大大减少了mobilenetv2的计算量;
[0082]
进一步地,步骤(2)所述构建预训练好的mobilenetv2网络并进行微调,对mobilenetv2网络的损失函数使用l2正则化进行处理,通过贝叶斯优化方法调整
mobilenetv2网络中的超参数,之后利用训练集对mobilenetv2网络进行训练,利用验证集对mobilenetv2网络进行验证,得到重新训练好的mobilenetv2网络,包括:
[0083]
(2.1)搭建在imagenet上预训练好的mobilenetv2网络;
[0084]
(2.2)对mobilenetv2网络的损失函数使用l2正则化进行处理,防止模型过拟合;
[0085]
(2.3)遍历搭建好的mobilenetv2网络中网络底层的z个瓶颈层中的全部权重参数,并将所述z个瓶颈层中的全部权重参数的requires grade的属性设置为false,由此固定所述z个瓶颈层中的全部权重参数,其中,z是整数,表示选择的瓶颈层的个数,且0<z<18;
[0086]
(2.4)利用贝叶斯优化方法调整mobilenetv2网络中的超参数包括学习率、衰减指数、l2正则化参数、迭代次数,因为不同的超参数会影响网络的分类精确度,所以将网络分类的精确度作为评价指标,选择得到最高精确度的超参数集作为mobilenetv2网络的超参数集,并在此基础上使用训练集训练mobilenetv2网络,利用验证集验证mobilenetv2网络,得到重新训练好的mobilenetv2网络;
[0087]
在训练过程中,训练每进行一个周期就在验证集上进行验证,保存验证集上准确度最高的mobilenetv2网络作为训练好的mobilenetv2网络。
[0088]
进一步地,步骤(2.2)所述损失函数是通过使用l2正则化方法处理得到的,所述损失函数如下:
[0089][0090]
式中,l表示l2正则化后的mobilenetv2网络的损失函数;e
in
是未加入l2正则化项的原始mobilenetv2网络的损失函数;λ是正则化参数;j是l2正则化权值向量w中元素的总个数;w
j
代表l2正则化权值向量w中第j个元素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1