zl程序教程

您现在的位置是:首页 > 

当前栏目

Kaggle——超声八大组织分割完整实现

实现 完整 分割 组织 八大 Kaggle 超声
2023-06-13 09:11:17 时间

今天将分享超声图像八大组织多类分割的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、超声图像分析与预处理

(1)、633张超声原始数据和标注数据可以在官网上下载获取到。测试数据一共有293张数据和标注数据,也可以在官网上下载了。标注的八大组织标签:紫色=肝,黄色=肾,蓝色=胰腺,红色=血管,浅蓝色=肾上腺,绿色=胆囊,白色=骨头,粉红色=脾脏。

(2)、由于原始数据大小不一样,这里对图像做统一大小设置,都设置成448x448的大小。

(3)、标注图像是彩色的图像,为了方便训练,按照数字排序给予每个颜色对应标签,0是背景,1是肝,2是肾,3是胰腺,4是血管,5是肾上腺,6是胆囊,7是骨头,8是脾脏。

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

(5)、原始图像和金标准Mask图像的预处理还需要做归一化操作,统一都归一化到(0,1)。

二、分割网络

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

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

三、测试数据结果

输入图像统一缩放到(448,448),归一化到0-1,输入到网络中预测,再将结果缩放到原始图像大小,最后将灰度Mask结果转换成彩色Mask结果。如下图所示是部分分割效果图,左图是原始超声图像,中间图像是金标准Mask图像,右边是预测Mask图像。

为了方便大家更高效地学习,后期会将相关项目代码更新到github上,点击原文链接即可访问官方比赛网址,可以直接下载训练和测试数据。

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