基于门控轴向注意力的新冠肺炎CT病灶分割方法

文档序号:31392738发布日期:2022-09-03 02:44阅读:244来源:国知局
基于门控轴向注意力的新冠肺炎CT病灶分割方法
基于门控轴向注意力的新冠肺炎ct病灶分割方法
技术领域
1.本发明涉及医学图像处理领域,特别是涉及一种基于门控轴向注意力的新冠肺炎ct病灶分割方法。


背景技术:

2.covid-19是一种由sars-ncov-2引起的传染性疾病,由于新冠肺炎的潜在致病性与其极强的传染性等方面,已经对全球几十亿人的生命安全和世界经济造成重大且极其深远的影响。
3.在临床中,实时逆转录聚合酶链反应rt-pcr以及x射线和计算机断层扫描ct等放射成像技术在covid-19的诊断和评估中发挥着关键作用。然而,pt-pcr是一个费时费力的手工过程,尤其是在感染肺炎的早期存在检测不够充分,有一定的假阴性率,许多疑似患者需要隔几天进行多次检测,才能得到可靠的诊断,所以仍然需要放射成像技术辅助医生诊断。由于其高空间分辨率以及ct密度与空气含量之间的特殊关系,ct被广泛应用与识别和分割covid-19感染的典型特征。所以,对于计算机辅助covid-19的诊断,准确的新冠肺炎病灶分割是必不可少的先决步骤,但是,由于ct扫描时会出现大量图像切片,因此在短时间内对ct扫描进行诊断性读取对于放射科医生而言是巨大的工作量,并且容易发生错误。因此,开发实时的全自动新冠肺炎病灶分割算法对于临床诊断是非常必要的。
4.感染了新冠肺炎后的ct扫描成像中主要以磨玻璃混浊(ggo)为独特的感染指示,在病情发展初期阶段影像中存在片装或块状的磨玻璃影,随着病情的进一步发展,磨玻璃影范围会进一步扩大,颜色越来越白,最终形成“白肺”。在计算机断层扫描(ct)中进行新冠肺炎病灶的分割是一项非常具有挑战性的任务。首先,感染的病灶区域大小,形状和位置各不相同。其次,磨玻璃区域与周围正常肺实质之间的界限是模糊的,这就使得新冠肺炎病灶的磨玻璃边缘的准确分割成为一项艰巨的任务。为了准确高效准确的分割出磨玻璃边缘,目前主流的方法还是基于深度学习方法。
5.近年来,随着深度学习在计算机视觉中的成功应用,卷积神经网络也被广泛应用于医学图像处理中。尤其是在新冠疫情爆发以后,很多医学影像分割的方法被应用在新冠病灶的分割上,但是这些方法不是专门针对于新冠肺炎病灶的特征而提出的,所以不能准确分割出磨玻璃影的边缘,尤其是在肺部ct表现特征有小范围病灶的时候。


技术实现要素:

6.本发明的目的是提供一种基于门控轴向注意力的新冠肺炎ct病灶分割方法,采用该方法能够提高新冠肺炎ct病灶分割的准确度。
7.本发明采用的技术方案为,基于门控轴向注意力的新冠肺炎ct病灶分割方法,具体包括如下步骤:
8.步骤1,对ct图像进行预处理,并将预处理后的图像数据集分为测试集和训练集;
9.步骤2,构建肺炎ct图像病灶分割网络模型;
10.步骤3,采用步骤1划分的训练集图像对步骤2构建的网络模型进行训练,得到训练好的ct图像病灶分割网络模型;
11.步骤4,将步骤1划分的测试集图像放入步骤3训练好的网络模型中,输出病灶结果。
12.本发明的特点还在于:
13.步骤1的具体过程为:
14.步骤1.1,对以nii格式存储的肺部ct数据集中的数据进行格式转换,将三维的ct图像沿着z轴方向进行切片,分解为二维png图像格式;
15.步骤1.2,对所有的肺部ct图像进行标准化,采用线性归一化方法:
16.l
norm
=(l-l
min
)/(l
max-l
min
)(1);
17.其中,l是训练的ct图像;l
norm
是归一化的图像;l
min
是图像的最小强度值;l
max
是图像的最大强度值;
18.步骤1.3,将所有归一化处理后的png图像统一裁剪成同一个规格尺寸,对所有裁剪后的图像进行翻转和镜像操作,进行数据集增强;
19.步骤1.4,将步骤1.3处理后的数据集分为训练集和测试集。
20.步骤2的具体过程为:
21.步骤2.1,将卷积操作、实例归一化和激活函数relu组合为一个卷积层模块f,如下公式(2)所示:
22.f=relu(batchnormalization(conv(x))(2);
23.步骤2.2,构建残差门控轴向注意力模块rgaa_block;
24.步骤2.3,构建门控轴向注意力模块;
25.步骤2.4,从步骤1.3处理后数据集中任选一幅图像x经过一个卷积核大小为7x7和步长为1的卷积层,得到输出特征o1:
26.o1=f1(x)(3);
27.步骤2.5,将o1经过一个卷积核大小为3x3和步长为2通道大小为64的卷积层下采样处理:
28.o2=downsample1(o1)(4)
29.步骤2.6,将输出特征o2经过一次rgaa_block1模块组成的卷积层中:
30.o3=rgaa_block1(o2)(5);
31.步骤2.7,将输出特征o3使用卷积核大小3x3和步长为2通道为64的卷积层进行下采样处理:
32.o4=downsample2(o3)(6);
33.步骤2.8,将输出特征o4经过两次rgaa_block2模块组成的卷积层中:
34.o5=rgaa_block2(o4)(7);
35.步骤2.9,将输出特征o5使用卷积核大小3x3和步长为2的卷积层进行下采样处理:
36.o6=downsample3(o5)(8);
37.步骤2.10,将输出特征o6经过四次rgaa_block3模块组成的卷积层中:
38.o7=rgaa_block3(o6)(9);
39.步骤2.11,将输出特征o7使用卷积核大小3x3和步长为2的卷积层进行下采样处
理:
40.o8=downsample4(o7)(10);
41.步骤2.12,将输出特征o8经过一次rgaa_block4模块组成的卷积层中:
42.o9=rgaa_block4(o8)(11);
43.步骤2.13,将输出特征o9使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
44.o
10
=upsample1(o9)(12);
45.步骤2.14,将输出特征o
10
与跳跃连接o7进行通道连接,并经过一个残差块res_block1:
46.o
11
=res_block1(concat(o7,o
10
))(13);
47.步骤2.15,将输出特征o
11
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
48.o
12
=upsample2(o
11
)(14);
49.步骤2.16,将输出特征o
12
与跳跃连接o5进行通道连接,并经过一个残差块res_block2:
50.o
13
=res_block2(concat(o5,o
12
))(15);
51.步骤2.17,将输出特征o
13
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
52.o
14
=upsample3(o
13
)(16);
53.步骤2.18,将输出特征o
14
与跳跃连接o3进行通道连接,并经过一个残差块res_block3:
54.o
15
=res_block3(concat(o3,o
14
))(17);
55.步骤2.19,将输出特征o
15
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
56.o
16
=upsample4(o
15
)(18);
57.步骤2.20,将输出特征o
16
与跳跃连接o1进行通道连接,并经过一个残差块res_block4:
58.o
17
=res_block4(concat(o1,o
16
))(19);
59.步骤2.21,将输出特征o
17
经过卷积核大小1x1和步长为1的卷积层:
60.o
18
=conv(o
17
)(20)。
61.步骤3中,对肺炎ct图像病灶分割网络模型训练时,采用的损失函数为:
62.卷积神经网络模型的损失函数公式为:
[0063][0064]
步骤3中,对肺炎ct图像病灶分割网络模型训练时,采用bce损失来提升模型训练的稳定性,如下公式(22)所示:
[0065][0066]
本发明的有益效果是,本发明改进了res-unet网络结构,在卷积神经网络模型中添加了门控轴向注意力模块,使网络获得更加精细的特征,获得更加丰富的细节,并且实施
起来比较简单,具有得到较好的病灶分割结果。
附图说明
[0067]
图1为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法的流程示意图;
[0068]
图2为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法基于残差块的跳跃连接结构图;
[0069]
图3为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法残差门控轴向注意力模块rgaa_block的示意图;
[0070]
图4为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法门控轴向注意力沿宽度的模块示意图;
[0071]
图5为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法基于门控轴向注意力的编解码网络的示意图;
[0072]
图6(a)~(c)为本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法的分割结果对比图。
具体实施方式
[0073]
下面将结合本发明实例中的附图,对本发明的技术方案进行完整和系统地描述。
[0074]
本发明基于门控轴向注意力的新冠肺炎ct病灶分割方法,如图1所示,具体按照以下步骤实施:
[0075]
步骤1:对输入的ct图像进行预处理,包括切片、归一化、数据增强;处理完之后再分为训练集:测试集=20:1
[0076]
步骤1具体按照以下实施;
[0077]
步骤1.1,对以nii格式存储的肺部ct数据集中的数据进行格式转换,因为本发明是处理二维图像的,因此首先将三维的ct图像沿着z轴方向进行切片,分解为二维png图像格式。
[0078]
步骤1.2,为了减少由不同的ct扫描仪引起的差异,对所有的肺部ct图像进行标准化,采用线性归一化方法:
[0079]
l
norm
=(l-l
min
)/(l
max-l
min
)(1);
[0080]
其中l是训练的ct图像;l
norm
是归一化的图像;l
min
是图像的最小强度值;l
max
是图像的最大强度值。同时采用直方图均衡化来增强对比度,增加病灶部分与病灶部分之间的色差。
[0081]
步骤1.3,进行数据增强。由于各个ct图像大小不一,所以将所有归一化处理后的png图像统一裁剪成256*256大小,在统一尺寸的前提下更大可能的缩小了正负样本的比例。之后对所有的裁剪后的图像进行了适当的翻转和镜像操作,将数据集图像增长两倍左右,用于增强数据集。
[0082]
步骤1.4,将步骤1.3处理后的数据集划分为训练集合测试集,训练集和测试集的比例为20:1。
[0083]
步骤2:构建基于门控轴向注意力编解码网络的新冠肺炎ct图像病灶分割网络模型具体按照以下步骤实施:
[0084]
步骤2.1,将卷积操作、实例归一化和激活函数relu组合为一个卷积层
[0085]
f=relu(batchnormalization(conv(x))(2);
[0086]
步骤2.2,构建需要的残差门控轴向注意力模块rgaa_block,在实验代码的编写中把rgaa_block模块封装到函数里,这样在后面网络编写的时候需要这个模块就直接调用这个函数。由图3所示,rgaa_block包含了一个跳跃连接和两个残差门控轴向注意力模块,将res-block中的3*3卷积替换为两个多头轴向注意模块,一个用于高度轴,一个用于宽度轴,在每一个多头注意力层之后都有连接concat,两个1*1卷积被保留下来用于打乱特征表示,可选的,所示残差块的公式:
[0087]
x
l+1
=x
l
+f(x
l
+w
l
)(3);
[0088]
其中,x
l+1
为第l+1层卷积层的卷积结果,x
l
为第l层卷积层的卷积结果,w
l
为第l层卷积层的权重,f(x
l
+w
l
)为残差部分。
[0089]
经过跳跃连接模块函数输出时大小保持一样,并对特征进行了提取和聚合。
[0090]
步骤2.3,构建门控轴向注意力模块,以沿着宽度轴为例,如图4所示,所述门控轴向注意力机制模块添加对位置敏感的相对位置编码和门控机制控制对学习相对位置编码对非局部上下文编码的影响。具体公式为:
[0091][0092]
其中,q=wqx,k=wkx,v=wvx是对初始输入x做三种不同的线性投影,在这里q,k,v表示任意位置上的查询、键和值。得到的投影矩阵wq,wk,是可以学习的,是键的相对位置编码,是值的相对位置编码,是查询的相对位置编码,gq,gk,g
v1
,g
v2
为可学习的参数。
[0093]
步骤2.4,从步骤1.3处理后数据集中任选一幅图像x经过一个卷积核大小为7x7和步长为1的卷积层,得到输出特征o1:
[0094]
o1=f1(x)(5);
[0095]
步骤2.5,将o1经过一个卷积核大小为3x3和步长为2通道大小为64的卷积层下采样处理:
[0096]
o2=downsample1(o1)(6);
[0097]
步骤2.6,将输出特征o2经过一次rgaa_block1模块组成的卷积层中:
[0098]
o3=rgaa_block1(o2)(7);
[0099]
步骤2.7,将输出特征o3使用卷积核大小3x3和步长为2通道为64的卷积层进行下采样处理:
[0100]
o4=downsample2(o3)(8);
[0101]
步骤2.8,将输出特征o4经过两次rgaa_block2模块组成的卷积层中:
[0102]
o5=rgaa_block2(o4)(9);
[0103]
步骤2.9:将输出特征o5使用卷积核大小3x3和步长为2的卷积层进行下采样处理:
[0104]
o6=downsample3(o5)(10);
[0105]
步骤2.10,将输出特征o6经过四次rgaa_block3模块组成的卷积层中:
[0106]
o7=rgaa_block3(o6)(11);
[0107]
步骤2.11,将输出特征o7使用卷积核大小3x3和步长为2的卷积层进行下采样处理:
[0108]
o8=downsample4(o7)(12);
[0109]
步骤2.12,将输出特征o8经过一次rgaa_block4模块组成的卷积层中:
[0110]
o9=rgaa_block4(o8)(13);
[0111]
步骤2.13,将输出特征o9使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
[0112]o10
=upsample1(o9)(14);
[0113]
步骤2.14,将输出特征o
10
与跳跃连接o7进行通道连接,并经过一个残差块res_block1:
[0114]o11
=res_block1(concat(o7,o
10
))(15);
[0115]
步骤2.15,将输出特征o
11
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
[0116]o12
=upsample2(o
11
)(16);
[0117]
步骤2.16,将输出特征o
12
与跳跃连接o5进行通道连接,并经过一个残差块res_block2:
[0118]o13
=res_block2(concat(o5,o
12
))(17);
[0119]
步骤2.17,将输出特征o
13
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
[0120]o14
=upsample3(o
13
)(18);
[0121]
步骤2.18,将输出特征o
14
与跳跃连接o3进行通道连接,并经过一个残差块res_block3:
[0122]o15
=res_block3(concat(o3,o
14
))(19);
[0123]
步骤2.19,将输出特征o
15
使用卷积核大小3x3和步长为2的转置卷积层进行上采样处理:
[0124]o16
=upsample4(o
15
)(20);
[0125]
步骤2.20,将输出特征o
16
与跳跃连接o1进行通道连接,并经过一个残差块res_block4:
[0126]o17
=res_block4(concat(o1,o
16
))(21);
[0127]
步骤2.21,将输出特征o
17
经过卷积核大小1x1和步长为1的卷积层:
[0128]o18
=conv(o
17
)(22);
[0129]
步骤2.4~步骤2.21的示意图如图5所示。
[0130]
步骤3,采用预处理好的新冠肺炎分割训练数据集对卷积神经网络模型进行训练,得到训练好的新冠肺炎ct图像病灶分割网络模型。卷积神经网络模型的损失函数公式为:
[0131]
dice损失:dice损失来自dice系数,是一种用于评估两个样本的相似性的度量函数,取值范围在[0,1],取值越大越相似。使用dice损失可以解决正负样本不均衡的问题。
[0132]
[0133]
公式(23)中的|x∩y|是x和y之间的交集,|x|和|y|分别表示x和y的元素的个数,其中,分子的系数为2,是因为分母存在重复计算x和y之间的共同元素的原因。
[0134]
bce损失:由于在使用dice损失时,一般正样本为小目标时会产生严重的震荡,在只有前景和背景的情况下,小目标一旦有部分像素预测错误,就会导致loss值大幅度变动,导致梯度剧烈变化。因此,我们使用bce损失来提升模型训练的稳定性。
[0135][0136]
公式(24)中y表示标注的像素,表示输出的预测标签。
[0137]
利用上述损失函数对训练网络得到的结果进行约束,然后反向转播进行参数更新,通过100次的训练,这里的1次指的是把预处理好的图像训练一遍,最后得到训练好的新冠肺炎病灶分割网络模型。
[0138]
步骤4:将测试集图像放入训练好的模型中,最终输出病灶结果,对比结果如图6所示。图6(a)是经过数据预处理后待分割的ct原图,图6(b)是经过网络输出得到的病灶分割结果,图6(c)是医生标注的病灶图。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1