20.深度学习之计算机视觉-4

20.1 多尺度目标检测

  • 在锚框中,在以输入图像的每个像素为中心生成多个锚框。
  • 这些锚框是对输入图像不同区域的采样。然而,如果以图像每个像素为中心都生成锚框,很容易生成过多锚框而造成计算量过大
  • 减少锚框个数
    • 在输入图像中均匀采样一小部分像素,并以采样的像素为中心生成锚框
    • 在不同尺度下,可以生成不同数量和不同大小的锚框
    • 较小目标比较大目标在图像上出现位置的可能性更多
  • 既然已在多个尺度上生成了不同大小的锚框,相应地,需要在不同尺度下检测不同大小的目标
  • 基于卷积神经网络的方法
    • 在某个尺度下,假设依据Ci张形状为h×w的特征图生成h×w组不同中心的锚框,且每组的锚框个数为a ◼ 例如,在第一个尺度下,依据10(通道数)张形状为4×4的特征图生成了16组不同中心的锚框,且每组含3个锚框
    • 接下来,依据真实边界框的类别和位置,每个锚框将被标注类别和偏移量
    • 在当前的尺度下,目标检测模型需要根据输入图像预测h×w组不同中心的锚框的类别和偏移量
  • 假设这里的Ci张特征图为卷积神经网络根据输入图像做前向计算所得的中间输出。
  • 既然每张特征图上都有h×w个不同的空间位置,那么相同空间位置可以看作含有Ci个单元。
  • 将特征图在相同空间位置的ci个单元变换为以该位置为中心生成的a个锚框的类别和偏移量。
  • 本质上,用输入图像在某个感受野区域内的信息来预测输入图像上与该区域位置相近的锚框的类别和偏移量。
  • 当不同层的特征图在输入图像上分别拥有不同大小的感受野时,它们将分别用来检测不同大小的目标。
    • 例如,可以通过设计网络,令较接近输出层的特征图中每个单元拥有更广阔的感受野,从而检测输入图像中更大尺寸的目标。

20.2 目标检测算法分类

  • 基于深度学习的目标检测算法主要分为两类:
    • Two stage目标检测算法
      • 任务:特征提取—>生成RP—>分类/定位回归
      • 常见的two stage目标检测算法有:R-CNN、Fast R-CNN、Faster R-CNN和R-FCN等
    • One stage目标检测算法
      • 任务:特征提取—>分类/定位回归
      • 常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3和SSD等

20.2.1 SSD( Single Shot multibox Detection )

  • SSD属于one-stage方法。
    • SSD使用 VGG16 网络作为特征提取器,将后面的全连接层替换成卷积层,并在之后添加自定义卷积层,并在最后直接采用卷积进行检测。
    • 在多个特征图上设置不同缩放比例和不同宽高比的先验框以融合多尺度特征图进行检测,靠前的大尺度特征图可以捕捉到小物体的信息,而靠后的小尺度特征图能捕捉到大物体的信息,从而提高检测的准确性和定位的准确性。
  • 如下图是SSD的网络结构图


  • 怎样创建锚框?
    • SSD在多个特征层上取锚框,可以得到不同尺度的锚框。
    • 在特征图的每个单元上取不同宽高比的锚框,一般宽高比在{1,2,3,1/2,1/3}中选取
    • 如图所示,在8x8的feature map和4x4的feature map上的每个单元取4个不同的锚框。


大数据视频推荐:
腾讯课堂
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

你可能感兴趣的:(20.深度学习之计算机视觉-4)