目录
[八、FCN的跳跃连接(Skip Connection)](#八、FCN的跳跃连接(Skip Connection))
一、前言
在深度学习视觉任务中,语义分割是最具"像素级理解能力"的任务之一。
如果说:
-
分类是在判断"是什么"
-
检测是在判断"在哪里"
那么语义分割就是在回答:
每一个像素是什么
在众多语义分割模型中,有一个具有里程碑意义的模型:
FCN(Fully Convolutional Network,全卷积网络)
它的出现,标志着:
深度学习首次实现端到端语义分割
本文将系统讲解 FCN 的核心思想、结构演进与工程意义。
二、FCN是什么
(一)核心定义
FCN是一种:
将CNN用于像素级分类的端到端分割模型
(二)关键突破
传统CNN:
输入 → 特征 → 全连接 → 分类
FCN:
输入 → 特征 → 上采样 → 像素分类
(三)一句话理解
把"分类网络"改造成"输出整张图的分类网络"
三、FCN的核心思想
FCN的核心有三个关键点:
1. 全卷积化(Fully Convolutional)
2. 下采样提特征
3. 上采样恢复分辨率
四、从CNN到FCN的结构转变
(一)传统CNN结构
Image
↓
Conv + Pool
↓
FC Layer
↓
Class Label
(二)FCN结构
Image
↓
Conv + Pool(Encoder)
↓
Feature Map
↓
Upsampling(Decoder)
↓
Pixel-wise Prediction
(三)关键变化
全连接层 → 卷积层
五、FCN的三种经典结构
FCN论文中提出了三种变体:
(一)FCN-32s
特点
直接32倍上采样
缺点
-
分割结果粗糙
-
边界不清晰
(二)FCN-16s
思想
融合中间层特征:
浅层 + 深层特征融合
优点
-
精度提升
-
边界改善
(三)FCN-8s(最经典)
特点
多尺度特征融合
优势
-
更精细边界
-
更高分割精度
六、FCN核心结构解析
(一)Encoder(编码器)
作用:
提取语义特征
通常使用:
-
VGG16
-
ResNet(后续改进)
(二)Pooling降采样
作用:
扩大感受野
但问题是:
空间信息丢失
(三)Decoder(解码器)
作用:
恢复图像尺寸
方法:
-
Deconvolution(反卷积)
-
Bilinear upsampling
七、上采样机制详解
(一)反卷积(Deconvolution)
y = x * k^{T}
(二)作用
将低分辨率特征图放大
(三)问题
-
可能产生棋盘效应
-
信息恢复有限
八、FCN的跳跃连接(Skip Connection)
(一)核心思想
融合浅层 + 深层特征
(二)作用
-
浅层:边界信息
-
深层:语义信息
(三)FCN-8s结构
Conv5 → Upsample
Conv4 → Fusion
Conv3 → Fusion
九、FCN损失函数
(一)像素级分类损失
L = -\sum_{i}^{H\times W} \sum_{c} y_{i,c}\log(p_{i,c})
(二)本质
每个像素都是一个分类任务
十、FCN的优点
(一)端到端训练
无需手工特征
(二)首次实现语义分割
开创性模型
(三)结构简单
-
易实现
-
易扩展
十一、FCN的局限性
(一)分割边界不精细
原因:
多次下采样导致信息损失
(二)上采样粗糙
- 插值恢复有限
(三)小目标表现差
(四)计算效率低
十二、FCN在语义分割中的地位
FCN是:
所有现代分割模型的起点
其影响包括:
-
U-Net
-
DeepLab
-
SegNet
-
Mask R-CNN
十三、FCN与U-Net对比
| 模型 | 特点 |
|---|---|
| FCN | 早期端到端 |
| U-Net | 更强跳跃连接 |
十四、FCN在工业中的应用
(一)医疗影像
-
器官分割
-
病灶识别
(二)自动驾驶
-
道路分割
-
行人区域
(三)工业质检
- 表面缺陷检测
(四)直播与视觉应用
- 人像抠图(早期方案)
十五、FCN结构总结
FCN整体流程:
输入图像
↓
卷积特征提取(Encoder)
↓
降采样
↓
上采样恢复
↓
像素分类
↓
输出Mask
十六、FCN的历史意义
FCN的贡献可以概括为:
第一次让CNN直接输出像素级预测结果
它奠定了:
-
语义分割框架
-
Encoder-Decoder结构
-
Skip Connection思想
十七、FCN发展启发
FCN之后的发展方向:
(一)更强Encoder
-
ResNet
-
EfficientNet
(二)更强Decoder
-
U-Net
-
DeepLab
(三)注意力机制
- Transformer分割模型
十八、总结
FCN是语义分割领域的奠基性模型,它首次实现了端到端像素级预测,并提出了Encoder-Decoder与多尺度融合的核心思想。
本文系统讲解了:
1、FCN基本定义;
2、从CNN到FCN的结构变化;
3、FCN-32s / 16s / 8s;
4、Encoder-Decoder机制;
5、Skip Connection;
6、上采样方法;
7、损失函数;
8、优缺点分析;
9、工业应用;
10、历史地位。
可以将FCN理解为:
"一个将分类网络完全卷积化,并首次实现端到端语义分割的基础模型,是现代分割网络的起点。"
掌握FCN,就等于理解了所有语义分割模型的"祖先结构"。