3DV-Net脑胶质瘤分割BraTs + Pytorch实现

一、网络模型

论文地址:https://arxiv.org/abs/1606.04797

 

3DV-Net脑胶质瘤分割BraTs + Pytorch实现_第1张图片

二、预处理

玖零猴:(3D网络)医学三维数据且又多模态多标签该如何预处理

三、环境配置

1、系统环境 WIN10 + CUDA 92 + CUDNN7 + ANACONDA

2、ANACONDA指令快速配置环境,先下载下面文件

https:// download.csdn.net/downl oad/weixin_40519315/12394604

 

3DV-Net脑胶质瘤分割BraTs + Pytorch实现_第2张图片

四、V-Net核心代码

        class VNet(nn.Module):
    # the number of convolutions in each layer corresponds
    # to what is in the actual prototxt, not the intent
    def __init__(self, argx):
        super(VNet, self).__init__()
        elu = True
        nll = False
        self.in_tr = InputTransition(16, elu)
        self.down_tr32 = DownTransition(16, 1, elu)
        self.down_tr64 = DownTransition(32, 2, elu)
        self.down_tr128 = DownTransition(64, 3, elu, dropout=True)
        self.down_tr256 = DownTransition(128, 2, elu, dropout=True)

        self.up_tr256 = UpTransition(256, 256, 2, elu, dropout=True)
        self.up_tr128 = UpTransition(256, 128, 2, elu, dropout=True)
        self.up_tr64 = UpTransition(128, 64, 1, elu)
        self.up_tr32 = UpTransition(64, 32, 1, elu)
        self.out_tr = OutputTransition(32, elu, nll)


    def forward(self, x):
        out16 = self.in_tr(x)
        out32 = self.down_tr32(out16)
        out64 = self.down_tr64(out32)
        out128 = self.down_tr128(out64)
        out256 = self.down_tr256(out128)
        out = self.up_tr256(out256, out128)
        out = self.up_tr128(out, out64)
        out = self.up_tr64(out, out32)
        out = self.up_tr32(out, out16)
        out = self.out_tr(out)
        return out
      

完整代码私聊博主——玖零猴(QQ:704783475、博主想恰杯奶茶)

五、训练

        python train.py --arch=“VNet” --dataset=“Jiu0Monkey”
      

六、测试

        python test.py --name="jiu0Monkey_VNet_woDS"
      

七、与3D U-Net对比

 

3DV-Net脑胶质瘤分割BraTs + Pytorch实现_第3张图片

 

你可能感兴趣的:(3DV-Net脑胶质瘤分割BraTs + Pytorch实现)