[CV中的特征金字塔]特征金字塔网络

在深度学习兴起之前,很多传统方法都会用到图像金字塔。图像金字塔,如上图,就是把图像调整到不同的大小,然后分别得到对应大小的特征,然后进行预测。这种方法虽然可以在一定程度上解决多尺度问题,但显然计算量也很大。

上图使用单一特征图进行检测。这个结构在17的时候被很多人用过,比如YOLOv1,YOLOv2和更快的R-CNN。直接使用这种架构导致预测层特征尺度单一,对小目标检测效果差。ps: YOLOv2中采用多尺度训练,可以在一定程度上缓解尺度单一的问题,使模型适应更多的输入尺度。

上图在不同大小的特征图上做预测,有多尺度预测的能力,但是特征之间没有融合。遵循这种架构的经典目标检测架构是SSD,SSD使用大量的尺度进行检测。

还有非常经典的FPN建筑。FPN可以很容易地应用于两级网络,如更快的R-CNN或一级网络YOLO和SSD。通过构造独特的特征金字塔,FPN可以避免图像金字塔中的高计算量问题,同时可以更好地处理目标检测中的多尺度变化,效果可以达到当时的STOA。SSD DSSD的一个改进版本是使用FPN,取得了比SSD更好的效果。

以下是对FPN的详细描述:

为便于解释,作出如下规定:

假设当前层是第三层,需要与的特征融合,那么通过卷积约束通道数和层数以达到一致性;通过2次上采样获得的特征图的大小之和是一致的,并且最终通过对结果进行上采样并执行元素相加来获得结果。

那么为什么融合后的FPN效果比金字塔特征层次的效果好呢?有几个原因:

黑框是理论感受野,中心高斯分布的高亮是实际感受野。FPN自上而下的道路通过融合不同感受野,融合两个高斯分布的实用感受野,使高层加强与低层对应的感受野。(ps:这部分是作者的理解。如有不同意见,欢迎讨论交流。)

关于感受野的想法,FPN论文有一张图,和之前发表的文章很像,如下图:

这张图片显示了FPN在深度掩模中的应用,例如分割,其中使用了5×5多层感知器来生成14×14的分割结果。对应的浅橙色区域代表原图像对应的区域(类似于理论感受野),深橙色区域对应于典型的目标区域(类似于实际感受野)。通过观察这幅图像,我们可以得到几个结论:

许多解释FPN网络的作者忽略了这一点。如果你对这一部分感兴趣,你可以在FPN的附录中找到详细的解释。

烧蚀实验

以上是FPN各地的专有名称。作者详细比较了自顶向下路径和横向连接带来的收益。

从上表中的实验可以得出几个结论:

本文在RPN网络和DeepMask结构中加入FPN进行了多次实验,都取得了很好的效果。FPN的确是一种较好的特征融合方法。之后不断提出了很多不同架构的网络,带来了一定的改善。

摘要

本来这篇文章想写完FPN建筑系列,但是太长了,所以列为小编,献给FPN的设计。

之前和一群朋友聊过FPN的设计。当时,我受到generate的启发,产生了以下想法:

事实上,读论文多的读者可能会想到ASFF、BiFPN、BiSeNet、迅雷网等。,这些都是解决这个问题比较好的方法。之后,我会继续解读FPN在这些网络中的设计,欢迎大家交流想法。

特征融合方法综述

/@ Jonathan hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b 227 b 9106 c

/question/306213462

https://arxiv.org/abs/1612.03144