Abstract
用
DL
做semantic image segmentation
,本文有three main contributions:
-
atrous convolution
:提高feature map的分辨率 ,不增加参数的前提下增大感受野。 -
Atrous Spatial Pyramid Pooling(ASPP)
:来对不同的尺度做分割.提高了效果。 -
CRF
:进一步提升localization的性能
INTRODUCTION
3个挑战和解决办法:
- 连续的
max-pooling and downsampling
使得feature map的size减小太多,不利于后续处理.
feature map减少太快的原因是因为max pooling,downsampling(striding)依次用在原图上面,导致feature map size迅速减少.为了克服这个问题,DeepLab对于网络的最后几层并没有再继续使用pooling,downsampling(striding),而是用upsample来替代。作者使用 atrous convolution来作为upsample的手段。之后再使用bilinear interpolation来恢复到原图大小。 - 多尺度的图片
最直接的方法是利用原图的不同尺寸输入到针对不同尺寸的DCNN中,然后将这些CNN的feature map结合起来生成最后的结果,事实证明这样做效果很好,但是操作太麻烦,太耗时。受SPP的启发,作者提出了atrous spatial pyramid pooling直接在原图这一个input的基础上提取中多scale的信息。 - invariance to spatial transformations
FCN是采取skip layer的措施,作者是采用 全连接的CRF 这样做的优势 是: 速度快,准确率高,结构简单
网络架构
METHODS
-
Atrous Convolution for Dense Feature Extraction and Field-of-View Enlargement
1-D :
2-D:
给定一张图片,首先一个下采样使其变成原来的一半,再来一个kernel_size = 7的convolution,(垂直高斯导数是什么东东),如果把特征图放到原图片中,发现得到的特征图只是原来图片的四分之一的响应。但是如果我们使用atrous convolution ,在整张图片上进行卷积运算,就能够得到整张图片的特征响应。其中,将原始的滤波器2倍的上采样,即在滤波器的值与值之间插入一个0。虽然滤波器变大了,但是我们只需要考虑非0值,因此滤波器的参数,每个位置的操作数并未改变。
Atrous convolution
还能扩大感受野,当atrous convolution 的rate = r ,kernel size =k 时,在不增加参数和计算量的前提下,变相的扩大了kernel size.实际的kernel大小k<sub>e</sub> = k + (k-1)(r-1)
。关于感受野扩大的解释的较清晰的,请移步here。
实现Atrous convolution
方式有两种,具体的请看原论文。 -
ASPP
在SPP中,是根据输入的size来确定池化的size,才能得到一样的特征图,但在这里,是利用不同rate的Atrous Convolution,再进一步的处理,从而得到一样的特征图。。。好吧,其实并不知道他怎么就能一致了,不同的输入size,即使经过不同rate的Atrous Convolution,得到的额feature map size还不是不同的么???
-
Structured Prediction with Fully-Connected Conditional Random Fields for Accurate Boundary Recovery
CRF经常用于 pixel-wise的label 预测。把像素的label作为随机变量,像素与像素间的关系作为边,即构成了一个条件随机场且能够获得全局观测时,CRF便可以对这些label进行建模。全局观测通常就是输入图像。
令随机变量Xi是像素i的标签,Xi∈L=l1,l2,...,lL,令变量X是由X1,X2,...,XN组成的随机向量,N就是图像的像素个数。 假设图 G=(V,E),其中V=X1,X2,...,XN,全局观测为I 。条件随机场符合吉布斯分布,(I,X)可以被模型为CRF,
在全连接的CRF模型中,标签x 的能量可以表示为:
其中, θi(xi) 是一元能量项,代表着将像素 i分成label xi 的能量,二元能量项φp(xi,xj)是对像素点 i、j同时分割成xi、xj的能量。 二元能量项描述像素点与像素点之间的关系,鼓励相似像素分配相同的标签,而相差较大的像素分配不同标签,而这个“距离”的定义与颜色值和实际相对距离有关。所以这样CRF能够使图片尽量在边界处分割。最小化上面的能量就可以找到最有可能的分割。而全连接条件随机场的不同就在于,二元势函数描述的是每一个像素与其他所有像素的关系,所以叫“全连接”。
具体来说,在DeepLab中一元能量项直接来自于前端FCN的输出,计算方式如下:
而二元能量项的计算方式如下:
其中,μ(xi,xj)=1,当i≠j时,其他时候值为0。也就是说当标签不同时,才有惩罚。剩余表达式是在不同特征空间的两个高斯核函数,第一个基于双边高斯函数基于像素位置p和RGB值I,强制相似RGB和位置的像素分在相似的label中,第二个只考虑像素位置,等于施加一个平滑项。 超参数σα,σβ,σγ控制高斯核的权重。
网友评论