AI 全卷积神经网络 FCN

孩子不仅是父母的镜子,还是父母的影子。厉害的父母,孩子也往往不会太差。

FCN

  • Demo: https://github.com/shelhamer/fcn.berkeleyvision.org
  • Last Edited: Mar 29, 2019 9:08 AM
  • Tags: FCN
  • 论文地址: https://arxiv.org/pdf/1411.4038.pdf

前言

  • 全称:Fully Convolution Networks
  • 特点:多次特征融合提高分割准确性。
  • 改进:将全连接改为卷积。

  对于一般的分类CNN网络,如VGG和ResNet,都会在网络的最后加入一些全连接层,经过Softmax后就可以获得类别概率信息。但是这个概率信息是一维的,即只能标识整个图片的类别,不能标识每个像素点的类别,所以这种全连接方法不适合与图片分割。
AI 全卷积神经网络 FCN_第1张图片
  而FCN提出可以把后面几个全连接都换成卷积,这样就可以获得一张2维的feature map,后接Softmax获得每个像素点的分类信息,从而解决了分割问题,如下图所示:

AI 全卷积神经网络 FCN_第2张图片

网络结构

AI 全卷积神经网络 FCN_第3张图片
  图片image经过多个conv和一个Max Pooling变为Pool1 Feature,宽高变为原来的 1 2 \frac {1}{2} 21;Pool1 Feature经过多个conv和一个Max Pooling变为Pool2 Feature,宽高变为 1 4 \frac {1}{4} 41;同理,直到Pool5 Feature,宽高变为 1 32 \frac {1}{32} 321

  对于FCN-32s,直接对Pool5 Feature进行32倍上采样获得32xUpsampled Feature,再对32xUpsampled Feature每个点做Softmax Prediction获得32xUpsampled Feature Prediction(即分割图)。对于FCN-16s,首先对Pool5 Feature进行2倍上采样获得2xUpsampled Feature,再把Pool4 Feature和2xUpsampled Feature逐点相加,然后对相加的Feature进行16倍上采样,并Softmax Prediction,获得16xUpsampled Feature Prediction。对于FCN-8s,首先进行Pool4+2xUpsampled Feature逐点相加,然后又进行Pool3+2xUpsampled逐点相加,即进行更多次特征融合。具体过程与16s类似,不再赘述。

效果对比

AI 全卷积神经网络 FCN_第4张图片
  作者在原文种给出3种网络结果对比,明显可以看出效果:FCN-32s < FCN-16s < FCN-8s,即使用多层feature融合有利于提高分割准确性

缺点

  1. 是得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感
  2. 忽略高分辨率的特征图肯定会导致边缘信息的丢失
  3. 是对各个像素进行分类,没有充分考虑像素与像素之间的关系。忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。

附录

  • FCN的学习及理解(Fully Convolutional Networks for Semantic Segmentation) - 凹酱的DEEP LEARNING - CSDN博客
  • 图像语义分割入门+FCN/U-Net网络解析
  • FCN学习:Semantic Segmentation

你可能感兴趣的:(人工智能,CV,Exploration)