基于迁移学习和CBAM的冠脉病变分类方法
未命名
09-22
阅读:88
评论:0

基于迁移学习和cbam的冠脉病变分类方法
技术领域
1.本发明属于生物工程技术领域,具体涉及一种基于迁移学习和cbam的冠脉病变分类方法。
背景技术:
2.根据医学临床鉴定,如果狭窄率大于百分之五十,则被诊断为患有冠心病。cta图像作为诊断冠心病的检测技术之一,医生容易受主观因素的影响出现错判、误判等现象的发生。因此,合理地应用人工智能设计出一种便于识别冠心病的分类模型极为重要。
3.因此,本发明基于人工智能和深度学习,首先对冠脉cta数据集统一进行预处理和分割二值化,然后搭建基于迁移学习和卷积注意力模块(convolutional block attention module,cbam)的resnet18分类模型,最后将经过预处理的冠脉数据集送入到模型中,输出分类结果。
技术实现要素:
4.本发明的目的是提供一种基于迁移学习和cbam的冠脉病变分类方法,解决了冠脉cta图像分类研究较少且分类准确率低的问题。
5.本发明所采用的技术方案是,基于迁移学习和cbam的冠脉病变分类方法,具体按照以下步骤实施:
6.步骤1、构建冠脉cta图像数据集;
7.步骤2、对步骤1的数据集进行图像去噪、图像增强、图像裁剪预处理;
8.步骤3、对所有预处理过的cta图像采用区域生长和otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;
9.步骤4、构建基于迁移学习和cbam的resnet18冠脉分类模型;
10.步骤5、将步骤3的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到基于迁移学习和cbam的resnet18冠脉分类模型中,输出二分类结果。
11.本发明的特点还在于,
12.步骤1具体按照以下步骤实施:
13.共收集冠脉cta图像624张,作为步骤3中特征提取模型的输入样本,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。
14.步骤2具体按照以下步骤实施:
15.步骤2.1、对于均值为0,方差为σ2的二维高斯滤波函数f(x,y)表示为:
[0016][0017]
其中,x和y表示像素点的空间坐标,σ2表示方差;
[0018]
通过高斯模板,实现将上述连续的二维高斯滤波离散化,得到(2v+1)
×
(2v+1)阶的权值矩阵,矩阵表示为:
[0019][0020]
其中,f(i,j)表示权值矩阵,i和j为像素中心点的空间坐标,v表示阶数;
[0021]
自适应高斯滤波算法通过判断平滑区域和边缘区域,计算某一区域内方差d的大小,最终自适应地选取高斯模板参数σ2和高斯模板n的大小,高效地实现对图像的去噪;
[0022]
其中方差d的计算公式为:
[0023][0024]
其中,s
i,j
表示中心点(i,j)附近的(2v+1)
×
(2v+1)大小的领域;
[0025]
在实际计算过程中,根据区域内像素点的方差d的大小按如下方式分段确定参数σ2的值:
[0026][0027]
模板采用3
×
3和5
×
5两种类型,在滤波过程中,根据每个区域内的方差d,使得像素点在移动的过程中,高斯模板参数σ2和高斯模板n不断被改变,实现自适应的高斯滤波去噪,得到去噪后的医学图像;
[0028]
步骤2.2、对于去噪后的图像,通过采用直方图均衡化,直方图均衡化具体如下:
[0029][0030]
其中,pr(rk)表示归一化灰度级rk出现的概率,rk∈[0,1],k表示灰度级,nk表示此灰度级下的像素数,n表示像素总数。
[0031]
灰度转化函数为:
[0032][0033]
其中,sk为灰度转化函数,(l-1)为总灰度级数,pr(rj)表示归一化灰度级rj出现的概率,nj表示此灰度级下的像素数。
[0034]
通过上式的计算,将原灰度级为rk的像素点转化为新的灰度级为sk的像素点;
[0035]
步骤2.3、在对冠脉图像进行去噪和增强后,统一裁剪图像尺寸为256
×
256,并将裁剪后的图像作为步骤3中图像分割算法的输入。
[0036]
步骤3具体按照以下步骤实施:
[0037]
步骤3.1、首先根据otsu分割算法,自动选取能够区分目标域和背景域的最优阈
值,其中,目标域即冠脉区域,背景域即cta图像中其他人体组织及一些噪点,获得经过otsu算法分割好的图像;
[0038]
步骤3.2、在经过步骤3.1处理后的图像后,采用区域生长算法对图像做进一步处理,首先选取种子点单独生长,然后根据灰度将冠脉区域从图像中单独地分割出来。
[0039]
步骤3.1中最优阈值的确定过程如下:
[0040]
首先,图像中灰度等级的个数用l表示,某一点的灰度值表示为i,ni表示为灰度值为i时的像素点的个数,全部像素点的个数用n表示,公式如下:
[0041]
n=n0+n1+...+n
l-1
ꢀꢀ
(7)
[0042]
那么灰度值为i时,像素点的概率pi表示为:
[0043][0044]
图像的灰度值u
t
表示为:
[0045][0046]
根据图像的灰度分布情况,假设t为区分目标和背景的阈值,c0代表目标域,c1代表背景域,则w0(t)和w1(t)分别表示阈值为t时,c0和c1发生的概率,即:
[0047][0048]
w1(t)=1-w0(t)
ꢀꢀ
(11)
[0049]
c0和c1的均值为:
[0050][0051][0052]
其中,u0(t)和u1(t)分别表示目标域和背景域的均值。
[0053]
σ2(t)表示直方图中阈值为t的类间方差,定义为:
[0054]
σ2(t)=w0(t)[u0(t)-u
t
]2+w1(t)[u1(t)-u
t
]2ꢀꢀ
(14)
[0055]
那么当方差最大时,最优阈值的计算公式如下式所示:
[0056][0057]
其中,σ2(t
*
)表示最大类间方差,t
*
表示能够使类间方差最大的最优阈值。
[0058]
步骤4具体按照以下步骤实施:
[0059]
步骤4.1、搭建基于resnet18的预训练模块,使用公开数据集—imagenet大型数据集作为预训练模块的输入,输出层利用softmax激活函数,从而输出1000个类别的概率分布,并保留预训练后的权重,加载到下一步搭建的分类模型中;
[0060]
步骤4.2、搭建基于resnet18的深度卷积神经网络模型,模型共有18层,是由一个
卷积层,四个resblock,以及一个全连接层构成,每个resblock中含有2个basic block,而每个basic block又含有两个卷积层,在不改变网络模型的结构上,在卷积层的第一层和最后一层分别加入通道注意力机制和空间注意力机制,即混合注意力机制—cbam模块;
[0061]
步骤4.3、将步骤4.1搭建的基于resnet18的预训练模块与步骤4.2中搭建的基于cbam的resnet18网络模型联合,从而使模型在imagenet数据集上学习的图像特征被很好地迁移到目标网络中,即引入cbam的resnet18网络模型中,完成对基于迁移学习和cbam的resnet18模型的搭建;优化器选用sgd,激活函数选用relu,损失函数选定为交叉熵损失函数,batch_size设置为16,learning rate设置为0.001,epoch设置为100。
[0062]
步骤4.2中残差f(x)的计算公式如下:
[0063]
f(x)=h(x)-x (16)
[0064]
其中,h(x)是输入后学习到的对应的特征,x为模型的输入。
[0065]
步骤5具体按照以下步骤实施:
[0066]
步骤5.1、首先定义狭窄率大于50%的图像标签定义为1,狭窄率小于50%的图像标签定义为0,然后将步骤3处理后的所有冠脉分割二值图进行划分,训练集划分为399张,验证集划分为99张,测试集划分为126张,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。并输入到所述步骤4搭建的模型中,输出二分类的概率分布,对分类结果可视化,以混淆矩阵的形式展示,如图x所示,主对角线表示分类预测正确的标签为0和1的数据集数量,副对角线表示分类预测错误的标签为0和1的数据集数量;
[0067]
步骤5.2、模型最终输出结果,本模型的性能评估选用精确率(precision)、准确率(accuracy,acc)、召回率(recall)、特异性(specificity)、f1-score(f1)作为分类结果的评价指标。
[0068][0069][0070][0071][0072]
式中,acc为模型正确分类样本数占总样本数的比例;precision为模型预测的所有正常样本中,预测正确的比例;recall为所有真实正常样本中,模型预测正确的正常样本比例;f1为精确率和召回率的调和平均数;tp为预测为正常,真值为正常的样本数量;fp为预测是正常,真值是异常的样本数量;fn为预测是异常,真值为正常的样本数量;tn为预测是异常,真值是异常的样本数量。
[0073]
本发明的有益效果是,基于迁移学习和cbam的冠脉病变分类方法,能够直接对患者真实的cta图像进行处理,并利用设计出的深度学习分类器,实现了对冠心病的全自动诊断。此发明思路采用体外预测模式,合理的对狭窄冠脉特征进行学习,预测速度、预测精度均具有良好的分类性能,并提高了人工智能在医疗方面的利用率以及临床医生的诊断效
率。
附图说明
[0074]
图1为本发明基于迁移学习和cbam的冠脉病变分类方法总体流程图;
[0075]
图2(a)为本发明基于迁移学习和cbam的冠脉病变分类方法的resnet18分类模型的验证集准确率结果图;
[0076]
图2(b)为本发明基于迁移学习和cbam的冠脉病变分类方法的resnet18分类模型的训练集准确率结果图;
[0077]
图3(a)为本发明基于迁移学习和cbam的冠脉病变分类方法中将cbam改为cam后的验证集准确率结果图;
[0078]
图3(b)为本发明基于迁移学习和cbam的冠脉病变分类方法中将cbam改为cam后的训练集准确率结果图;
[0079]
图4(a)为本发明基于迁移学习和cbam的冠脉病变分类方法中将cbam改为sam后的验证集准确率结果图;
[0080]
图4(b)为本发明基于迁移学习和cbam的冠脉病变分类方法中将cbam改为sam后的训练集准确率结果图;
[0081]
图5为本发明基于迁移学习和cbam的冠脉病变分类方法中混淆矩阵结果图。
具体实施方式
[0082]
下面结合附图和具体实施方式对本发明进行详细说明。
[0083]
本发明基于人工智能理念,在深度学习和迁移学习的基础上,针对医学冠脉ct图像的特点,进行深度学习分类模型的搭建。具体做法为:对经过预处理的冠脉cta图像进行分割二值化处理后,将数据集划分为训练集、验证集和测试集,然后将所有数据集输入到搭建好的基于迁移学习和resnet18的分类模型中,输出二分类的分类结果,并采用五种分类指标实现对模型的性能评估。实验结果也表明本模型具有较高的分类结果。
[0084]
本发明基于迁移学习和cbam的冠脉病变分类方法,流程图如图1所示,具体按照以下步骤实施:
[0085]
步骤1、构建冠脉cta图像数据集;
[0086]
步骤1具体按照以下步骤实施:
[0087]
本发明所使用的内部数据集,均来源于杭州师范大学附属医院,共收集冠脉cta图像624张,作为步骤3中特征提取模型的输入样本,为保护患者隐私,隐去图像中患者的基本信息,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。
[0088]
步骤2、对步骤1中的冠脉cta图像数据集进行图像去噪、图像增强、图像裁剪预处理;
[0089]
步骤2具体按照以下步骤实施:
[0090]
医学图像处理任务中,选用合适的去噪算法,是预处理中极为重要的一步。
[0091]
步骤2.1、为消除cta图像中的高斯噪声,本发明在高斯滤波器的基础上,应用自适应高斯滤波算法,去除图像中的高斯噪声,以保留图像更多的重要细节,便于步骤3的图像
分割。
[0092]
高斯滤波也是各像素点加权的过程,每个像素点都是由自身与其周围的像素点相护加权而产生的。对于均值为0,方差为σ2的二维高斯滤波函数f(x,y)表示为:
[0093][0094]
其中,x和y表示像素点的空间坐标,σ2表示方差;
[0095]
通过高斯模板,实现将上述连续的二维高斯滤波离散化,得到(2v+1)
×
(2v+1)阶的权值矩阵,矩阵表示为:
[0096][0097]
其中,f(i,j)表示权值矩阵,i和j为像素中心点的空间坐标,v表示阶数;
[0098]
自适应高斯滤波算法通过判断平滑区域和边缘区域,计算某一区域内方差d的大小,最终自适应地选取高斯模板参数σ2和高斯模板n的大小,高效地实现对图像的去噪;
[0099]
其中方差d的计算公式为:
[0100][0101]
其中,s
i,j
表示中心点(i,j)附近的(2v+1)
×
(2v+1)大小的领域;
[0102]
在实际计算过程中,根据区域内像素点的方差d的大小按如下方式分段确定参数σ2的值:
[0103][0104]
模板采用3
×
3和5
×
5两种类型,并规定:
[0105]
表1模块大小的自适应选择
[0106]
σ2m4m3m2m1模块大小5
×
55
×
53
×
33
×3[0107]
因此,在滤波过程中,根据每个区域内的方差d,使得像素点在移动的过程中,高斯模板参数σ2和高斯模板n不断被改变,实现自适应的高斯滤波去噪,得到去噪后的医学图像;
[0108]
步骤2.2、对于去噪后的图像,图像增强算法是必不可少的一个步骤,通过采用直方图均衡化,提高原始cta图像的对比度,更加突出图像目标区域和细节特征。直方图均衡化具体如下:
[0109]
直方图均衡化的基本原理就是将图像直方图中的灰度值通过灰度转化函数后,均匀分布在适当的区间范围内,实现过程如下:
[0110][0111]
其中,pr(rk)表示归一化灰度级rk出现的概率,rk∈[0,1],k表示灰度级,nk表示此灰度级下的像素数,n表示像素总数。
[0112]
灰度转化函数为:
[0113][0114]
其中,sk为灰度转化函数,(l-1)为总灰度级数,pr(rj)表示归一化灰度级rj出现的概率,nj表示此灰度级下的像素数。
[0115]
通过上式的计算,将原灰度级为rk的像素点转化为新的灰度级为sk的像素点;
[0116]
步骤2.3、在对冠脉图像进行去噪和增强后,统一裁剪图像尺寸为256
×
256,并将裁剪后的图像作为步骤3中图像分割算法的输入。
[0117]
步骤3、在步骤2的基础上,对所有预处理过的cta图像采用区域生长和otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;
[0118]
步骤3具体按照以下步骤实施:
[0119]
便于步骤4中的冠脉狭窄等级分类,本发明采用区域生长和otsu的联合分割算法,实现对所有冠脉cta图像的二值化处理。
[0120]
步骤3.1、首先根据otsu分割算法,自动选取能够区分目标域和背景域的最优阈值,其中,目标域即冠脉区域,背景域即cta图像中其他人体组织及一些噪点,获得经过otsu算法分割好的图像;
[0121]
步骤3.2、在经过步骤3.1处理后的图像后,采用区域生长算法对图像做进一步处理,首先选取种子点单独生长,然后根据灰度将冠脉区域从图像中单独地分割出来。
[0122]
步骤3.1中最优阈值的确定过程如下:
[0123]
首先,图像中灰度等级的个数用l表示,某一点的灰度值表示为i,ni表示为灰度值为i时的像素点的个数,全部像素点的个数用n表示,公式如下:
[0124]
n=n0+n1+...+n
l-1
ꢀꢀ
(7)
[0125]
那么灰度值为i时,像素点的概率pi表示为:
[0126][0127]
图像的灰度值u
t
表示为:
[0128][0129]
根据图像的灰度分布情况,假设t为区分目标和背景的阈值,c0代表目标域,c1代表背景域,则w0(t)和w1(t)分别表示阈值为t时,c0和c1发生的概率,即:
[0130][0131]
w1(t)=1-w0(t)
ꢀꢀ
(11)
[0132]
c0和c1的均值为:
[0133][0134][0135]
其中,u0(t)和u1(t)分别表示目标域和背景域的均值。
[0136]
σ2(t)表示直方图中阈值为t的类间方差,定义为:
[0137]
σ2(t)=w0(t)[u0(t)-u
t
]2+w1(t)[u1(t)-u
t
]2ꢀꢀ
(14)
[0138]
那么当方差最大时,最优阈值的计算公式如下式所示:
[0139][0140]
其中,σ2(t
*
)表示最大类间方差,t
*
表示能够使类间方差最大的最优阈值。
[0141]
步骤4、构建基于迁移学习和cbam的resnet18冠脉分类模型,便于接下来的冠脉等级分类;
[0142]
步骤4具体按照以下步骤实施:
[0143]
在对所有冠脉数据集进行了图像预处理以及分割二值化的准备工作后,接下来,搭建基于迁移学习和cbam的冠脉狭窄分类器。此分类器以resnet18网络为基模型,引入迁移学习;在此基础上,引入一种轻量级模块—cbam,进一步实现对冠脉区域的自动定位。
[0144]
步骤4.1、搭建基于resnet18的预训练模块,使用公开数据集—imagenet大型数据集作为预训练模块的输入,输出层利用softmax激活函数,从而输出1000个类别的概率分布,并保留预训练后的权重,加载到下一步搭建的分类模型中;
[0145]
步骤4.2、搭建基于resnet18的深度卷积神经网络模型,模型共有18层,是由一个卷积层,四个resblock,以及一个全连接层构成,每个resblock中含有2个basic block,而每个basic block又含有两个卷积层,在不改变网络模型的结构上,在卷积层的第一层和最后一层分别加入通道注意力机制和空间注意力机制,即混合注意力机制—cbam模块;
[0146]
步骤4.3、将步骤4.1搭建的基于resnet18的预训练模块与步骤4.2中搭建的基于cbam的resnet18网络模型联合,从而使模型在imagenet数据集上学习的图像特征被很好地迁移到目标网络中,即引入cbam的resnet18网络模型中,完成对基于迁移学习和cbam的resnet18模型的搭建;优化器选用sgd,激活函数选用relu,损失函数选定为交叉熵损失函数,batch_size设置为16,learning rate设置为0.001,epoch设置为100。
[0147]
步骤4.2中残差f(x)的计算公式如下:
[0148]
f(x)=h(x)-x (16)
[0149]
其中,h(x)是输入后学习到的对应的特征,x为模型的输入。
[0150]
步骤5、将经过步骤3处理后的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到步骤4构建的基于迁移学习和cbam的resnet18冠脉分类模型中,输出二分类结果。并以准确率、精确率、召回率、f1-score为指标,证明所提出的分类预测模型的优越性。
[0151]
结合图5,步骤5具体按照以下步骤实施:
[0152]
步骤5.1、首先定义狭窄率大于50%的图像标签定义为1,狭窄率小于50%的图像标签定义为0,然后将步骤3处理后的所有冠脉分割二值图进行划分,训练集划分为399张,验证集划分为99张,测试集划分为126张,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。并输入到所述步骤4搭建的模型中,输出二分类的概率分布,对分类结果可视化,以混淆矩阵的形式展示,如图x所示,主对角线表示分类预测正确的标签为0和1的数据集数量,副对角线表示分类预测错误的标签为0和1的数据集数量;
[0153]
步骤5.2、模型最终输出结果,本模型的性能评估选用精确率(precision)、准确率(accuracy,acc)、召回率(recall)、特异性(specificity)、f1-score(f1)作为分类结果的评价指标。
[0154][0155][0156][0157][0158]
式中,acc为模型正确分类样本数占总样本数的比例;precision为模型预测的所有正常样本中,预测正确的比例;recall为所有真实正常样本中,模型预测正确的正常样本比例;f1为精确率和召回率的调和平均数;tp为预测为正常,真值为正常的样本数量;fp为预测是正常,真值是异常的样本数量;fn为预测是异常,真值为正常的样本数量;tn为预测是异常,真值是异常的样本数量。
[0159]
实施例1
[0160]
本发明基于迁移学习和cbam的冠脉病变分类方法,流程图如图1所示,具体按照以下步骤实施:
[0161]
步骤1、构建冠脉cta图像数据集;
[0162]
步骤2、对步骤1中的冠脉cta图像数据集进行图像去噪、图像增强、图像裁剪预处理;
[0163]
步骤3、在步骤2的基础上,对所有预处理过的cta图像采用区域生长和otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;
[0164]
步骤4、构建基于迁移学习和cbam的resnet18冠脉分类模型,便于接下来的冠脉等级分类;
[0165]
步骤5、将经过步骤3处理后的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到步骤4构建的基于迁移学习和cbam的resnet18冠脉分类模型中,输出二分类结果。并以准确率、精确率、召回率、f1-score为指标,证明所提出的分类预测模型的优越性。
[0166]
实施例2
[0167]
本发明基于迁移学习和cbam的冠脉病变分类方法,流程图如图1所示,具体按照以
下步骤实施:
[0168]
步骤1、构建冠脉cta图像数据集;
[0169]
步骤1具体按照以下步骤实施:
[0170]
本发明所使用的内部数据集,均来源于杭州师范大学附属医院,共收集冠脉cta图像624张,作为步骤3中特征提取模型的输入样本,为保护患者隐私,隐去图像中患者的基本信息,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。
[0171]
步骤2、对步骤1中的冠脉cta图像数据集进行图像去噪、图像增强、图像裁剪预处理;
[0172]
步骤2具体按照以下步骤实施:
[0173]
医学图像处理任务中,选用合适的去噪算法,是预处理中极为重要的一步。
[0174]
步骤2.1、为消除cta图像中的高斯噪声,本发明在高斯滤波器的基础上,应用自适应高斯滤波算法,去除图像中的高斯噪声,以保留图像更多的重要细节,便于步骤3的图像分割。
[0175]
高斯滤波也是各像素点加权的过程,每个像素点都是由自身与其周围的像素点相护加权而产生的。对于均值为0,方差为σ2的二维高斯滤波函数f(x,y)表示为:
[0176][0177]
其中,x和y表示像素点的空间坐标,σ2表示方差;
[0178]
通过高斯模板,实现将上述连续的二维高斯滤波离散化,得到(2v+1)
×
(2v+1)阶的权值矩阵,矩阵表示为:
[0179][0180]
其中,f(i,j)表示权值矩阵,i和j为像素中心点的空间坐标,v表示阶数;
[0181]
自适应高斯滤波算法通过判断平滑区域和边缘区域,计算某一区域内方差d的大小,最终自适应地选取高斯模板参数σ2和高斯模板n的大小,高效地实现对图像的去噪;
[0182]
其中方差d的计算公式为:
[0183][0184]
其中,s
i,j
表示中心点(i,j)附近的(2v+1)
×
(2v+1)大小的领域;
[0185]
在实际计算过程中,根据区域内像素点的方差d的大小按如下方式分段确定参数σ2的值:
[0186][0187]
模板采用3
×
3和5
×
5两种类型,并规定:
[0188]
表1模块大小的自适应选择
[0189]
σ2m4m3m2m1模块大小5
×
55
×
53
×
33
×3[0190]
因此,在滤波过程中,根据每个区域内的方差d,使得像素点在移动的过程中,高斯模板参数σ2和高斯模板n不断被改变,实现自适应的高斯滤波去噪,得到去噪后的医学图像;
[0191]
步骤2.2、对于去噪后的图像,图像增强算法是必不可少的一个步骤,通过采用直方图均衡化,提高原始cta图像的对比度,更加突出图像目标区域和细节特征。直方图均衡化具体如下:
[0192]
直方图均衡化的基本原理就是将图像直方图中的灰度值通过灰度转化函数后,均匀分布在适当的区间范围内,实现过程如下:
[0193][0194]
其中,pr(rk)表示归一化灰度级rk出现的概率,rk∈[0,1],k表示灰度级,nk表示此灰度级下的像素数,n表示像素总数。
[0195]
灰度转化函数为:
[0196][0197]
其中,sk为灰度转化函数,(l-1)为总灰度级数,pr(rj)表示归一化灰度级rj出现的概率,nj表示此灰度级下的像素数。
[0198]
通过上式的计算,将原灰度级为rk的像素点转化为新的灰度级为sk的像素点;
[0199]
步骤2.3、在对冠脉图像进行去噪和增强后,统一裁剪图像尺寸为256
×
256,并将裁剪后的图像作为步骤3中图像分割算法的输入。
[0200]
步骤3、在步骤2的基础上,对所有预处理过的cta图像采用区域生长和otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;
[0201]
步骤4、构建基于迁移学习和cbam的resnet18冠脉分类模型,便于接下来的冠脉等级分类;
[0202]
步骤5、将经过步骤3处理后的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到步骤4构建的基于迁移学习和cbam的resnet18冠脉分类模型中,输出二分类结果。并以准确率、精确率、召回率、f1-score为指标,证明所提出的分类预测模型的优越性。
[0203]
步骤5具体按照以下步骤实施:
[0204]
步骤5.1、首先定义狭窄率大于50%的图像标签定义为1,狭窄率小于50%的图像
标签定义为0,然后将步骤3处理后的所有冠脉分割二值图进行划分,训练集划分为399张,验证集划分为99张,测试集划分为126张,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。并输入到所述步骤4搭建的模型中,输出二分类的概率分布,对分类结果可视化,以混淆矩阵的形式展示,如图x所示,主对角线表示分类预测正确的标签为0和1的数据集数量,副对角线表示分类预测错误的标签为0和1的数据集数量;
[0205]
步骤5.2、模型最终输出结果,本模型的性能评估选用精确率(precision)、准确率(accuracy,acc)、召回率(recall)、特异性(specificity)、f1-score(f1)作为分类结果的评价指标。
[0206][0207][0208][0209][0210]
式中,acc为模型正确分类样本数占总样本数的比例;precision为模型预测的所有正常样本中,预测正确的比例;recall为所有真实正常样本中,模型预测正确的正常样本比例;f1为精确率和召回率的调和平均数;tp为预测为正常,真值为正常的样本数量;fp为预测是正常,真值是异常的样本数量;fn为预测是异常,真值为正常的样本数量;tn为预测是异常,真值是异常的样本数量。
[0211]
实施例3
[0212]
本次实验采用杭州师范大学附属医院内部数据集,入组的cta图像共624张,按照实验要求划分为狭窄率大于50%和小于50%两种类别,并分别手动定义标签。将399张训练集、99张验证集以及126张测试集全部输入到分类器中,测试本发明中分类器的优越性能。
[0213]
实验采用的计算机环境是windows 10系统,intel(r)core(tm)i5-7500cpu处理器,python版本为3.6.0,numpy版本为1.19.5,pytorch版本为1.4.0,torchvision版本为0.5.0。
[0214]
本发明分别进行三个实施例,首先将本发明所提方法进行仿真实验,同时将所选方法中的混合注意力机制(cbam)分别替换为空间注意力机制(spatial attention module,sam)和通道注意力机制(channel attention module,cam),以此证明所提方法的优越性能。验证集和准确率结果图如图2(a)~图2(b)、图3(a)~图3(b)和图4(a)~图4(b)所示,各评价指标汇总见表2。
[0215]
表2不同分类模型评价指标数值
[0216]
[0217][0218]
实验结果表明,本发明所提方法的准确率高达98.99%,不同的注意力机制模块的引入,对基于迁移学习的resnet18模型起到的作用不同,而本文引入的cbam模块,呈现出最好的分类效果,准确率、精确度、召回率和f1值均取得了最好的结果,验证了本文所提方法的有效性,也证明了所选的注意力机制模块的可行性与合理性。
技术特征:
1.基于迁移学习和cbam的冠脉病变分类方法,其特征在于,具体按照以下步骤实施:步骤1、构建冠脉cta图像数据集;步骤2、对步骤1的数据集进行图像去噪、图像增强、图像裁剪预处理;步骤3、对所有预处理过的cta图像采用区域生长和otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;步骤4、构建基于迁移学习和cbam的resnet18冠脉分类模型;步骤5、将步骤3的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到基于迁移学习和cbam的resnet18冠脉分类模型中,输出二分类结果。2.根据权利要求1所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤1具体按照以下步骤实施:共收集冠脉cta图像624张,作为步骤3中特征提取模型的输入样本,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0。3.根据权利要求2所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤2具体按照以下步骤实施:步骤2.1、对于均值为0,方差为σ2的二维高斯滤波函数f(x,y)表示为:其中,x和y表示像素点的空间坐标,σ2表示方差;通过高斯模板,实现将上述连续的二维高斯滤波离散化,得到(2v+1)
×
(2v+1)阶的权值矩阵,矩阵表示为:其中,f(i,j)表示权值矩阵,i和j为像素中心点的空间坐标,v表示阶数;自适应高斯滤波算法通过判断平滑区域和边缘区域,计算某一区域内方差d的大小,最终自适应地选取高斯模板参数σ2和高斯模板n的大小,高效地实现对图像的去噪;其中方差d的计算公式为:其中,s
i,j
表示中心点(i,j)附近的(2v+1)
×
(2v+1)大小的领域;在实际计算过程中,根据区域内像素点的方差d的大小按如下方式分段确定参数σ2的值:
模板采用3
×
3和5
×
5两种类型,在滤波过程中,根据每个区域内的方差d,使得像素点在移动的过程中,高斯模板参数σ2和高斯模板n不断被改变,实现自适应的高斯滤波去噪,得到去噪后的医学图像;步骤2.2、对于去噪后的图像,通过采用直方图均衡化,直方图均衡化具体如下:其中,p
r
(r
k
)表示归一化灰度级r
k
出现的概率,r
k
∈[0,1],k表示灰度级,n
k
表示此灰度级下的像素数,n表示像素总数;灰度转化函数为:其中,s
k
为灰度转化函数,(l-1)为总灰度级数,p
r
(r
j
)表示归一化灰度级r
j
出现的概率,n
j
表示此灰度级下的像素数;通过上式的计算,将原灰度级为r
k
的像素点转化为新的灰度级为s
k
的像素点;步骤2.3、在对冠脉图像进行去噪和增强后,统一裁剪图像尺寸为256
×
256,并将裁剪后的图像作为步骤3中图像分割算法的输入。4.根据权利要求3所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤3具体按照以下步骤实施:步骤3.1、首先根据otsu分割算法,自动选取能够区分目标域和背景域的最优阈值,其中,目标域即冠脉区域,背景域即cta图像中其他人体组织及一些噪点,获得经过otsu算法分割好的图像;步骤3.2、在经过步骤3.1处理后的图像后,采用区域生长算法对图像做进一步处理,首先选取种子点单独生长,然后根据灰度将冠脉区域从图像中单独地分割出来。5.根据权利要求4所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤3.1中最优阈值的确定过程如下:首先,图像中灰度等级的个数用l表示,某一点的灰度值表示为i,n
i
表示为灰度值为i时的像素点的个数,全部像素点的个数用n表示,公式如下:n=n0+n1+...+n
l-1
ꢀꢀꢀꢀ
(7)那么灰度值为i时,像素点的概率p
i
表示为:图像的灰度值u
t
表示为:
根据图像的灰度分布情况,假设t为区分目标和背景的阈值,c0代表目标域,c1代表背景域,则w0(t)和w1(t)分别表示阈值为t时,c0和c1发生的概率,即:w1(t)=1-w0(t)
ꢀꢀꢀꢀ
(11)c0和c1的均值为:的均值为:其中,u0(t)和u1(t)分别表示目标域和背景域的均值;σ2(t)表示直方图中阈值为t的类间方差,定义为:σ2(t)=w0(t)[u0(t)-u
t
]2+w1(t)[u1(t)-u
t
]2ꢀꢀꢀꢀ
(14)那么当方差最大时,最优阈值的计算公式如下式所示:其中,σ2(t
*
)表示最大类间方差,t
*
表示能够使类间方差最大的最优阈值。6.根据权利要求5所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤4具体按照以下步骤实施:步骤4.1、搭建基于resnet18的预训练模块,使用公开数据集—imagenet大型数据集作为预训练模块的输入,输出层利用softmax激活函数,从而输出1000个类别的概率分布,并保留预训练后的权重,加载到下一步搭建的分类模型中;步骤4.2、搭建基于resnet18的深度卷积神经网络模型,模型共有18层,是由一个卷积层,四个resblock,以及一个全连接层构成,每个resblock中含有2个basic block,而每个basic block又含有两个卷积层,在不改变网络模型的结构上,在卷积层的第一层和最后一层分别加入通道注意力机制和空间注意力机制,即混合注意力机制—cbam模块;步骤4.3、将步骤4.1搭建的基于resnet18的预训练模块与步骤4.2中搭建的基于cbam的resnet18网络模型联合,从而使模型在imagenet数据集上学习的图像特征被很好地迁移到目标网络中,即引入cbam的resnet18网络模型中,完成对基于迁移学习和cbam的resnet18模型的搭建;优化器选用sgd,激活函数选用relu,损失函数选定为交叉熵损失函数,batch_size设置为16,learning rate设置为0.001,epoch设置为100。7.根据权利要求6所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤4.2中残差f(x)的计算公式如下:f(x)=h(x)-x
ꢀꢀꢀꢀꢀꢀ
(16)其中,h(x)是输入后学习到的对应的特征,x为模型的输入。8.根据权利要求7所述的基于迁移学习和cbam的冠脉病变分类方法,其特征在于,所述步骤5具体按照以下步骤实施:
步骤5.1、首先定义狭窄率大于50%的图像标签定义为1,狭窄率小于50%的图像标签定义为0,然后将步骤3处理后的所有冠脉分割二值图进行划分,训练集划分为399张,验证集划分为99张,测试集划分为126张,并以狭窄率50%为界线,进行标签类别标注,即狭窄率小于50%的标记为正常,标签定义为1,狭窄率大于50%的标记为异常,标签定义为0;并输入到所述步骤4搭建的模型中,输出二分类的概率分布,对分类结果可视化,以混淆矩阵的形式展示,如图x所示,主对角线表示分类预测正确的标签为0和1的数据集数量,副对角线表示分类预测错误的标签为0和1的数据集数量;步骤5.2、模型最终输出结果,本模型的性能评估选用精确率(precision)、准确率(accuracy,acc)、召回率(recall)、特异性(specificity)、f1-score(f1)作为分类结果的评价指标;评价指标;评价指标;评价指标;式中,acc为模型正确分类样本数占总样本数的比例;precision为模型预测的所有正常样本中,预测正确的比例;recall为所有真实正常样本中,模型预测正确的正常样本比例;f1为精确率和召回率的调和平均数;tp为预测为正常,真值为正常的样本数量;fp为预测是正常,真值是异常的样本数量;fn为预测是异常,真值为正常的样本数量;tn为预测是异常,真值是异常的样本数量。
技术总结
本发明公开了一种基于迁移学习和CBAM的冠脉病变分类方法,具体按照以下步骤实施:步骤1、构建冠脉CTA图像数据集;步骤2、对步骤1的数据集进行图像去噪、图像增强、图像裁剪预处理;步骤3、对所有预处理过的CTA图像采用区域生长和Otsu的联合分割算法进行分割二值化操作,获取冠状动脉二值图;步骤4、构建基于迁移学习和CBAM的ResNet18冠脉分类模型;步骤5、将步骤3的所有冠状动脉二值图划分为训练集、验证集和测试集,并将所有冠状动脉二值图作为输入,加载到基于迁移学习和CBAM的ResNet18冠脉分类模型中,输出二分类结果。本发明解决了冠脉CTA图像分类研究较少且分类准确率低的问题。题。题。
技术研发人员:金永泽 叶欣 刘涵 黑新宏 弋英民 费蓉 穆凌霞 杨明松 李艳恺
受保护的技术使用者:西安理工大学
技术研发日:2023.06.30
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/