Skip to content

U-net、VGGU-net、U-net++ for cardiac-segmentation using Sunnybrook_Cardiac_Data

Notifications You must be signed in to change notification settings

Meow-2/Cardiac-Segmentation-with-U-net

Repository files navigation

Cardiac-Segmentation-with-U-net

U-net、VGGU-net、U-net++ for cardiac-segmentation using Sunnybrook_Cardiac_Data;

这个项目是我今年早些完成的心脏分割任务,一直没有时间整理,索性直接整个放上来了,包括所有的数据和代码,虽然项目很菜,但可以帮助后人节省一些时间。

数据集使用的是 sunnybrook cardiac 数据集,该数据集的部分曾用于2009年心脏分割挑战赛。

我在做这个项目的时候,数据集的官方网站已经不提供当年分割挑战赛的版本了,而原始数据集的结构、命名方式和对应关系较为复杂,难以直接训练,所以我对其进行了清洗和调整,调整后的数据集也一并放上来了。

以下是文件目录树


|-- sunnybrook unet
    |-- draw_bar.py     //画出分割用时条形图
    |-- draw_loss.py    //画出loss曲线
    |-- get_dice.py     //用于计算dice系数
    |-- LICENSE
    |-- lossfiction.py  //损失函数
    |-- predict.py      //使用模型进行分割
    |-- README.md
    |-- training.py     //训练U-net
    |-- training_vgg.py //训练VGGU-net,需自行下载vgg16_bn.pth预训练模型,或者不使用其预训练模型
    |-- dataset         //划分好的数据集
    |-- models          //网络模型
    |-- utils           //数据集工具
    |-- result*         //result开头的文件夹存放的是对应模型的分割结果、训练过程和评估
                        //其中末尾的i和o分别对应内膜分割模型和外膜分割模型

详情

  • 本仓库使用Sunnybrook Cardiac MRI数据集进行实验,对数据集进行了可视化,并依据数据集提供的左心室内外膜坐标文本文件,提取和制作了相应了标签图像。同时,为了增大数据量,增强数据多样性,对数据集进行了拉伸、缩放、翻转、明暗变换等增强。

  • 搭建了U-net、VGGU-net、U-net++等神经网络模型。关于U-net,相较于原版的U-net,本仓库的U-net加入了批量归一化层来加快训练速度,降低协方差偏移对网络学习造成的影响。网络中的上采样模块基于双线性插值的方法实现,避免了使用转置卷积方法时会产生的棋盘格现象。关于VGGU-net,基于迁移学习的思想,使用了VGG16_BN网络作为U-net的主干特征提取网络,并引入预训练权重,降低学习过程对数据量的需求,加快训练速率。关于U-net++,保持原版的结构,在是具体实现方法上和本仓库的U-net一致(比如,上采样都是双线性插值)

  • 使用Sunnybrook Cardiac MRI数据集分别对U-net、VGGU-net、U-net++等神经网络模型进行训练,在验证集和测试集上对比分析模型的分割效果,其中VGGU-net采用了冻结、解冻训练的策略。最终在左心室内膜分割任务的验证集上U-net、VGGU-net、U-net++分别取得了0.8926、0.8926、0.8907的Dice系数,在测试集分别取得了0.8917、0.8894、0.8930的Dice系数;在左心室外膜分割任务的验证集上U-net、VGGU-net、U-net++分别取得了的0.8917、0.8894、0.8930的Dice系数,在测试集分别取得了0.9116、0.9063、0.9221的Dice系数。从Dice系数上看,分割效果由好到坏依次为U-net++、U-net、VGGU-net。从个别难分割的图像分割结果上看,U-net的瑕疵最多,VGGU-net次之,U-net++最少,但都存在有各自的缺点。

About

U-net、VGGU-net、U-net++ for cardiac-segmentation using Sunnybrook_Cardiac_Data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages