2015CVPR
Encoder-Decoder Architecture
编码器:通过输入的图像,得到该图像的特征图谱。
解码器:根据提供的特征图谱,实现每个像素的类别预测。
(分割任务中通常使用分类任务中已经训练好的网络,编码器部分大多使用迁移学习,解码器很大程度上是决定分割效果好坏的关键)
通常来说,编码器的模型参数越多代表含有的图像特征越多,分割的效果上限会越高。
SegNet 权衡了计算量,用池化信息,替代了FCN里的反卷积操作。
![](https://img.haomeiwen.com/i5592113/a8128943d3a40d54.png)
结构解析:
编码层:
1、采用Vgg前13层(去除全连接层),使用VGG预训练好的权重。每个编码器用一组滤波卷积通过,之后BN,之后Relu,后面再接max pooling 2x2 size的窗口,with sride 2.max pooling用来实现平移不变性(translation invariance https://blog.csdn.net/jningwei/article/details/78834173)
2、
![](https://img.haomeiwen.com/i5592113/3ca87a15bc59200a.png)
解码器:
![](https://img.haomeiwen.com/i5592113/3f66f291862cd7c0.png)
使用索引的最大池化,上采样对应的encoder feature map,产生稀疏的feature map,之后通过卷积恢复dense feature map,产生一个k个channels的图,k是类别总数,通过softmax输出每个像素的类别预测。
可以看到,Segnet是现根据maxpooling索引生成稀疏特征图,FCN是直接反卷积。
网友评论