FCN 是 全卷积网络 (Fully Convolutional Network) 的缩写,它在 2015 年由 Long 等人提出,是第一个成功地将深度学习应用于语义分割任务的模型。
⚙️ FCN 的核心创新与原理
FCN 的出现标志着语义分割领域从传统的像素分类方法彻底转向深度学习。它的核心思想是通过网络结构的改造,使其能够直接输出像素级的分割结果。

1. 全卷积化 (Fully Convolutional)
- 传统网络的限制: 传统的 CNN(如 VGG, AlexNet)在末端使用全连接层(FC Layer)进行分类。FC 层要求输入尺寸固定,因此限制了图像输入的尺寸。
- FCN 的解决: FCN 将所有全连接层替换为卷积层。由于卷积操作对输入尺寸没有限制,FCN 可以接受任意尺寸的输入图像。
2. 上采样 (Upsampling)
由于网络在编码过程中(通过池化)会进行下采样,最终得到的特征图分辨率较低(例如,缩小了 32 倍)。为了恢复到原始图像的像素级别:
- 方法: FCN 使用转置卷积 (Transposed Convolution) 进行上采样。
- 作用: 转置卷积带有可学习的参数,它在放大特征图尺寸的同时,能够通过训练来学习如何更精确地恢复丢失的空间信息和细节。
3. 跳跃连接结构 (Skip Architecture)
纯粹的深层 FCN 结构恢复的分割图往往边界模糊,因为深层特征图的空间细节信息丢失严重。FCN 引入了跳跃连接来融合多级特征:
- 目的: 结合深层(语义信息丰富,知道“是什么”)的特征和浅层(空间细节丰富,知道“在哪里”)的特征。
- FCN-$N$s 的命名: 这种连接通常以步长命名(如 FCN-32s, FCN-16s, FCN-8s),数字越小,表示融合的特征越靠近输入端(越浅),分割精度越高。
✨ 总结和影响
FCN 确立了语义分割任务的基础范式:
- 编码: 通过卷积进行特征提取和下采样(获得语义)。
- 解码: 通过转置卷积进行上采样(恢复尺寸)。
- 融合: 通过跳跃连接弥补下采样带来的空间细节损失。
FCN 不仅是语义分割的开山之作,它的设计思想(特别是跳跃连接)也被后续所有先进的分割和生成模型(如 U-Net、DeepLab 系列)所继承和发展。