【实例分割】PANet简单笔记

PANet是18年的一篇CVPR,作者来自港中文,北大,商汤与腾讯优图,PANET可看作Mask-RCNN+,是在Mask-RCNN基础上做的几处改进。

论文地址:https://arxiv.org/abs/1803.01534

论文翻译:http://tongtianta.site/paper/1184

论文出发点:当前实例分割最佳模型Mask-RCNN的信息传播还不够充分,具体地,低层特征到高层特征的传递路径过长,FPN中每个proposal只负责金字塔特定的一层,掩码预测只基于单一视角

论文贡献:针对上提出的几点不足,分别设计了相应的改进,所以,论文的贡献也有三点

  • 自底向上的路径增强,为了缩短信息传播路径,同时利用低层特征的精准定位信息
  • 动态特征池化,每个proposal利用金字塔所有层的特征,为了避免proposal的随意分配
  • 全连接层融合,为了给掩码预测增加信息来源,文中的说法是capture diffrent view

实验结果:coco2017实例分割第一名 目标检测第二名

网络整体结构如下,可以看到明显是对Mask-RCNN的改进,整体框架没有变

下面针对上面的三点贡献,详细解释。

1.自底向上路径增强

如上图中所示,FPN是自顶向下,将高层的强语义特征传递下来,对整个金字塔进行增强,不过只增强了语义信息,对定位信息没有传递,而本文就是针对这一点,在FPN的后面添加一个自底向上的金字塔,可以说是很皮了。这样的操作是对FPN的补充,将低层的强定位特征传递上去,个人称之为”双塔战术“。

2.动态特征池化

FPN中的每个proposal根据其大小分配给不同的特征层,但这样可能不够好,原因如下,一是按照大小来分配本身有缺陷,大小相近的proposal可能分配到相邻的层,二是特征的重要程度可能与层级没什么关系,这是论文中的解释,我觉得这两点无关痛痒,我认为这个特征池化层的好处关键是每个proposal聚合了多层的信息,对分类及定位更加有利。至于融合的细节,也就是C中的小圆圈,可参考下图

                                                                                                      

金字塔上四个灰色区域对应的是同一个proposal,根据特征图相应缩放,分别取到特征后进行融合,上图只是box分支的融合图,掩码分支的论文中没有画出来,但原理是一样的,拿上图来说,四个特征图分别全连接,然后融合,融合操作或者采取max,或者sum,或者相乘。

3.全连接层融合

全连接层具有不同于CNN的结构,CNN产生的特征图上每个像素点来自同一个卷积核,也就是常说的参数共享,另外,卷积核的大小往往为3*3,5*5,7*7,也就是说采集的是局部的信息。

全连接层其实可由卷积实现,可看作感受野为整个特征图的卷积核,所以全连接层是感受野更大的卷积,另外,这里的卷积参数不共享,每个像素点拥有一个卷积核,所以区别在于感受野和参数是否共享,文中说全连接层是位置敏感的,这一点我还没看出来,我个人觉得在感受野上的补充应该是一个重要的功能,至于对位置更加敏感,有利于定位,我无法理解。

另外,贴一下对比试验,验证上面三点的作用。

其中,BPA,AFP,FF分别对应上面提出的三点改进,效果明显,铁证如山。

至于其它的实验结果就不贴了,比较遗憾的是论文中并没有贴出与Mask-RCNN在一些图片上的直观的对比图,那样更有说服力了。

原文地址:https://www.cnblogs.com/wzyuan/p/10029830.html