白话详细解读(五)-----U-Net

一、前言

FCN是语义分割模型的先驱,而U-Net作为FCN的衍生物,在很多方面都与FCN有着异曲同工之处(有关FCN的内容请查阅我的上一篇文章https://blog.csdn.net/dongjinkun/article/details/109586004),比如,都舍弃了参数众多的全连接层,选择全卷积的方式。现在语义分割大多数的网络模型都是在U-Net这个“优雅的”网络结构上进行修改,所以U-Net有多么的重要,大家自己心里应该有一杆秤了。下面请跟随我的思路一步一步的深挖U-Net这个优雅的网络模型吧!!!

二、U-Net网络结构

在这里插入图片描述

  • 1.U-Net由一个contracting path 和一个expanding path组成,contracting path主要是为了利用卷积层对特征进行提取,expanding path对feature map进行上采样,以便对图像进行像素级别的预测。
  • 2.U-Net也运用了与FCN相同的技巧(skip结构,文中copy and crop就是指的skip结构),将浅层的卷积核得到的局部、细节特征与深层卷积核得到的全局、抽象特征相结合,以便更加精准的对图像进行分割。
  • 3.U-Net并不像FCN那样简单的将特征相加,而是先concatenate生成双倍通道的特征图,然后再卷积。

三、Overlap-tile strategy

细心的小伙伴可能会发现,U-Net并不是一个严格意义上的对称结构,在同一层上特征图的size会有所减小,(以0开始计数,从上往下依次为0,1,2,3,4),例如第1层:contracting path路径上该层特征图size:284*284;而expanding path路径上该层特征图size:200*200。为什么会出现这种情况呢?因为U-Net使用的是valid卷积(换句话说,就是没有padding,若使用了padding,则被称为same卷积),使用valid卷积,若卷积层非常多,那么特征图会越来越小。显然,如果我们输入的是原图,经过U-Net之后,输出图像会比原图像小,但是我们想进行像素级别的预测啊,必须要保持输入图像size = 输出图像size,那么如何保持输入图像size = 输出图像size呢?

  • 最简单的方式当然是用same卷积了,但是论文中没用到它,显然same卷积存在弊端。而且模型越深层得到的feature map抽象程度越高,受到padding的影响会呈累积效应。
  • 另一种方式是直接对最后输出的feature map作一次上采样,可以使用插值或者转置卷积的方法,若使用插值,由于其是不可学习的,会带来一定的误差;而使用转置卷积的话,又会增加参数量,并且模型也不一定能学习得好。
    论文中是怎么解决这个问题的呢?
    论文中提到了一种叫做overlap-tile的策略,就是输入网络前对图像进行padding,使得最终的输出尺寸与原图一致。特别的是,这个padding是镜像padding,这样,在预测边界区域的时候就提供了上下文信息。下图右是原始图像,下图左是经过镜像padding处理后的图像。
    Overlap-tile策略可搭配patch(图像分块)一起使用。当内存资源有限从而无法对整张大图进行预测时,可以对图像先进行镜像padding,然后按序将padding后的图像分割成固定大小的patch。这样,能够实现对任意大的图像进行无缝分割,同时每个图像块也获得了相应的上下文信息。另外,在数据量较少的情况下,每张图像都被分割成多个patch,相当于起到了扩充数据量的作用。更重要的是,这种策略不需要对原图进行缩放,每个位置的像素值与原图保持一致,不会因为缩放而带来误差。
    在这里插入图片描述
    小知识:镜像padding
    在这里插入图片描述
    一种颜色代表一步,以红色为例,将[1,3]这一列作为参照物,参照物右边为[2,4],经过镜像后,显然左边也应该为[2,4],依次类推,就能得到一个镜像padding。

四、相关概念解释

细心的小伙伴可能会发现,实验结果表格里出现了好几个非常陌生的概念,分别是pixel error、rand error以及warping error。

4.1 pixel error

评估图像分割问题最简单的方法。比较预测的label和实际的label,错误的点除以总数,就是像素误差。
优点是简单,但是对于位置的偏移过分敏感,肉眼不可见的偏移都会产生大量的像素误差。

4.2 rand error

在这里插入图片描述

4.3 warping error

在这里插入图片描述

五、参考文献

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

底层研究生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值