语义分割——Deeplab

这次去听了3天讲座,其实没啥特别的收货,但是记录下来,说不定有点意义。

这么几天的讲座,大部分还是将传统的算法用于深度学习,对于深度学习来说他仅仅是一个工具。所以,讲座中大部分大佬讲的是关于传统算法。

包括optical flow, karman filter, 

为什么使用batch_normalization?其中很重要的原因是为了消除deformation,学习图像中的不变性。

jianbo shi:

Deeplab:https://arxiv.org/pdf/1606.00915.pdf

address the task of semantic image segmentation with deep learning.

1.highlight convolution with upsimpled filters, or \'atrous convolution\' , as powerful tool in dense preditical task.

2. propose atrous spatial pyramid pooling(ASPP) to robustly segment objects at multiple scales.

3. improve the localization of object boundaries by combining methods from DCNNs and probabilitic models.

  combination of max-pooling and downsampling in DCNNs achieves invariance but has a toll on localization accuracy.常用DCNNs方法是用最大池化+下采用,这虽然可以使用不变性,但是会对定位的精确性不利。overcome this by combining the responses at the final DCNN layer with a fully connected Conditional Random Field(CRF).

Introduction

DCNNs trained in an end-to-end manner have delivered strikingly better results than systems relying on hand-crafted features. Essential to this success is the built-in invariance of DCNNs to local image transformations, which allows them to learn increasingly abstract data representations。

对于分类任务来说,需要的就是这种不变性,但是对于密集的预测任务来说,这种空间信息的抽象是不期望的,如语义分割。

具体而言,我们考虑在image segmentation中的三个挑战:1、特征分辨率的减少2、目标存在于多个尺度下3、由于DCNNs不变性造成的定位精度下降

第一个挑战是由于重复的最大池化+下采样本导致的(之所以重复最大池化+下采样是为了分类)。为了克服这个阻碍并有效生成更加密集的feature maps,我们移除了DCNN最后几层的最大池化中的下采样运算器(operator),相反在后续卷积层中对过滤器进行上采样。

第二个挑战是检测目标尺度大小是多样的。一种标准的方法是通过将缩放的图像重新输入DCNN,再合成特征或者计算score maps。这个方法确实可以提高我们的性能,但需要以计算在所有深度卷积神经网络的层上对输入图像的多尺度版本为代价。相反受到SPP的启发,我们提出了一种在多个采样率上重采样(resampling)特定的特征层来做卷积的方法。我们用不同采样率的多个并行的多孔卷积层做这种映射,我们称这种技术为ASPP(atrous spatial pooling)。

第三个挑战是物体分类器要求对空间变换具有不变性,内在地限制了深度卷积神经网络的空间精度。减轻这个问题的一个方法是在计算最终的分割结果时,跳层从多个网络层中提取“超列”特征(U-net?)。需要提出的是,我们采用全连接条件随机场CRF,如论文22,提升了模型的能力可以抓取精细的细节。条件随机场广泛地应用于语义分割中,合并从局部像素和边缘(论文23,24),或超像素(论文25)中获得低阶信息的多路分类器中计算出来的分类分值。构建层次依赖模型(论文26,27,28),和/或分割用的高层依赖信息(论文29,30,31,32,33)的复杂度日益增加,我们使用了论文22提出的全连接配对条件随机场,计算效率更高,可以抓取精细的边缘细节,也适用于较长的依赖项。论文22中的模型增强了基于提升的像素级别分类器的性能。本文工作中,我们展示了,当它与深度卷积神经网络的像素级别分类器耦合的时候,可以取得更好的结果。

Related Work

第一类是采用自底向上的串联图像分割,然后基于DCNN对区域进行分类。例如提取边界框(bounding-box proposals)或区域掩码(masked regions)作为DCNN的输入,从而将形状结合到分类。

第二类是将卷积计算的DCNN特征用于密集图像标注,并将它们与语义分割结合起来。

第三类是使用DCNN直接提供密集的像素级标签,甚至可以放弃分割。本文就是这一类。

Methods

atrous convolution for dense feature extraction and field-of-view enlargement

用于密集特征提取和扩大视野域的atrous convolution

FCN类的方法使用DCNN时候,因为连续的最大池化和跨步(striding)会明显减少了生成特征映射的空间分辨率(通常每个方向是32倍),FCN论文中采用的补救措施是使用反卷积层,但需要额外的内存和时间。

我们使用在小波变换中研发的算法atrous,即空洞卷积。什么是空洞卷积?先看1-D情况下(如果觉得):

语义分割——Deeplab

上面的yi是atrous conv的输出,xi是1-d的输入信号,这里的速率参数r对应于我们采样输入信号的步长(striding)。在标准卷积中r=1(如下图a所示)。

语义分割——Deeplab

(如果觉得1-D的图看起来很奇怪,想看图像处理中的2-d图片可以参考:https://blog.csdn.net/silence2015/article/details/79748729)

如下图所示,上排(即蓝色箭头)是对图片先下采样然后上采样的过程,其中stride=2即先将分辨率降低2倍,再上采样效果。

下排(红色箭头)则直接采用astrous conv,rate=2的效果,另外两者卷积核大小都选用相同的7*7。

语义分割——Deeplab

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyspwz.html