目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

卷积

  • 目的:如果直接把原图像的全部信息输入网络中,那么冗余信息非常之多并且计算量会非常大,因此利用卷积可以减少冗余信息并且提取必要的特征。不同的卷积核可以提取不同的特征。
  • 原理:用卷积核在输入图像上滑动,对应像素点做运算。
    • 卷积核

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    • 滑动运算

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

池化

  • 目的:卷积操作会降低一定的信息冗余,但是相邻像素点的像素值信息会非常接近。池化操作就进一步解决了信息冗余的问题,通过减小输入的大小降低输出值的数量,通常有最大值、最小值或平均值池化。
  • 原理:如图所示,该池化为最大值池化

    目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

  • ROI pooling

    目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

Padding

  • 目的:在卷积处理时,输出图像会与输入图像的大小不符,而padding就是为了使输入、输出图像大小相同。
  • 原理:在图像周围添加零。

    目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

感受野

  • 概念:卷积神经网络(CNN)中每层的卷积特征图(feature map)上的像素点在原始图像中映射的区域大小,也就相当于高层的特征图中的像素点受原图多大区域的影响。

    目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

上采样与下采样

  • 下采样:也称为降采样,主要目的是缩小图像,使得图像符合显示区域的大小,也可以生成对应图像的缩略图。
  • 上采样:也称为图像插值,主要目的是放大图像。

RPN(区域候选网络)

  • 目的:在特征图后产生候选预测区域。
  • 应用:fast rcnn + rpn = faster rcnn
  • 原理:
    • 整体流程图:

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    • 整体流程说明:
    1. 输入为一个特征提取后的Feature Map,假设其大小为:N*(H*W)
    2. 用一个窗口(大小为256*(33)) 在Feature Map上滑动 ,每个滑动的位置做卷积,最终得到一个256(HW)的结果。其代表着HW个点,每个点是一个256维的向量,用于之后的计算。说明:这每个点都代表了滑动窗对应的特征图位置的信息,而特征图上这个区域的信息又代表了原图一定区域的信息,故每个点都是代表原图上的一块区域。
    3. 对H*W个点所对应的长度为256的特征向量分别做两次全连接操作,一个得到该点对应的分数,包括前景和背景分数,一个得到4个坐标。前面讲到,每个点对应特征图的某一滑窗区域,在RPN中每个滑窗区域自动选取了k=9个不同的框(Anchor Boxes),因此对每一点会分别计算其对应的9个框的分数以及坐标。故产生了2k个分数和4k个坐标。
    4. 这样在特征图上的每一个滑窗区域就标记了九个框,然后再由特征图映射到原图中去。这样就得到了一整幅图的候选区域,之后再根据分数等信息予以淘汰。

FPN(特征金字塔网络)

  • 目的:对多尺度的检测有更好地效果。
  • 原理:
    • 金字塔网络的发展:
    1. 特征图像金字塔:将图像resize成不同的大小,分别进行预测,会导致计算量非常大。

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    2. 单特征图:不断提取特征,再最后一层进行预测,尺度单一。

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    3. 这种形式也没有得到足够低层的特征,低层的特征会在小目标检测中起到重要作用。

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

    • 特征金字塔网络:

      目标检测基础知识:卷积、池化、填充、采样、RPN、FPN

      左边满足自底向上的特征提取过程,这里从上往下依次记为L_1,L_2,L_3,右边满足自顶向下的上采样与融合过程,从上往下依次记为R_1,R_2,R_3。该网络的步骤如下:左边提取完特征后,L_1也就是R_1,会进行上采样,上采样成与L_2大小相同的尺寸,并于L_2融合形成R_2。接下来同样,将R_2上采样并与L_3融合成R_3。

      这样便充分融合利用到了不同层的特征信息,更好地实现了多尺度对象的检测。