deeplab v1 :semantic image segmentation with deep convolutional nets and fully connected CRFs
对于传统的DCNN网络来说,其实都是具有不变性的这个特征的,深度学习是十分适合高阶的计算机视觉任务。但是,对于底层的比如semantic segmentation的任务来说,是十分不利的。
目前的两个大问题就是:1,降采样问题。2,不变形问题。
对于降采样问题,我们使用’atrous'新型卷积来实现。不变性问题,我们加入CRF来对图像进行优化,最终得到不错的结果。
网络结构:我们在VGG16中,去掉了最后两个max pooling层,加入了‘atrous’方法。
pipline:
CRF算法:
这里要再仔细看下。
DeepLabv2:Semantic Image Segmentation with Deep Convolutional Nets,Atrous Convolution,and Fully Connected CRFs
这篇文章主要的看点是:1,在tensorflow中以??榛绞?,实现了'atrous convolution',作为一个非常有效的工具。2,实现了ASPP,‘atrous spatial pyramid pooling',能够十分鲁棒地实现图像分割。3,利用CRF优化 ,推出Dense CRF。
1,模块化实现‘atrous pooling’
由于这种卷积方法,很好地平衡了accurate localization(small field-of-view)和context assimilation(large field-of-view)。在具体实现上有两种方法,一种是upsample the filter 或者是对图像稀疏采样,这种不太好。第二种,The second method, originally proposed by [82] and used in [3], [16] is to subsample the
input feature map by a factor equal to the atrous convolution rate r , deinterlacing it to produce r2 reduced resolution maps, one for each of the r×r possible shifts. 利用tensorflow实现了这种方法。
2,实现多尺度ASPP
多个尺度的洞卷积,并行执行。实现最终结果。
3,不在使用传统的CRF方法,而是利用dense CRF的方法,得到较为优秀的结果。
DeeplabV3:Rethinking Atrous Convolution for Semantic Image Segmentation
这篇文章主要是改进了级联的方式,综合运用串行和并行的方式,实现对多尺度物体分割。
这里,我们加入output_stride,从而来表示最终得到的图片与输入尺度的大小对比。然后使用更加深的网络对图像进行深度分割。
加入这种多尺度的方法主要是由于当空洞卷积越大的时候,他每次卷积的时候的有效权重就会越?。╬adding)的原因。所以我们应用多尺度的方法,最后加入average pooling的方法,取得一个好的结果。
Deeplab V3+:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
由于在encoder的时候会更加关注多尺度的纹理信息,在decoder的时候可以使得边界更加光滑,我们使用这种结构。同时我们在encoder结构中加入Xception 模型和深度卷积,可以更加快速地实现分割。
1,Atrous convolution
这里不在赘述,主要是看这个公式。
2,depthwise separable convolution
为了降低计算量,我们这里可以按照mobile net的方法,先做depthwise的卷积,然后再做1*1的卷积。我们这里把depthwise的卷积改成atrous separable convolution.
3,使用Deeplabv3作为 encoder:
我们加入output stride来决定最后输出的尺度比例。只要使用的ASPP的???。
4,加入decoder:
之前我们直接使用bilinearly upsampled的方法,但是这样的结果就导致细节并不锋利。这里我们使用如图的方法。
5,Modified Aligned Xception
使用目前最新的aligned Xception,但是做了细微的修改。1,更深的Xception。2,把所有max pooling全都换成depthwise separable convolution with striding。3,在每一个3×3的深度卷积之后都加入BN和ReLU。