U-Net网络(一 输入)

引言

小编初学U-Net网络。先一步步给出一些理解,后续内容再更新。

U-Net网络结构

我们先来看一下u-Net的网络结构:
在这里插入图片描述
网络是一个经典的全卷积网络(即网络中没有全连接操作)。网络的输入是一张 572 * 572 的边缘经过镜像操作的图片(input image tile),关于“镜像操作“会在后面进行详细分析,网络的左侧(红色虚线)是由卷积和Max Pooling构成的一系列降采样操作,论文中将这一部分叫做压缩路径(contracting path)。压缩路径由4个block组成,每个block使用了3个有效卷积和1个Max Pooling降采样,每次降采样之后Feature Map的个数乘2,因此有了图中所示的Feature Map尺寸变化。最终得到了尺寸为 32 * 32 的Feature Map。

网络的右侧部分(绿色虚线)在论文中叫做扩展路径(expansive path)。同样由4个block组成,每个block开始之前通过反卷积将Feature Map的尺寸乘2,同时将其个数减半(最后一层略有不同),然后和左侧对称的压缩路径的Feature Map合并,由于左侧压缩路径和右侧扩展路径的Feature Map的尺寸不一样,U-Net是通过将压缩路径的Feature Map裁剪到和扩展路径相同尺寸的Feature Map进行归一化的(即图1中左侧虚线部分)。扩展路径的卷积操作依旧使用的是有效卷积操作,最终得到的Feature Map的尺寸是 388 * 388 。由于该任务是一个二分类任务,所以网络有两个输出Feature Map。
在这里插入图片描述

U-Net的输入

首先,数据集我们的原始图像的尺寸都是 512 * 512 的。为了能更好的处理图像的边界像素,U-Net使用了镜像操作(Overlay-tile Strategy)来解决该问题。镜像操作即是给输入图像加入一个对称的边(图2),那么边的宽度是多少呢?一个比较好的策略是通过感受野确定。因为有效卷积是会降低Feature Map分辨率的,但是我们希望 512 * 512 的图像的边界点能够保留到最后一层Feature Map。所以我们需要通过加边的操作增加图像的分辨率,增加的尺寸即是感受野的大小,也就是说每条边界增加感受野的一半作为镜像边。

图二

在这里插入图片描述
在这里插入图片描述
要计算感受野的大小,就不得不需要知道卷积层和池化层的相关输出图像大小。
详情请参考这一篇参考博客:
https://blog.csdn.net/ddy_sweety/article/details/79798117

关于如何计算多层卷积、池化网络每一层的感受野(Receptive Field),可参考下篇参考博客:
https://blog.csdn.net/qq_36825778/article/details/102475650

根据图1中所示的压缩路径的网络架构,我们可以计算其感受野:

  因为网络的结构中用到的只有3 * 3的卷积核和2 * 2的最大池化层。最大池化层会造成图像长宽的减半,所以计算感受野的时候需要乘以2.

即:
[公式]
这也就是为什么U-Net的输入数据是 572 * 572 的。572的卷积的另外一个好处是每次降采样操作的Feature Map的尺寸都是偶数,这个值也是和网络结构密切相关的。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值