0


U-net网络详解

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

学习视频:U-Net网络结构讲解(语义分割)_哔哩哔哩_bilibili

整体结构

如下图,U-net结构为Encoder-Decoder,左边为Encoder部分,作用是下采样,右边为Decoder部分,作用为上采样

在图中每一个长条代表一个特征层,每一个箭头对应于一种操作

Encoder部分也即下采样部分

第一步

如下图,来看左边部分第一层,蓝色箭头代表卷积层,卷积核大小为33,padding = 0,步长为1,经过两层卷积层大小每经过一层减小2,高和宽变成了568568通道大小变成了64

之后经过红色箭头,表示最大池化层,大小缩小为一半为284*284

第二步

此时再进行2次卷积,将channel翻倍,如下图得到280280128的特征图

然后再经过一个最大池化层得到128*128

第三步

对上面280280的特征图继续进行卷积,得到136136*256,如下图

再经过最大池化层得到68*68的特征图

第四步

对6868256的特征图继续进行卷积操作得到6464512的特征图,如下

再经过最大池化层得到32*32的特征图

第五步

对3232512的特征层进行卷积得到28281024的特征层

Decoder部分也即上采样部分

至此下采样结束接下来是上采样,这里上采样使用的是转置卷积

第一步

图中绿色箭头代表上采样,每一次上采样会将高和宽扩大两倍,通道数减半,变成5656512,同时灰色箭头表示将左边对应部分的特征图进行中心裁剪出一块与右边一样大小,与右边进行拼接,得到56561024的特征图,然后经过33大小的卷积,将特征图通道数减半,同时会继续缩小高和宽为5252,最终经过这一步的decoder得到5252512大小的特征图

接下来进行转置卷积将特征图大小调整为104104256

第二步

此时与刚刚上采样的第一步类似,对左边部分进行中心裁剪拼接得到104104512,如图,再进行两层卷积操作得到100100256的特征图

接下来进行转置卷积将特征图大小调整为200200128

第三步

此时与刚刚上采样的第二步类似,对左边部分进行中心裁剪拼接得到200200256,如图,再进行两层卷积操作得到196196128的特征图

接下来继续上采样,使用转置卷积得到39239264大小的特征图

第四步

此时与刚刚上采样的第三步类似,对对应左边部分进行中心裁剪拼接得到392392128,如图,再进行两层卷积操作得到38838864的特征图,如图

最后进行一个11的卷积操作,原论文只有两个类别一个背景一个是要分割的物体,卷积核个数因此为2,最终得到的输出是388388*2的分割图

实际U-net网络

可以看到在原文中,输入和输出大小不一样

如图对于这个细胞分割,实际上要黄色部分的分割图要用到蓝色框区域的信息,但是在图像边缘往往是没有这些信息,这时图像边缘信息缺失了,这时需要镜像对应部分补全缺失信息,才能进行分割。而且对于大分辨率的图像分割时,往往分割时要有overlap部分,如下图。

然而,事实上,当今主流U-net网络在卷积的时候会有padding,来保证输入特征图大小与输出特征图大小一样,这样就不需要考虑边缘缺失问题了。


本文转载自: https://blog.csdn.net/SL1029_/article/details/128604958
版权归原作者 SL1029_ 所有, 如有侵权,请联系我们删除。

“U-net网络详解”的评论:

还没有评论