SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
PAMI 2017 http://mi.eng.cam.ac.uk/projects/segnet/
下载下面两个代码合到一起
https://github.com/alexgkendall/SegNet-Tutorial
https://github.com/alexgkendall/caffe-segnet
SegNet has an encoder network and a corresponding decoder network, followed by a final pixelwise classification layer.
SegNet 有三个部分构成:一个 encoder network,一个对应的 decoder network,最后一个像素级别的分类层
本文最大的亮点在: 在 encoder 阶段我们做 max-pooling时,我们将 pooling indices 记录下来,在decoder upsamples 使用这些 pooling indices 得到稀疏的 upsampled maps,再用 trainable filters 进行卷积得到 dense feature maps。
和 DeconvNet 类似。
系统结构示意图:
SegNet 和 FCN decoder 方式对比
max-pooling indices的优势:
- 使边界轮廓更准确。
- 降低参数数量,实现end-to-end的训练。
- 该结构可以很好的合并到各种encoder-decoder结构
为验证不同decoder结构的标线,作者针对SegNet以及FCN网络设计了不同的decoder结构,并进行了详细的实验分析,实验结果如图3所示。
图3 不同decoder的实验对比结果
其中,网络介绍如下:
Bilinear-Interpolation : 双线性插值上采样。
SegNet-Basic: 4*(encodes[conv+bn+relu+maxpooling]+decoders[conv+bn]),kenel size: 7*7。
SegNet-Basic-SingleChannelDecoder: decoder采用单通道滤波器,可以有效减少参数数量。
SegNet-Basic-EncoderAddition: 将decoder与encoder对应的特征图相加。
FCN-Basic:与SegNet-Basic具有相同的encoders,但是decoders采用FCN的反卷积方式。
FCN-Basic-NoAddition:去掉特这天相加步骤,字学习上采样的卷积核。
FCN-Basic-NoDimReduction: 不进行降维。
通过表1分析,可以得到如下分析结果:
bilinear interpolation 表现最差,说明了在进行分割时,decoder学习的重要性。
SegNet-Basic与FCN-Basic对比,均具有较好的精度,不同点在于SegNet存储空间消耗小,FCN-Basic由于feature map进行了降维,所以时间更短。
SegNet-Basic与FCN-Basic-NoAddition对比,两者的decoder有很大相似之处,SegNet-Basic的精度更高,一方面是由于SegNet-Basic具有较大的decoder,同时说明了encoder过程中低层次的feature map的重要性。
FCN-Basic-NoAddition与SegNet-Basic-SingleChannelDecoder:证明了当面临存储消耗,精度和inference时间的妥协的时候,我们可以选择SegNet,当内存和inference时间不受限的时候,模型越大,表现越好。
作者总结到:
encoder特征图全部存储时,性能最好。 这最明显地反映在语义轮廓描绘度量(BF)中。
当限制存储时,可以使用适当的decoder(例如SegNet类型)来存储和使用encoder特征图(维数降低,max-pooling indices)的压缩形式来提高性能。
更大的decoder提高了网络的性能。
4、场景实验
作者分别在CamVid以及SUN RGB-D数据集进行实验,实验结果如下表:
图4 CamVid数据集实验结果
由上表可以发现,当训练次数少的时候,SegNet的优势明显,但是当训练次数增加后,DeconvNet的BF精度已经超过了SegNet,但是总体而言,SegNet具有较好的精度。
图5 SUNRGB-D数据集实验结果
在这个分类任务中,所有的模型的表现均较差,主要原因在于类别较小并且类别分布偏差,DeepLab-LargeFOV,具有较高的mIoU,但是SegNet具有较高的G,C,BF分数。
论文翻译及参考博客:
https://blog.youkuaiyun.com/u014451076/article/details/70741629
https://blog.youkuaiyun.com/Chunfengyanyulove/article/details/79418814
https://blog.youkuaiyun.com/zhangjunhit/article/details/72765847