PSPnet:Pyramid Scene Parsing Network :金字塔场景解析网络
两个发展方向
特征整合(Feature Ensembling)
又分为:- 多尺度(multi-scale) 特征整合(来自于目标检测领域的方法spp-net)
- 多级(multi-level)特征整合(早期开山的语义分割fcn就是这种)
结构预测(Structure Prediction)
比如之前经常使用的条件随机场.CRF方法是一种基于底层图像像素强度进行“平滑”分割的图模型,在运行时会将像素强度相似的点标记为同一类别。加入条件随机场方法可以提高1~2%的最终评分值。
特征整合之
多尺度整合:典型代表:
PSPNet
这个方法在前一段时间是PASCAL VOC 2012排行榜上的第一,现在的第二。
PSPnet 一句话总结
作者认为现有模型由于没有引入足够的上下文信息及不同感受野下的全局信息而存在分割出现错误的情景,于是,提出了使用global-scence-level的信息的pspnet,另外本文提出了引入辅助loss的ResNet优化方法。
========================详解:语义分割中常见问题
- 关系不匹配(Mismatched Relationship)
场景中存在着可视模式的共现。比如,飞机更可能在天上或者在跑道上,而不是公路上。 - 易混淆的类别(Confusion Categories)
许多类别具有高度相似的外表。 - 不显眼的类别(Inconspicuous Classes)
场景中包括任意尺寸的物体,小尺寸的物体难以被识别但是有时候对于场景理解很重要。
而PSPNet就是为了整合不同区域的context来获取全局的context信息。
其中的一些tricks:
- 图片输入的CNN是ResNet,使用了dilated convolution
- Pyramid Pooling Module中的conv是1×1的卷积层,为了减小维度和维持全局特征的权重
- Pyramid Pooling Module中的pooling的数量以及尺寸都是可以调节的
- 上采样使用的双线性插值
- poly learning rate policy
- 数据扩增用了:random mirror, random resize(0.5-2), random rotation(-10到10度), random Gaussian blur
- 选取合适的batchsize
ResNet
本文除了网络之外,其ResNet的模型还是挺强的 .作者选取了pre-trained ResNet model with the dilated network strategy。也实验了不同深度的ResNet(实验发现,ResNet越深越好)。
文中还提到了为了训练使用了一个辅助的loss,网络越深性能越好,但是也越难训练。“ResNet solves this problem with skip connection in each block”。作者在网络中间引入了一个额外的loss函数,这个loss函数和网络输出层的loss pass through all previous layers,图示如下
如上图,首先作者在训练的时候加入了辅助loss,另外ResNet起始的7x7的卷积替换了三个3x3的卷积
4 实施细节
- 使用了poly的学习策略,learning rate 0.01,power 0.9
- momentum 0.9 weight decay 0.0001
- random mirror
- random resize [0.5,2]
- random rotation [-10 degree,10 degree]
- random gaussian blur
- new caffe (batch size 16)
- auxiliary loss weight to 0.4