文章概览
图像语意分割定义--->语意分割面临的两个主要问题及算法改近--->自己的心得体会--->论文参考链接
图像语意分割定义
语意分割指的是在像素级别的基础上理解图像。具体点说就是—>对图像上的每一个像素都分配一个图像中的具体物体类别给它。如图1所示,对摩托车和人内的所有像素都指定了标签:
语意分割面临的两个主要问题及算法改近
与如VGG等深度学习分类算法相比,fully connected layer和pooling layer会影响语意分割算法的性能。前者要求有一致的输入图像尺寸,后者虽然会增强特征的感受野和上下文信息,但是却会降低目标的位置特征信息。本文主要介绍两种针对pooling layer的算法改进结构。
Encoder-Decoder结构
Encoder通常用于降低图像的空间维度(spatial dimension)信息,而Decoder通常用于逐步复原目标和空间维度信息。Decoder通常通过类似ResNet里的shortcut connection与Encoder链接以便更好的还原目标细节。如图2所示,U-Net就是其中一种比较常见的结构。
空洞卷积(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结构
空洞卷积结构
Multi-Scale Context Aggregation by Dilated Convolutions
其他的一些没有见过但效果比较好的论文
PS:分割算法将会有上下两篇,下篇主要介绍DeepLab系列算法及DeepLab-V3算法的实现。笔者也是一边自学一边写博客的,接下来几周时间在工作上会有其他事情,所以下篇可能要等到两至三周才更新出来。但是如果朋友们点赞的话,笔者会更有激情去写作哟~