3 计算机视觉-阅读笔记(3)

作者: 深度学习模型优化 | 来源:发表于2019-04-25 03:32 被阅读1次

    3.2.4 Feature Pyramid Networkd(FPN)

    FPN要解决的一个痛点是:检测不同尺度的目标(尤其是小目标)是很困难的。,其目的是实现多个尺度的anchor输入到同一个特征提取CNN中,得到相同大小的输出特征图。

    主要的思想是图像金字塔。

    图1 左:图像金字塔;右:特征金字塔

    1) 数据流

    图2 FPN

    FPN两个路径:

    • 自底向上(bottom-up)。空间分辨率变小,语义增强;
    • 自顶向下(top-down)。空间分辨率变大,语义减弱。
    图3 FPN自底向上

    结合底层分辨率高,高层分辨率低、语义高的特点,文章介绍了SSD(Single Shot MultiBox Detector)的小目标检测效果比较差的原因。所利用的特征图如图4所示。

    图4 SSD结构

    FPN提供了自顶向下的路径,基于语义较丰富的层从上向下来构建分辨率较高的层。如下图所示。

    图5 FPN自顶向下的路径(不含skip connection)

    上面的方法会导致目标位置不准确,因此仿照ResNet的shortcut思想,增加了跳跃连接(skip connection)。

    2) 自底向上

    图6 增加skip connection

    如上图左边虚线框所示为自底向上。每个卷积层减小特征图尺寸。

    3) 自顶向下
    如上图右边虚线框所示为自顶向下。每个卷积层增加特征图尺寸和同样大小特征图相加。

    这种方法的优点是即充分利用了高层语义信息,又提高了图像分辨率,可用于实现:

    • RPN
    • Faster R-CNN的分类和bbox回归

    4) FPN用于RPN

    图7 FPN用于RPN

    FPN得到由3\times 3卷积得到一系列的特征(P2、P3、P4和P5等)。根据这些特征分别有1\times 1的卷积运算得到用于分类的bbox回归的结果。其实如果这里做的很好,还要用Fast R-CNN做分类干嘛,这就是one-stage检测算法了。

    后面如果有时间,我会介绍下yolo系列和ssd系列的典型算法。

    5) FPN用于Faster R-CNN

    图8 Fast R-CNN

    Fast R-CNN的步骤:

    • S1 :输入一张图片;
    • S2:使用backbone卷积网络,得到一组特征;
    • S3:使用Region Proposal,选出候选区域;
    • S4:根据候选区域位置,选择特征映射中候选区域对应位置的特征;
    • S5:使用ROI pooling将这些区域转换为相同尺寸的特征图;
    • S6:使用相同大小的特征图,来进行分类和bbox回归。
    图9 Faster R-CNN

    Faster R-CNN的步骤(对比与Fast R-CNN的不同):

    • S1:FPN提取特征(Faster R-CNN产生多个特征图,Fast R-CNN产生一个特征图);
    • S2:使用RPN来选出候选区域;
    • S3:根据候选区域,来从一组特征中选择对应位置的特征区域(Faster R-CNN采用的原则是候选区域越大,就选择越高层的特征映射,具体计算公式为k = \lfloor k_0 + \log_2(\sqrt{wh}/224)\rfloor)。
    • S4:使用ROI pooling将这些区域转换为相同尺寸的特征图;
    • S5:使用相同大小的特征图,来进行分类和bbox回归。

    6) 实验结果

    图10 实验结果比对

    相关文章

      网友评论

        本文标题:3 计算机视觉-阅读笔记(3)

        本文链接:https://www.haomeiwen.com/subject/osfbgqtx.html