深度u

更新时间:2023-03-09 20:25:06 阅读: 评论:0

对心理健康的理解-为人称道

深度u
2023年3月9日发(作者:重庆周边一日游)

【深度学习】【U-net】医学图像(⾎管)分割实验记录

医学图像分割实验记录

本项⽬仅⽤于⼤创实验,使⽤pytorch编程,参考价值有限

U-net介绍

这⾥先⾏挖个坑,以后专门写⼀篇⾃⼰总结的资源吧。

数据集

使⽤hx医院提供的脑CT图像,原图像为医学图像数据(数据范围较⼤)。使⽤软件⾃⾏标注后得到的标记数据做标签。

切⽚显⽰⼤致长这样:

TODO:由于本⼈认为⾎管分割要参考每张图⽚上下⼏张空间序列上相邻切⽚的数据,因此想着直接把这些’相邻数据’作为每张图像的其

他‘channel’。且令总的channel为奇数。输⼊数据维度可能为,意味着,,

实验记录

实验1

Epoch:15traindata:800testdata:200LearningRate:0.05ImgSize:(128,128)BatchSize:1Channel:5

模型结构:

ITK−SNAP

eg.(1,5,128,128)batchsize=1channel=5

imagesize=(128,128)

Unet(

(conv1):DoubleConv(

(conv):Sequential(

(0):Conv2d(5,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(64,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool1):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(conv2):DoubleConv(

(conv):Sequential(

(0):Conv2d(64,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(128,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool2):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(conv3):DoubleConv(

(conv):Sequential(

(0):Conv2d(128,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(256,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool3):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(up8):ConvTranspo2d(256,128,kernel_size=(2,2),stride=(2,2))

(conv8):DoubleConv(

(conv):Sequential(

(0):Conv2d(256,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(128,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(up9):ConvTranspo2d(128,64,kernel_size=(2,2),stride=(2,2))

(conv9):DoubleConv(

(conv):Sequential(

(0):Conv2d(128,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(64,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(conv10):Conv2d(64,1,kernel_size=(1,1),stride=(1,1))

)

实验结果:忘记了orz

实验参数保存为net040801_

实验2(fail)

相⽐于实验1只改变了imagesize。

Epoch:15traindata:800testdata:200LearningRate:0.05ImgSize:(256,256)BatchSize:1Channel:5

模型结构同实验1

loss:0.693154

误差维持不变,模型没有收敛。

实验3(fail)

相⽐于实验2改变了learningrate,从0.05变为0.005。

Epoch:15traindata:800testdata:200LearningRate:0.005ImgSize:(256,256)BatchSize:1Channel:5

模型结构同实验1

训练集误差变化曲线测试集误差变化曲线

实验4(fail)

相⽐于实验3改变了imagesize,从(256,256)改回(128,128)。

Epoch:15traindata:800testdata:200LearningRate:0.005ImgSize:(128,128)BatchSize:1Channel:5

模型结构同实验1

训练集误差变化曲线测试集误差变化曲线

最后误差维持在

loss:0.693146

实验5(fail)

相⽐于实验4改变了learningrate,从0.005改为0.0005。

Epoch:20+traindata:800testdata:200LearningRate:0.0005ImgSize:(128,128)BatchSize:1Channel:5

模型结构同实验1

训练集误差变化曲线测试集误差变化曲线

最后误差维持在

loss:0.693146

好吧这个数和实验4⼀样

实验6(fail)

相⽐于实验5改变了⽹络结构加了⼀层深度。

Epoch:20+traindata:800testdata:200LearningRate:0.0005ImgSize:(128,128)BatchSize:1Channel:5

模型结构为

Unet(

(conv1):DoubleConv(

(conv):Sequential(

(0):Conv2d(5,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(64,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

(5):ReLU(inplace=True)

)

)

(pool1):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(conv2):DoubleConv(

(conv):Sequential(

(0):Conv2d(64,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(128,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool2):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(conv3):DoubleConv(

(conv):Sequential(

(0):Conv2d(128,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(256,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool3):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(conv4):DoubleConv(

(conv):Sequential(

(0):Conv2d(256,512,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(512,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(512,512,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(512,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(pool4):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mode=Fal)

(up7):ConvTranspo2d(512,256,kernel_size=(2,2),stride=(2,2))

(conv7):DoubleConv(

(conv):Sequential(

(0):Conv2d(512,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(256,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(256,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(up8):ConvTranspo2d(256,128,kernel_size=(2,2),stride=(2,2))

(conv8):DoubleConv(

(conv):Sequential(

(0):Conv2d(256,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(128,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(128,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(up9):ConvTranspo2d(128,64,kernel_size=(2,2),stride=(2,2))

(conv9):DoubleConv(

(conv):Sequential(

(0):Conv2d(128,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(1):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(2):ReLU(inplace=True)

(3):Conv2d(64,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))

(4):BatchNorm2d(64,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)

(5):ReLU(inplace=True)

)

)

(conv10):Conv2d(64,1,kernel_size=(1,1),stride=(1,1))

)

训练集误差变化曲线测试集误差变化曲线

最后误差维持在

loss:0.693156

本文发布于:2023-03-09 20:25:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678364706197083.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:深度u.doc

本文 PDF 下载地址:深度u.pdf

上一篇:怎么做链接
下一篇:返回列表
标签:深度u
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
  • 深度u
    对心理健康的理解-为人称道2023年3月9日发(作者:重庆周边一日游)【深度学习】【U-net】医学图像(⾎管)分割实验记录医学图像分割实验记录本项⽬仅⽤于⼤创实验,使⽤pytorch编程,参考价值有限U-net介绍这⾥先⾏挖个坑,以后专门写⼀篇⾃⼰总结的资源吧。数据集使⽤hx医院提供的脑CT图像,原图像为医学图像数据(数据范围较⼤)。使⽤软件⾃⾏标注后得到的标记数据做标签。切⽚显⽰⼤致长这样:T
  • 0℃怎么做链接
  • 0℃设备经理
  • 0℃采购原则
  • 0℃实践课
  • 0℃苹果备份在哪里
  • 0℃篮球活动
  • 0℃镜头的分类
  • 0℃怎么安装软件
  • 0℃左侧疼
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图