图像分割“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”

code:: https://github.com/SimJeg/FC-DenseNet
DSOD中的一篇参考文献,不需要预训练进行图像分割,同样使用了DenseNet。在CamVid和Gatech数据库上,没有预训练,没有CRF后处理,达到了state-of-the-art的效果。

DenseNet的优点:(1)参数有效性,参数使用效率高;(2)隐式深层监督,short paths;(3)特征重用。

作者将DenseNets扩展,改成分割网络。直接建立上采样的path,高分辨率的特征和数量较多的滤波器相乘,计算量会比较大。作者仅上采样由Dense block生成的特征图,上采样的dense block吧哦哦汗其他dense block的信息,高分辨率的信息通过skip connection传输。提出的结构如下图所示:
图像分割“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”_第1张图片

相关工作
语义分割的进展:
(1)改进上采样方法,提高FCN连接度;上采样方法包括反池话,跳层连接,等价映射,长距离跳层连接。
(2)新的模型,适应复杂背景理解;RNN,dilated 卷积,dilated卷积堆;
(3)改进FCN,结构化的输出;CRF,RNN
目前所有的工作需要预训练的模型。

全卷积DenseNets
FCN包含下采样,上采样和跳层连接。论文改进DenseNet,以重用特征而又避免特征爆炸。
1. DenseNet回顾
标准的CNN, xl=Hl(xl1)
H通常是卷积,ReLU,dropout.
ResNets引入了等价映射, xl=Hl(xl1)+xl1 ,重用特征,梯度回传。
H通常包含BN,ReLU,卷积,重复块2~3次。
DenseNets串联所有的特征输出, xl=Hl([xl1,xl2,...,x0]) ,[…]标识串联。
H由BN,ReLU,卷积和dropout定义。每层有k个特征图,k是增长率。则经过l层,特征图个数为 l×k 。transition down用于特征降维。
2. dense block
dense block 结构如下图,第一层输入 x0 有m个特征图,第一层输出 x1 有k个特征图,这k个特征图与m个特征图串联,作为第二层的输入,重复n次,新的dense block有 n×k 个特征图。
图像分割“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”_第2张图片
3. FC-DenseNet
使用Dense block和transition up替换FC上采样的卷积操作。Transition up 使用转置卷积上采样特征图,与跳层传来的特征串联,生成新的dense block的输入。但这样会带来特征图数目的线性增长,为了解决这个问题,dense block的输入不与它的输出串联。转置卷积仅对最有一个dense block的特征图使用。最后一个dense block综合了所有之前dense block的信息。同时引入跳层解决之前dense block特征损失的问题。
4. 语义分割结构
图像分割“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”_第3张图片

实验
使用HeUniform初始化模型,RMSprop训练模型??
在CamVid上实验结果
图像分割“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”_第4张图片

你可能感兴趣的:(图像分割,深度学习)