Learning Deconvolution Network for Semantic Segmentation
这个就是大家所说的反卷积网络。
Category of Deconvolution
Deconvolution
在Deep Learning
领域大致可以分为下面 2 个种类。
Transposed Convolution
convolution
的反转过程,这篇 paper 讲的就是这个。Convolutional Sparse Coding
它是一种
representation learning
的一种,目的是根据从图像中学到的features
完全的还原图像。
Motivation
这篇文章针对性比较强,就是针对FCN
的缺点:
FCN
的filter
是fixed-size
的:大的物体可能会产生错误的 segmentation,小的物体可能无法被捕捉到。FCN
只能得到较为粗糙的高层的特征:因为最后一层只是简单的bilinear interpolation
,所以细节处理不好。
作者就想:FCN
的deconvolution
部分比较浅,如果直接用一个比较深的DeconvNet
,效果会不会更好?
Architecture
首先给出 Architecture 的示例图如下图。
Architecture 就分为2
部分,在上图(本 paper)中两者是镜像关系:
Convolution network:作用是作为
feature extractor
,提取输入图片的特征。Deconvolution network: a mirror of Convolution network, shaper generator。作用是生成
heat map
。注意这部分中的filter
是可以学习的。
Deconvolution network
最重要的是引入了2
个概念,示例图如下图。
Unpooling
就是
pooling
的反转过程,实现上是通过在pooling
的时候记录保留下来的值的位置,在unpooling
的时候把值还原到相应的位置,其它的位置填充0
。Deconvolution
正如上面开始所说,这里的
Deconvolution
不是信号处理中的Deconvolution
(把convolution
处理过的信号,尽最大可能的还原回去),这里只是想说明Convolution
把图片变小,为了完成某些任务需要把图片再变大回去,所以叫Deconvolution
(因为Convolution
的叫法本身也是错误的),从这个角度理解,我认为这种叫法也是可以说得通的(取Deconvolution
这中叫法的人肯定想对那些说这种叫法不合理的人说:你们就不知道意会吗,非要从代码实现上来说吗?!)。大多数人所说的更合适的叫法是
Transposed Convolution
,有两个原因:它就是
Convolution
的一种镜像,所以叫Transposed Convolution
。从代码实现上,他就是把
filter
取了转置(Transpose
),而这种做法又跟backwards propagation
的代码实现一样,所以又叫Backwards Convolution
。这两种叫法都与代码实现上有很大很大的关系。
关于这点可以参考后面的参考文献中的第一个,其中有些回答还是挺靠谱的。
Visualization of activation maps from deconvoluton layers
可以看到随着
deconvolution
的进行,图片的细节是越来越清晰的。
Comparison with FCN
细节处理比
FCN
要好。
Trainning
Batch Normalization
- Added to the output of every convolutional and deconvolutional layer
Two-stage Training
easy examples first
fine-tune the trained network with more challenging examples later
Experiments
- 然后作者在不同的数据集上做了实验,比较了不同的方法的取得的效果,具体内容可以参考论文。
Conclusion
Summary
suitable to generate dense and precise object segmentation masks
is advantageous to handle object scale variations by eliminating the limitation of fixed-size receptive field in the FCN.
ensemble approach, which combines the outputs of the proposed algorithm and FCN-based method, and achieved substantially better performance thanks to complementary characteristics of both algorithms.
Advantages
Variable sized receptive filed
Get finer details of an object
Application
Image Segmentation
CNN visualization
Unsupervised learning