基于深度GRU循环水平集的CT图像分割方法技术

技术编号:39187554 阅读:11 留言:0更新日期:2023-10-27 08:35
一种基于深度GRU循环水平集的CT图像分割方法,涉及医学图像分割技术领域,在CT图像的分割网络中,添加了一种上下文循环水平集,其优点是在分割CT图像时,更加的稳健和高效。并且将其融入到深度学习框架中,可以更好的发挥其结合图像上下文信息的优点。融合进网络分割模型中,进一步的提高医学图像的分割精确度。进一步的提高医学图像的分割精确度。

【技术实现步骤摘要】
基于深度GRU循环水平集的CT图像分割方法


[0001]本专利技术涉及医学图像分割
,具体涉及一种基于深度GRU循环水平集的CT图像分割方法。

技术介绍

[0002]近年来越来越多的医学图像方法使用基于深度学习的技术来提高医学图像分割的准确率。因为卷积神经网络(CNN)在提取图像特征时,使用了卷积的方法,使用这种方法的缺点是其提取特征时,只能提取感受野之内的特征,并且容易因为卷积操作,分割图像时容易丢失图像细节。但这种方法也只是计算时计算了全局特征,没有结合分割时,分割对象的几何特征和不对称性。所以结合图像的几何信息来进行医学图像分割是当前的热点问题。

技术实现思路

[0003]本专利技术为了克服以上技术的不足,提供了一种提高2D医学图像分割准确性的方法。
[0004]本专利技术克服其技术问题所采用的技术方案是:
[0005]一种基于深度GRU循环水平集的CT图像分割方法,包括如下步骤:
[0006]a)获取CT图像数据image
i
,CT图像数据image
i
中含有m个切片{sliceImage1,sliceImage2,...,sliceImage
i
,...,sliceImage
m
},sliceImage
i
为第i个切片,i∈{1,2,...,m};
[0007]b)对第i个切片sliceImage
i
进行预处理,得到预处理后的第i个切片sliceImage
i


[0008]c)获取CT图像数据image
i
对应的分割轮廓数据label
i

[0009]d)建立分割网络,将第i个切片sliceImage
i
输入到分割网络中,输出得到分割图像output_right1。
[0010]进一步的,步骤a)包括如下步骤:
[0011]a

1)使用python中glob模块读取CT图像数据集文件夹,得到n个CT图像数据对应的nii文件路径{imagePath1,imagePath2,...,imagePath
i
,...,imagePath
n
},imagePath
i
为第i个CT图像数据对应的nii文件路径,i∈{1,2,...,n};
[0012]a

2)使用SimpleITK模块中的ReadImage读取第i个CT图像数据对应的nii文件路径imagePath
i
对应的nii格式的CT图像,将该CT图像保存到中间变量imageData
i
中;
[0013]a

3)使用SimpleITK模块中的GetArrayFormImage读取中间变量imageData
i
中CT图像,将该CT图像命名为image
i

[0014]步骤b)包括如下步骤:步骤b)中根据人体腹部CT值的范围为

160

240Hu选择第i个切片sliceImage
i
的像素值范围,将所述像素值范围对应的切片图像进行归一化处理,得到预处理后的第i个切片sliceImage
i


[0015]进一步的,步骤c)包括如下步骤:
[0016]c

1)使用python中glob模块读取CT图像数据集文件夹中n个CT图像数据对应的分割轮廓Ground Truth的nii文件路径{labelPatch1,labelPatch2,...,labelPatch
i
,...,labelPatch
n
},labelPatch
i
为第i个CT图像数据对应分割轮廓Ground Truth的nii文件路径,i∈{1,2,...,n};
[0017]c

2)使用SimpleITK模块中的ReadImage读取第i个CT图像数据对应分割轮廓Ground Truth的nii文件路径labelPatch
i
对应的nii格式的分割轮廓将该分割轮廓保存到中间变量labelData
i
中;
[0018]c

3)使用SimpleITK模块中的GetArrayFormImage读取中间变量labelData
i
中分割轮廓将该分割轮廓命名为label
i

[0019]进一步的,步骤d)包括如下步骤:
[0020]d

1)分割网络由第一编码器、第二编码器、第三编码器、第四编码器、瓶颈层、第四解码器、第三解码器、第二解码器、第一解码器构成;
[0021]d

2)将第i个切片sliceImage
i
输入到分割网络的第一编码器中,第i个切片sliceImage
i
的大小为1*H*W,1为第i个切片sliceImage
i
的通道数,H为第i个切片sliceImage
i
的高,W为第i个切片sliceImage
i
的宽,通过公式计算得到初始水平集φ
10
,式中S为分割轮廓在第i个切片sliceImage
i
中的CT图像区域,x为第i个切片sliceImage
i
中的一像素点,为第i个切片sliceImage
i
中不属于CT图像区域S的像素点x到分割轮廓的欧式距离,为第i个切片sliceImage
i
中属于CT图像区域S的像素点x到分割轮廓的欧式距离,通过公式计算循环水平集,i为大于等于1且小于等于5的正整数,最终得到水平集式中为更新门,σ(
·
)为sigmoid函数,W
1z1
和W
1z2
均为隐藏层的加权矩阵,为更新门的偏移量,式中为曲率,W
1a1
和W
1a2
均为权重矩阵,重矩阵,为第i个切片sliceImage
i
中第t个像素点的像素值,t∈H*W,N为CT图像区域S内的像素点个数,为CT图像区域S内的第l个像素点的像素值,l∈{1,...,N},W
1h1
和W
1h2
均为隐藏层的加权矩阵,为隐藏层的偏移量,W
1r1
和W
1r2
均为隐藏层的加权矩阵,为偏移量,通过公式计算得到特征图o_left1,式中softmax(
·
)为softmax函数,V1为权重矩阵,b
v1
为偏移量,将特征图o_left1输入到Ba本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度GRU循环水平集的CT图像分割方法,其特征在于,包括如下步骤:a)获取CT图像数据image
i
,CT图像数据image
i
中含有m个切片{sliceImage1,sliceImage2,...,sliceImage
i
,...,sliceImage
m
},sliceImage
i
为第i个切片,i∈{1,2,...,m};b)对第i个切片sliceImage
i
进行预处理,得到预处理后的第i个切片sliceImage
i

;c)获取CT图像数据image
i
对应的分割轮廓数据label
i
;d)建立分割网络,将第i个切片sliceImage
i
输入到分割网络中,输出得到分割图像output_right1。2.根据权利要求1所述的基于深度GRU循环水平集的CT图像分割方法,其特征在于,步骤a)包括如下步骤:a

1)使用python中glob模块读取CT图像数据集文件夹,得到n个CT图像数据对应的nii文件路径{imagePath1,imagePath2,...,imagePath
i
,...,imagePath
n
},imagePath
i
为第i个CT图像数据对应的nii文件路径,i∈{1,2,...,n};a

2)使用SimpleITK模块中的ReadImage读取第i个CT图像数据对应的nii文件路径imagePath
i
对应的nii格式的CT图像,将该CT图像保存到中间变量imageData
i
中;a

3)使用SimpleITK模块中的GetArrayFormImage读取中间变量imageData
i
中CT图像,将该CT图像命名为image
i
。3.根据权利要求1所述的基于深度GRU循环水平集的CT图像分割方法,其特征在于,步骤b)包括如下步骤:步骤b)中根据人体腹部CT值的范围为

160

240Hu选择第i个切片sliceImage
i
的像素值范围,将所述像素值范围对应的切片图像进行归一化处理,得到预处理后的第i个切片sliceImage
i

。4.根据权利要求2所述的基于深度GRU循环水平集的CT图像分割方法,其特征在于,步骤c)包括如下步骤:c

1)使用python中glob模块读取CT图像数据集文件夹中n个CT图像数据对应的分割轮廓Ground Truth的nii文件路径{labelPatch1,labelPatch2,

,labelPatch
i
,

,labelPatch
n
},labelPatch
i
为第i个CT图像数据对应分割轮廓Ground Truth的nii文件路径,i∈{1,2,...,n};c

2)使用SimpleITK模块中的ReadImage读取第i个CT图像数据对应分割轮廓Ground Truth的nii文件路径labelPatch
i
对应的nii格式的分割轮廓将该分割轮廓保存到中间变量labelData
i
中;c

3)使用SimpleITK模块中的GetArrayFormImage读取中间变量labelData
i
中分割轮廓将该分割轮廓命名为label
i
。5.根据权利要求1所述的基于深度GRU循环水平集的CT图像分割方法,其特征在于,步骤d)包括如下步骤:d

1)分割网络由第一编码器、第二编码器、第三编码器、第四编码器、瓶颈层、第四解码器、第三解码器、第二解码器、第一解码器构成;d

2)将第i个切片sliceImage
i
输入到分割网络的第一编码器中,第i个切片sliceImage
i
的大小为1*H*W,1为第i个切片sliceImage
i
的通道数,H为第i个切片
sliceImage
i
的高,W为第i个切片sliceImage
i
的宽,通过公式计算得到初始水平集φ
10
,式中S为分割轮廓在第i个切片sliceImage
i
中的CT图像区域,x为第i个切片sliceImage
i
中的一像素点,为第i个切片sliceImage
i
中不属于CT图像区域S的像素点x到分割轮廓的欧式距离,为第i个切片sliceImage
i
中属于CT图像区域S的像素点x到分割轮廓的欧式距离,通过公式计算循环水平集,i为大于等于1且小于等于5的正整数,最终得到水平集式中为更新门,σ(
·
)为sigmoid函数,W
1z1
和W
1z2
均为隐藏层的加权矩阵,为更新门的偏移量,式中为曲率,W
1a1
和W
1a2
均为权重矩阵,为第i个切片sliceImage
i
中第t个像素点的像素值,t∈H*W,N为CT图像区域S内的像素点个数,为CT图像区域S内的第l个像素点的像素值,l∈{1,...,N},W
1h1
和W
1h2
均为隐藏层的加权矩阵,为隐藏层的偏移量,W
1r1
和W
1r2
均为隐藏层的加权矩阵,为偏移量,通过公式o_left1=softmax(V1φ
15
+b
v1
)计算得到特征图o_left1,式中softmax(
·
)为softmax函数,V1为权重矩阵,b
v1
为偏移量,将特征图o_left1输入到Batch Expanding层中,输出得到大小为16*H*W的特征图o_left1

,将特征图o_left1

输入到Patch Merging层中,得到大小为16*H/2*W/2的特征图output_left1;d

3)将特征图output_left1输入到分割网络的第二编码器中,通过公式计算循环水平集,i为大于等于1且小于等于5的正整数,最终得到水平集式中为更新门,为隐藏层的加权矩阵,为更新门的偏移量,
为隐藏层的加权矩阵,为隐藏层的偏移量,为隐藏层的加权矩阵,为偏移量,通过公式计算得到特征图o_left2,式中,V2为权重矩阵,b
v2
为偏移量,将特征图o_left2输入到Batch Expanding层中,输出得到大小为32*H/2*W/2的特征图o_left2

,将特征图o_left2

输入到Patch Merging层中,得到大小为32*H/4*W/4的特征图output_left2;d

4)将特征图output_left2输入到分割网络的第三编码器中,通过公式计算循环水平集,i为大于等于1且小于等于5的正整数,最终得到水平集式中为更新门,W
3z1
为隐藏层的加权矩阵,为更新门的偏移量,W
3h1
为隐藏层的加权矩阵,为隐藏层的偏移量,W
3r1
为隐藏层的加权矩阵,为偏移量,通过公式计算得到特征图o_left3,式中,V3为权重矩阵,b
v3
为偏移量,将特征图o_left...

【专利技术属性】
技术研发人员:陈达李安坤舒明雷刘丽王贤栋郭学丽
申请(专利权)人:山东省人工智能研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1