- 语义分割:像素级的分类任务
- 方法:传统机器学习 -> 深度学习
传统机器学习:
Grab-cut
缺点:
- 二类分割
- 人工干预
深度学习:
深度学习最初流行的分割方法是,打补丁式的分类方法 (patch classification) 。逐像素地抽取周围像素对中心像素进行分类。由于当时的卷积网络末端都使用全连接层 (full connected layers) ,所以只能使用这种逐像素的分割方法。
FCN: Fully Convolutional Networks for Semantic Segmentation
https://arxiv.org/pdf/1411.4038.pdf
主要的贡献:
- 为语义分割引入了 端到端 的全卷积网络,并流行开来
- 重新利用 ImageNet 的预训练网络用于语义分割
- 使用 反卷积层 进行上采样
- 引入跳跃连接来改善上采样粗糙的像素定位
SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
https://arxiv.org/pdf/1511.00561.pdf
编码-译码架构
主要贡献:将池化层结果应用到译码过程。引入了更多的编码信息。使用的是pooling indices而不是直接复制特征,只是将编码过程中 pool 的位置记下来,在 upsamping 时使用该信息 。
U-Net: Convolutional Networks for Biomedical Image Segmentation
https://arxiv.org/pdf/1505.04597.pdf
U-Net有更规整的网络结构,通过将编码器的每层结果拼接到译码器中得到更好的结果。
Dilated Convolutions: Multi-Scale Context Aggregation by Dilated Convolutions
https://arxiv.org/pdf/1511.07122.pdf
避免了使用池化操作的同时增大了感受野,不需要图像分辨率的压缩,保留了图像内部的数据结构,可以有比标准卷积更好的分割效果。
DeepLab v1 & DeepLab v2
https://arxiv.org/pdf/1412.7062v3.pdf
https://arxiv.org/pdf/1606.00915.pdf
FCN + ASPP + Fully CRF
ASPP
RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation
https://arxiv.org/pdf/1611.06612.pdf
主要贡献:
- 精心设计的译码模块
- 所有模块遵循残差连接设计
PSPNet: Pyramid Scene Parsing Network
https://arxiv.org/pdf/1612.01105.pdf
主要贡献:
- 提出了金字塔池化模块来聚合图片信息
- 使用附加的损失函数
金字塔池化模块通过应用大核心池化层来提高感知域。使用膨胀卷积来修改ResNet网,并增加了金字塔池化模块。金字塔池化模块对ResNet输出的特征进行不同规模的池化操作,并作上采样后,拼接起来,最后得到结果。
Large Kernel Matters: Improve Semantic Segmentation by Global Convolutional Network
https://arxiv.org/pdf/1703.02719.pdf
主要贡献:
- 提出了使用大卷积核的编码-译码架构
理论上更深的ResNet能有很大的感知域,但研究表明实际上提取的信息来自很小的范围,因此使用大核来扩大感知域。但是核越大,计算量越大,因此将k x k的卷积近似转换为1 x k + k x 1和k x 1 + 1 x k卷积的和,称为GCN。
本文的架构是:使用ResNet作为编译器,而GCN和反卷积作为译码器。还使用了名为Boundary Refinement的残差模块。
DeepLab v3: Rethinking Atrous Convolution for Semantic Image Segmentation
https://arxiv.org/pdf/1706.05587.pdf
主要贡献:
- 改进 ASPP
- 串行部署 ASPP 的模块
DeepLab v3+: Encoder-Decoder with Atrous SeparableConvolution for Semantic Image Segmentation
https://arxiv.org/pdf/1802.02611.pdf
主要贡献:
- 论文提出了一个全新的encoder-decoder架构,使用DeepLabv3作为encoder模块,并添加了一个简单却有效的decoder模块
- 提出的encoder-decoder架构中,可通过扩张卷积直接控制提取encoder特征的分辨率,用于平衡精度和运行时间
- 论文将Xception结构应用于分割任务中,在ASPP和decoder模块中加入深度分离卷积,获得到强大又快速的模型
关于Xception:
https://www.jianshu.com/p/4708a09c4352
DenseASPP: DenseASPP for Semantic Segmentation in Street Scenes
Deep Layer Aggregation:
https://arxiv.org/pdf/1707.06484.pdf
A Review on Deep Learning TechniquesApplied to Semantic Segmentation
https://arxiv.org/pdf/1704.06857.pdf