论文地址:RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation
其实RefineNet就是使用ResNet作为网络主结构,然后使用了类似FCN的多尺寸融合,因为ResNet的层数较多,所以较多的使用了RCU(residual convolution unit/残差卷积单元),然后提出了CRP(chained residual pooling/链式残差pool),其实就是把residual的思想用到pooling中。
如上图所示,在使用ResNet的时候,分为4层,左边从1/4-1/32分为为ResNet1-4,然后ResNet4进入RefineNet4,输出一个特征图然后把这个特征图和ResNet-3一起放到RefineNet3中,在输出一个,以此类推,最后在得到score map再通过双线性插值回复到原图像大小(Bilinear Interpolation)
其中RefineNet模块可以支持多个尺寸的特征图输出,然后融合到一起再输出一个特征图,具体过程如下图
首先多尺寸的特征图进来之后,先经过Adapative conv就是两个RCU(残差卷积单元,上图中的b),随后这些特征图再进去Multi-resolution fusion(多分辨率融合,上图中的c)模块,进行多分辨率的融合,通过上采样(upsampling)得到同样的分辨率然后相加输出,在经过一个chained residual pooling(链式残差pooling,上图中的d),得到最后的输出
整个网络结构大量使用residual思想用来加快深层卷积层的训练,然后采用多尺度特征图融合来保证coarse和fine的恢复效果