COVID-19-20——基于VNet3D分割网络在测试数据上分割结果

2022-08-20 11:17:15 浏览数 (1)

今天将分享COVID的二值分割在测试数据上的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、图像分析与预处理

(1)、199例COVID的CT原始数据和标注数据及训练标签文件可以在官网上下载获取得到。验证数据一共有50例CT数据,也可以在官网上下载了。测试数据一共有46例CT数据,有些是与训练和验证数据是同分布的,有一部分是不同分布的。只有注册了参赛选手才有私人下载链接。

(2)、采用简单粗暴的方式来处理数据,由于训练的显卡是1080ti的11G显存的,所以首先将训练原始图像和标注图像进行图像大小缩放到固定大小,具体是160x160x64,如果你的显卡显存足够大的话,可以将该大小改的大一点,如果显存小的话,可以将该大小改小一点。

(3)、对缩放后的原始图像进行窗宽窗位设置,将-1000到0之间的Hu值进行保留,其他的范围进行截断处理。

(4)、然后在采用均值为0,方差为1的方式对原始图像进行归一化处理。

(5)、为了防止模型过拟合,还增加了数据增强的处理过程,采用旋转,平移,翻转等方法对图像和标注数据同时进行扩充处理,这里扩充了20倍。

二、分割网络

(1)、搭建VNet3d模型,网络输入大小是(160,160,64)。具体实现可以参考Tensorflow入门教程(十九)——基于VNet的前列腺分割案例。

(2)、loss采用的是二分类的dice函数和focalloss函数。具体实现可以参考Tensorflow入门教程(三十四)——常用两类图像分割损失函数。

(3)、分割损失结果和精度经过如下图所示。

三、测试数据结果

测试过程:输入图像统一缩放到(160,160,64),设置窗宽窗位(-1000,0),输入到网络中预测,最后将结果缩放到原始图像大小。由于官网是12月11号是测试结果提交截止日期,没赶上,只贴出部分图像分割效果。

为了方便大家更高效地学习,相关项目代码更新到github上,点击原文链接即可访问。

如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。

0 人点赞