【深度学习】Semantic Segmentation 语义分割

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HelloZEX/article/details/83344494

翻译自 A 2017 Guide to Semantic Segmentation with Deep Learning


What exactly is semantic segmentation?

对图片的每个像素都做分类。

较为重要的语义分割数据集有:VOC2012 以及 MSCOCO 。

What are the different approaches?

传统机器学习方法:如像素级的决策树分类,参考TextonForest 以及 Random Forest based classifiers 。再有就是深度学习方法。更确切地说,是卷积神经网络

深度学习最初流行的分割方法是,打补丁式的分类方法 ( patch classification ) 。逐像素地抽取周围像素对中心像素进行分类。由于当时的卷积网络末端都使用全连接层 ( full connected layers ) ,所以只能使用这种逐像素的分割方法。

2014年,来自伯克利的 Fully Convolutional Networks(FCN) 卷积网络,去掉了末端的全连接层。随后的语义分割模型基本上都采用了这种结构。除了全连接层,语义分割另一个重要的问题是池化层。池化层能进一步提取抽象特征增加感受域,但是丢弃了像素的位置信息。但是语义分割需要类别标签和原图像对齐,因此需要从新引入像素的位置信息。有两种不同的架构可以解决此像素定位问题。

第一种是编码-译码架构。编码过程通过池化层逐渐减少位置信息、抽取抽象特征;译码过程逐渐恢复位置信息。一般译码与编码间有直接的连接。该类架构中U-netU-NET 是最流行的。

第二种架构是膨胀卷积 ( dilated convolutions ) ,抛弃了池化层。使用的卷积核如下图。

dilated

条件随机场的后处理 经常用来提高分割的精确度。后处理利用图像的光感强度(可理解为亮度),将周围强度相近的像素分为同一类。能提高 1-2 个百分点。

Summaries

按时间顺序总结八篇paper,看语义分割的结构是如何演变的。分别有FCN 、SegNet 、Dilated Convolutions 、DeepLab (v1 & v2) 、RefineNet 、PSPNet 、Large Kernel Matters 、DeepLab v3 。


参考:深度学习-语义分割总结

猜你喜欢

转载自blog.csdn.net/HelloZEX/article/details/83344494