基于深度学习的图像语意分割算法(上)

2018-10-14  本文已影响0人  蜗牛_0918

文章概览

图像语意分割定义--->语意分割面临的两个主要问题及算法改近--->自己的心得体会--->论文参考链接

图像语意分割定义

语意分割指的是在像素级别的基础上理解图像。具体点说就是—>对图像上的每一个像素都分配一个图像中的具体物体类别给它。如图1所示,对摩托车和人内的所有像素都指定了标签:


图1

语意分割面临的两个主要问题及算法改近

与如VGG等深度学习分类算法相比,fully connected layer和pooling layer会影响语意分割算法的性能。前者要求有一致的输入图像尺寸,后者虽然会增强特征的感受野和上下文信息,但是却会降低目标的位置特征信息。本文主要介绍两种针对pooling layer的算法改进结构。

Encoder-Decoder结构

Encoder通常用于降低图像的空间维度(spatial dimension)信息,而Decoder通常用于逐步复原目标和空间维度信息。Decoder通常通过类似ResNet里的shortcut connection与Encoder链接以便更好的还原目标细节。如图2所示,U-Net就是其中一种比较常见的结构。


图2

空洞卷积(dilated/atrous convolutions)结构

在分类网络中,pooling layer比较有效的扩大目标的感受野,但是却会减少分辨率。空洞卷积可以在提升感受野的同时不降低图像的的分辨率。如,在Deeplab网络中(基于VGG16的特征提取网络),最后两层的pooling layer以及后面的卷积层被dilated convolutions层替换。Deeplab系列网络都是基于该结构实现的。

自己的心得体会

在查找Semantic Segmentation的资料中发现有两个metric可以有效的提升分割效果。一个是基于CRF后处理(Conditional Random Field postprocessing),另一个是基于COCO数据集的预训练模型。这两个metric都能在一定程度上提升Segmentation的效果。

论文参考链接

Encoder-Decoder结构

SegNet

U-Net

空洞卷积结构

Multi-Scale Context Aggregation by Dilated Convolutions

DeepLab v1

DeepLab v2

DeepLab v3

其他的一些没有见过但效果比较好的论文

PSPNet

RefineNet

PS:分割算法将会有上下两篇,下篇主要介绍DeepLab系列算法及DeepLab-V3算法的实现。笔者也是一边自学一边写博客的,接下来几周时间在工作上会有其他事情,所以下篇可能要等到两至三周才更新出来。但是如果朋友们点赞的话,笔者会更有激情去写作哟~

上一篇下一篇

猜你喜欢

热点阅读