UNet讲解
20231103
1.UNet的提出是为了解决什么问题?
一般认为使用带注释的训练样本越多训练出来的深度神经网络越好,但是在UNet所应用的医学领域中并没有那么多的数据供应给模型训练。UNet想使用在医学图像的分割上,在UNet提出的2015年,CNN在图片分类上!取得了很好的成果,但是分割任务是需要为每个像素都分配类标签,而不是为整张图分类。
2.UNet针对这个问题的解决方案
UNet模型是在 全卷积网络(FCN) 上进行修改得来的。下面先简要说明一下FCN。
全卷积网络(FCN)
全卷积网络是深度学习用于语义分割领域的开山之作,其由两个部分组成,全卷积部分和反卷积部分。
全卷积部分由一些经典的CNN网络组成,用于提取图片信息,他去掉了传统CNN后面的全连接层和全局平均池化层,这样网络的输出将不再是类别而是热力图。
反卷积部分通过上采样得到原尺寸的语义分割图像。
上图是UNet的网络结构。
3.网络结构解析
首先观察UNet的输入和输出:
UNet的输入是一张
的图片,输出是一张 的图片。
根据图示,原始图片输入后经过了一个蓝色箭头的卷积层,使用的激活函数为ReLu。
对卷积网络熟悉的话很快能算出一张图片输入卷积层后得到的输出大小:分析卷积层要关注它的:
其中,由卷积核的数量决定。
一张通道数为1,尺寸为
灰色箭头为复制和裁剪,最上层的箭头:一张
红色箭头为
绿色箭头为上采样操作,一般使用转置卷积(注:转置卷积只是将矩阵形状进行了还原,输出的矩阵数值和原来的不一样。)
蓝绿色箭头为一个
这里写下反卷积的公式:$$Hout = (Hin-1)stride-2Padding + kernel_{size}$$
当时,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战