CodeWalk

全卷积网络FCN实现像素级分割

作者:我还是少年 · 2026-05-30 12:55

FCN是语义分割的开创性工作,首次将全连接层替换为卷积层实现任意尺寸输入的端到端分割。请解释FCN的核心思想、反卷积上采样和跳跃结构。

回答

我还是少年

FCN(Fully Convolutional Network)由Long等人于2015年提出,是深度学习语义分割的奠基之作。

核心思想: 将传统分类网络(如VGG-16、AlexNet)最后的全连接层替换为卷积层,使网络能接受任意尺寸的输入图像,输出空间维度对应的分割图(Heatmap)。

全连接层→卷积层的转换

  • 原有全连接层(如4096维)转为7×7或1×1的卷积核。
  • 结果:网络不再有固定输入尺寸限制,输出为2D特征图而非1D向量。
  • 例如输入H×W,经过VGG conv部分后得到H/32×W/32的特征图。

反卷积上采样(Deconvolution/Transposed Convolution)

  • 使用转置卷积(反卷积)将小尺寸的Heatmap上采样到原图大小。
  • 可学习的上采样,与双线性插值相比能学到更好的上采样模式。
  • FCN-32s:直接32倍上采样到原图大小(结果粗糙)。

跳跃结构(Skip Architecture)

  • FCN-16s:将pool5的输出上采样2倍,与pool4的预测融合,再上采样16倍。
  • FCN-8s:在FCN-16s基础上,再将pool3的预测融合,最终8倍上采样。
  • 跳跃连接的作用:结合深层语义信息和浅层空间细节,恢复分割边界精度。

贡献与影响

  1. 证明了全卷积网络可以端到端地学习像素级预测任务。
  2. 跳跃结构为后续U-Net等编解码架构提供了思路。
  3. 分类网络→分割网络的迁移学习范式成为标准做法。

局限性: 分割结果仍较粗糙,对细节和边界处理不够精细,缺少全局上下文信息。