深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路

目录

1.基本概念

2.semantic segmentation的宏观方法:

3.解码器

1.nearest neighbor pooling and bed of nails unpooling

2.max unpooling

3.transpose convolution

3.1 1-D signal

3.2 2-d signal


1.基本概念

1.super-pixels :超像素最直观的解释,便是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”。而这个新的元素,将作为其他图像处理算法的基本单位。非常详细的介绍,如传送门。

2.under segmentation和over segmentation:

(自己的话,不专业)我认为翻译过来是欠分割和过分割。欠分割就是想分割出来的objects没完全分割出来,过分割是分割过头了。另外的图像解释如传送门。

3.The Mean Shift segmentation:Mean Shift分割是一种局部均匀化技术,对于抑制局部对象中的阴影或色调差异非常有用。这是一个示意图:

深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路_第1张图片

详细内容见传送门。

4.Shift-and-stitch:FCN文章中出现的知识点,在FCN中,与输入相比,获得的最终输出(默认情况下不使用任何上采样技巧)的分辨率较低。假设有一个100x100的输入图像,并且您获得了10x10的输出(来自网络)。将输出直接映射到输入分辨率将看起来不完整(即使使用高阶插值)。现在,采用相同的输入并稍微移位并获得输出并重复此过程多次。最终得到一组输出图像和一个与每个输出相对应的移位向量。可以利用具有移位矢量的这些输出图像(stitch)以在最终示意图中获得更好的分辨率。大概思路是这样。

paper看了很多遍没看懂,最后有个博主讲的很详细,如传送门。

深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路_第2张图片

5.mean IU:

FCN中叫Intersection over Union (IU) ,其实有些论文叫IoU,中文翻译是交并比,就是predication和label之间重叠的比例。详细解释与python代码如传送门。

 

è¿éåå¾çæè¿°

6.semantic segmentation,instance segmentation ,Panoptic Segmentation(全景分割)与detection的关系

见我另一篇总结:semantic segmentation,instance segmentation ,Panoptic Segmentation(全景分割)与detection的关系​​​​​​​

 

2.semantic segmentation的宏观方法:

一般的语义分割体系结构可以被广泛地认为是编码器网络,后面跟随解码器网络:

  • 编码器通常是为预训练的分类网络等VGG / RESNET随后由解码器网络,用来提取feature map。
  • 解码器的任务是将由编码器学习的判别特征(较低分辨率)语义地投影到像素空间(较高分辨率)上以获得dense predication。

3.解码器

         由上所述,编码器通常由预训练的分类网络(VGG 等)构成,如何将经过分类网络的feature map还原回input的size就是decoder要做的部分。

根据传送门,主要方法:

1.nearest neighbor pooling and bed of nails unpooling

深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路_第3张图片

      启发于average pooling和 max pooling。左图是最近邻上采样,右图是bed of nails unpooling(不知道如何翻译),补零的原因是因为flat(平坦)。upooling也可以叫upsample。

2.max unpooling

深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路_第4张图片

       为了准确还原最大像素位置,干脆直接使用encoder端的max position,这种pooling方式必须在encoder端提前记录好哪一个元素是最大的,然后解码端用类似bed of nails unpooling的方式还原。

      为什么它可以work?因为maxpooling 后,总会丢失一些spatial information,,semantic segmentation最重要的就是纹理边缘了,所以max upsample有助于recover 这些已经丢失的spatial information。

3.transpose convolution

刚刚介绍的都是固定的形式(fixed form),如何让upsample变得可学习那?transpose convolution就出现了。

3.1 1-D signal

深度学习整理:semantic segmentation 继续学习(4)-基本概念与思路_第5张图片

针对上图的两点解释:

  • 造成output 这样子 overlap的原因是 stride=2
  • transpose convolution的receptive field基本上没有人care。。。(我调研了下发现的,如有错误,请指出)

顺便说一下,正常的receptive field可以简单地这么计算 kernel size / stride。

3.2 2-d signal

主流的框架(pytorch等)都是补零(padding)+stride>1,也就是说做成了卷积的模样。

 

 

 

reference:

https://medium.com/nanonets/how-to-do-image-segmentation-using-deep-learning-c673cc5862ef

和原文中一系列传送门。

 

 

你可能感兴趣的:(deep,learning)