参考文献:
CNN图像语义分割基本上是这个套路:
- 下采样+上采样:Convlution + Deconvlution/Resize
- 多尺度特征融合:特征逐点相加/特征channel维度拼接
- 获得像素级别的segement map:对每一个像素点进行判断类别
即使是更复杂的DeepLab v3+依然也是这个基本套路。
Image Segmentation(图像分割)网络结构比较
网络 | 父辈 | 生辰 | 增加的结构 | 丢弃的结构 | 优势 | 劣势 | ||||
---|---|---|---|---|---|---|---|---|---|---|
VGG16 | FCN的灵感来源 | |||||||||
FCN | VGG16 | 2014 | 一个Deconv层(从无到有) | 所有fc层 | 简单 | 粗糙 | ||||
DeconvNet | FCN | 2015 | Unpooling层(从无到有)、多个Deconv层(层数增加)、fc层(从无到有) | |||||||
SegNet | DeconvNet | 2016 | 每个max_pooling的max索引 | 所有fc层 | ||||||
DeepLab | FCN | |||||||||
PSPNet | ||||||||||
Mask-RCNN | 2017 | 真正做到像素级 |
Image Segmentation(图像分割)族谱
FCN
-
DeepLab
-
DeconvNet
- SegNet
-
PSPNet
-
Mask-RCNN
按分割目的划分
-
普通分割
将不同分属不同物体的像素区域分开。
如前景与后景分割开,狗的区域与猫的区域与背景分割开。 -
语义分割
在普通分割的基础上,分类出每一块区域的语义(即这块区域是什么物体)。
如把画面中的所有物体都指出它们各自的类别。 -
实例分割
在语义分割的基础上,给每个物体编号。
如这个是该画面中的狗A,那个是画面中的狗B。