语义分割场景常见问题:
在ADE20K数据集上基于FCN baseline分割常出现的问题
关系不匹配:例如飞机应该在天上而不是在马路上,汽车应该在路上而不是在河里;
类别混淆:FCN在一些类别的分类并没有完全分隔开来,例如摩天楼;
小类别:不起眼小类别并没有被有效分割,例如枕头;
金字塔池化模型
金字塔池化模型在经验上证明了是可以用以刻画上下文的先验的。
在深层网络中,感受野的大小可以表示上下文的信息程度,但是在ResNet中的感受野并没有理论上的大,尤其在高层上,无法融合全局场景。
全局平均池化并没有办法实现复杂的语义分割任务。
金字塔池化融合了四个比例的池化层,其中红色最粗糙的就是全局池化,为了保持全局特征的权重,如果金字塔的级别大小为N,则在每个金字塔级别之后使用1×1卷积层将上下文表示的尺寸减小为原始视图的1 / N。也就是通过11卷积成为单层的池化层,之后用双线性插值,上采样成原来大小进行组合。
在这里对CNN 所提取的feature map的池化单元分别是11、22、33和6*6.借助四级金字塔,合并之后的特征包含了图像的整个、一半、一小部分。金字塔池比全局池更有代表性。
基于ResNet的FCN深度监督
使用ResNet作为预训练网络进行迁移,但是随着网络深度的增加会引进优化难度,ResNet通过skip blocks之间的连接来解决这个问题。而残差的学习是基于前一个连接(?,previous ones )。
而本文则使用最终loss来学习残差。如图,除了使用softmax损失来训练分类器的主分支,还使用了使用了辅助损失函数,通过调整权重让它们通过之前的所有层来优化学习过程。然而在测试阶段放弃了辅助损失函数(。。。)。
实验
文章的测试实验基于Caffe,使用了”poly“学习率策略,当前学习率等于基数乘以(1-iter/maxiter)^power.将基本学习率设为0.01,power设为0.9。
结果显示平均池化的效果会更好一些。
ImageNet Scene Parsing Challenge 2016表现:
Cityscapes 数据集表现: