当前位置 博文首页 > 微信号:Custom-Software:FPN网络详解(知识点记录)

    微信号:Custom-Software:FPN网络详解(知识点记录)

    作者:[db:作者] 时间:2021-07-10 13:06

    FPN网络详解

    特征图金字塔网络FPNFeature Pyramid Networks)是2017年提出的一种网络,FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。

    通常,利用网络对物体进行检测时,浅层网络分辨率高,学到的是图片的细节特征,深层网络,分辨率低,学到的更多的是语义特征

    1、通常的CNN使用如下图中显示的网络,使用最后一层特征图进行预测

    例如VGG16,feat_stride=16,表示若原图大小是1000*600,经过网络后最深一层的特征图大小是60*40,可理解为特征图上一像素点映射原图中一个16*16的区域;那这个是不是就表示,如果原图中有一个小于16*16大小的小物体,是不是就会被忽略掉,检测不到呢!

    所以,使用上图中的网络的缺点就是,会造成检测小物体的性能急剧下降

    1. 如果上面的单层检测会丢失细节特征;就会想到,利用图像的各个尺度进行训练和测试,比如下图所展示(图片金字塔生成特征金字塔)

    将图片缩放成多个比例,每个比例单独提取特征图进行预测,这样,可以得到比较理想的结果,但是比较耗时,不太适合运用到实际当中。

    1. 为了节约时间,直接使用卷积网络中产生的各层特征图分别进行预测

    SSD网络也采用了类似的思想,这种方法的问题在于,让不同深度的特征图去学习同样的语义信息,同样会忽略掉底层网络中的细节特征

    1. FPN网络,网络结构原理如下图所示

    先来说下FPN能解决什么问题

    FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能

    左边的称为“自底向上”,右边的称为“自上而下”

    ①?? 自底向上:

    自底向上的过程就是神经网络普通的正向传播过程,特征图经过卷积核计算,通常会越变越小

    ②?? 自上而下:

    自上而下的过程是把更抽象、语义更强的高层特征图进行上采样,然后把该特征横向连接至前一层特征,因此,高层特征得到了增强,每一层预测所用的feature map都融合了不同分辨率、不同语义强度的特征,可以完成对应分辨率大小的物体进行检测,保证每一层都有合适的分辨率以及强语义特征。

    值得注意的是:横向连接的两层特征在空间尺寸上要相同,这样做可以利用底层定位细节信息

    上面通过文字描述完成了FPN网络的演化历程及其基本原理,下面通过一张图,对FPN的工作原理进行补充描述(基于ResNet50网络)

    从上图中可以很清晰的看到FPN工作的原理

    解决的问题

    是否存在一种可能搭建精度、效率都高的目标检测模型,在很宽的资源限制范围内都可以满足?(就是模型能不能扩展,在大机器上用大模型,小机器上用小模型

    两大挑战

    论文进行了系统性的实验,对于骨干网络、特征融合以及class/box预测网络进行测试,得到两个挑战

    1、高效的多尺度特征融合(特征尺度变换)

    大多数的方法是将输入的特征直接加在一起,但是因为这些特征所处的分辨率不同,对于输出特征的贡献是不等的。

    2、模型尺度变换

    其他的方法主要依赖更大的骨干网络或者更大的输入图片获得更高的精度。对于特征网络和class/box预测网络的尺度扩展也很重要。

    主要贡献

    1、提出了BiFPN结构:一个加权双向特征网络和一个快速多尺度特征融合

    2、提出模型的复合尺度变换方法,同时对骨干网络、特征网络、box/class预测网络和分辨率进行扩展

    3、基于以上,开发了EfficientDet,可以适配宽范围的计算资源

    BiFPN模块

    要说清BiFPN首先要说FPN,论文提供了一张图

    BiFPN是对PANet的改动,提出了三个优化

    1、删掉那些只有一个输入边的节点,因为只有一个输入边的节点就没有特征融合,对特征网络的贡献少

    添加了从原始输入到输出节点的边(同一级别的输入输出)

    1. 把双向路径看作是一个特征网络层,就可以多次重复特征层得到更多的特征融合。(就是图中f子图,可以把f图当作一个层,可以多次重复,前一层的5个输出当作后一层的5个输入)

    权特征融合

    EfficientDet

    应用EfficientNets做骨干网络,取骨干网络的3~7级特征,重复应用BiFPN融合

    https://www.cnblogs.com/wangyong/p/8535044.html

    cs
    下一篇:没有了