PANet 学习笔记

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

Introduce

解决问题:

  1. 当前实例分割最佳模型Mask-RCNN的信息传播还不够充分,低层级的特征对于大型实例识别很有用, 最高层级特征和较低层级特征之间的路径长
  2. 每个建议区域都是基于 从一个特征层级池化 得到的 特征网格而预测的,此分配是启发式的。由于其它层级的丢弃信息可能对于最终的预测还有用,这个流程还有进一步优化的空间
  3. mask 预测仅在单个视野上执行,无法获得更加多样化的信息

改进

  1. 自底向上的路径增强,为了缩短信息传播路径,同时利用低层特征的精准定位信息
  2. 为了恢复每个proposal和所有特征层级之间被破坏的信息,作者开发了适应性/动态特征池化(adaptive feature pooling)技术,每个proposal利用金字塔所有层的特征,为了避免proposal的随意分配
  3. 全连接融合层:使用一个小型fc层用于补充mask预测

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

整体框架

在这里插入图片描述
绿色的虚线表示PANet增加 b. 后,高层信息和输入之间跨越的卷积层数更少了,对比红色虚线可能要经过上百个卷积层(参见ResNet Block1~4),信息流通更顺畅。

Augmented Bottom-up Structure

自底向上路径增强

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

改动原因:

  • low-level的feature是很利于定位用的,虽然FPN中P5也间接得有了low-level的特征,但是信息流动路线太长了如 红色虚线 所示 (其中有 ResNet50/101很多卷积层 )
  • 本文在 FPN 的 P2-P5 又加了 low-level 的特征,最底层的特征流动到 N2-N5 只需要经过很少的层如绿色需要所示 (仅仅有几个降维 [3×3 ,stride 2 ]的卷积)
    在这里插入图片描述
    以ResNet作为基础结构,使用 P2,P3,P4,P5 表示FPN生成对应的特征层次。 增强路径从 P2 逐渐接近 P5
    在这里插入图片描述

每个构建块通过侧向连接将较高分辨率的 Ni 和模糊的Pi+1 连接到一起,生成新的特征图 Ni+1

  • N2 就是 P2,没有做任何处理。
  • Ni 经过 conv 3 × 3 ,stride 2 (reduce the spatial size)
  • element-wise add Pi+1
  • conv 3 × 3

注: 所有channel和FPN中一致P2-P5, N2-N5都是256。

每个候选区域的特征网络是从新生成的N2,N3,N4,N5 上池化生成的。

Adaptive Feature Pooling

动态特征池化

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

在FPN中,依据候选区域的大小将候选区域分配到不同特征层次。这样小的候选区域分配到low-level,大的候选区域分配到high-level。

  • high level Semantic
  • low level location

无论是high还是low的feature都有用。
对于每个候选区域,我们提出了池化来自所有层次的特征,然后融合它们做预测,这称之为adaptive feature pooling。
在这里插入图片描述

  • 对于每个候选区域,我们将其映射到不同特征层次,如图(b)深灰色区域
  • 使用 ROIAlign 池化来自不同层次的特征网格
  • 再使用融合操作(逐像素SUM或ADD)融合不同层次的特征网格
    在这里插入图片描述
    金字塔上四个灰色区域对应的是同一个proposal,根据特征图相应缩放,分别取到特征后进行融合,上图只是box分支的融合图,掩码分支的论文中没有画出来,但原理是一样的,拿上图来说,四个特征图分别全连接,然后融合,融合操作或者采取max,或者sum,或者相乘。

Fully-connected Fusion

全连接层融合

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

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

具备全连接融合层的 mask 预测分支

fc 位置敏感 , 具有适应不同空间位置的能力。fc 层可以 预测类不可知的背景、前景 mask。[1]

考虑到fc和卷积层之间的不同特性,论文是将这两种层的预测结果融合以达到更好的预测。
在这里插入图片描述

  • conv1~4 3×3,256
  • deconv 上采样2倍
  • 短路 从 conv3 连接 fc , conv4_fc,conv5_fc , channel 减半 (减少计算量)
  • mask大小 28×28
  • fc 产生 784×1×1
  • reshape 成和 FPN 预测的mask 相同的空间尺寸
  • 相加 得到最终预测

通过消融实验发现:从 conv3 开始做 SUM 操作融合效果是最好的。

对比试验

在这里插入图片描述
其中,BPA,AFP,FF分别对应上面提出的三点改进,效果明显,铁证如山。

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

Problem

  • Augmented Bottom-up Structure 中 Ni 过 conv 3 × 3 ,stride 2之后 add Pi+1,这里的 add 是 element 还是 concat?

    element

  • 过全连接生成 784,1,1 , 怎么reshape?

    reshape 成 28,28,1

参考(感谢)
http://blog.leanote.com/post/lily/PANet
https://www.cnblogs.com/wzyuan/p/10029830.html
https://zhuanlan.zhihu.com/p/108895614
https://blog.csdn.net/u011974639/article/details/79595179

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值