1. 网络结构
SegNet采用的是对称式的结构,同时引入了BN层(相比于FCN)。
encoder即pooling,decoder即upsample。
SegNet的核心在于其上采样的方法(decoder部分)。 FCN是利用双线性插值初始化的反卷积进行上采样。而SegNet则是在每次pooling时,都存下最大值的位置,在upsample时将input值直接赋给相应的位置,其他位置的值置零。
2. Decoder
decoder部分采用上述的方法是有原因的:
(1) 不仅是去掉了FCN反卷积时所增加的训练参数,并且FCN融合不同scale的feature map也更耗显存
(2) 同时也是因为经过不断的下采样(encoder),图像的边界细节会不断损失,然而对于分割来说,边界信息很重要。所以SegNet利用这种decoder来保存边界信息。
经过上采样后,得到的feature map比较稀疏(很多0),于是接上一个卷积层,得到密集的feature map。