今天将分享COVID的二值分割的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、图像分析与预处理
(1)、199例COVID的CT原始数据和标注数据及训练标签文件可以在官网上下载获取得到。验证数据一共有50例CT数据,也可以在官网上下载了。
(2)、采用简单粗暴的方式来处理数据,由于训练的显卡是1080ti的11G显存的,所以首先将训练原始图像和标注图像进行图像大小缩放到固定大小,具体是160x160x64,如果你的显卡显存足够大的话,可以将该大小改的大一点,如果显存小的话,可以将该大小改小一点。
(3)、对缩放后的原始图像进行窗宽窗位设置,将-1000到0之间的Hu值进行保留,其他的范围进行截断处理。
(4)、然后在采用均值为0,方差为1的方式对原始图像进行归一化处理。
(5)、为了防止模型过拟合,还增加了数据增强的处理过程,采用旋转,平移,翻转等方法对图像和标注数据同时进行扩充处理,这里扩充了20倍。
二、分割网络
(1)、搭建VNet3d模型,网络输入大小是(160,160,64)。具体实现可以参考Tensorflow入门教程(十九)——基于VNet的前列腺分割案例。
(2)、loss采用的是二分类的dice函数。具体实现可以参考Tensorflow入门教程(三十四)——常用两类图像分割损失函数。
(3)、分割损失结果和精度经过如下图所示。
三、验证数据结果
在50例数据上进行测试,验证数据结果排名在81名,结果看上去并没有那么糟糕。
在提交结果上可以看到详细评价指标数值,以dice指标为例,好的结果dice值可以到达0.8以上,差的结果dice值只有0。
四、改进的方向
1、考虑到有限的计算资源,可以首先将肺组织区域分割提取出来,然后针对肺部组织进行肺部病变分割提取,提高分割精度
2、考虑将Vnet2d和Vnet3d分割网络进行结合分割,提高分割精度。
3、数据预处理部分,采用合适的策略,例如窗宽窗位的设置,图像大小的设置等。