当前位置:   article > 正文

从图像分类到语义分割FCN_U-Net_语义分割和图像分类

语义分割和图像分类

一、图像分类

  1. 图像分类是图像级别的;语义分割是像素级别的。
  2. 利用CNN进行图像分类,在卷积和上采样的过程中丢失细节信息,即feature map size逐渐变小,所以不能很好地指出物体的具体轮廓、指出每个像素具体属于哪个物体,无法做到精确的分割。

二、FCN

  1. 针对这个问题,Jonathan Long等人提出了Fully Convolutional NetworksFCN)用于图像语义分割。自从提出后,FCN已经成为语义分割的基本框架,后续算法其实都是在这个框架中改进而来。
    FCN网络框架

  2. 对于一般的分类CNN网络,如VGG和Resnet,都会在网络的最后加入一些全连接层,经过softmax后就可以获得类别概率信息。但是这个概率信息是1维的,即只能标识整个图片的类别,不能标识每个像素点的类别,所以这种全连接方法不适用于图像分割

  3. 而FCN提出可以把后面几个全连接都换成卷积,这样就可以获得一张2维的feature map,后接softmax获得每个像素点的分类信息,从而解决了分割问题。
    CNN与FCN的对比

  4. FCN组合多分辨率层,兼顾全局和局部信息,实验证明多层feature融合有利于提高分割准确性。具体地:
    ①对于FCN-32s,直接对pool5 feature进行32倍上采样获得32x upsampled feature,再对32x upsampled feature每个点做softmax prediction获得32x upsampled feature prediction(即分割图)。
    ②对于FCN-16s,首先对pool5 feature进行2倍上采样获得2x upsampled feature,再把pool4 feature和2x upsampled feature逐点相加,然后对相加的feature进行16倍上采样,并softmax prediction,获得16x upsampled feature prediction。
    ③对于FCN-8s,首先进行pool4+2x upsampled feature逐点相加,然后又进行pool3+2x upsampled逐点相加,即进行更多次特征融合。具体过程与16s类似,不再赘述。
    在这里插入图片描述

  5. 实际上,上采样(upsampling)一般包括2种方式:
    ①Resize,如双线性插值直接缩放,类似于图像缩放(这种方法在原文中提到)
    Deconvolution,也叫Transposed Convolution
    upsampling的意义在于将小尺寸的高维度feature map恢复回去,以便做pixelwise prediction,获得每个点的分类信息。
    FCN中采用双线性插值进行初始化,然后利用反卷积的方式进行上采样。此处最好是配合代码,反卷积后如何进行逐点相加特征融合。

三、U-Net

  1. U-Net,能够适应很小的训练集(大约30张图)。U-Net与FCN都是很小的分割网络,既没有使用空洞卷积,也没有后接CRF,结构简单。整个U-Net网络结构类似于一个大大的U字母:首先进行Conv+Pooling下采样;然后Deconv反卷积进行上采样,crop之前的低层feature map,进行融合;然后再次上采样。重复这个过程,直到获得输出388x388x2的feature map,最后经过softmax获得output segment map。总体来说与FCN思路非常类似
    在这里插入图片描述
  2. U-Net采用了与FCN完全不同的特征融合方式:拼接。与FCN逐点相加不同,U-Net采用将特征在channel维度拼接在一起,形成更“厚”的特征。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/551342
推荐阅读
相关标签
  

闽ICP备14008679号