zoukankan      html  css  js  c++  java
  • (七)目标检测算法之SSD

    系列博客链接:

    (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html

    (二)目标检测算法之R-CNN https://www.cnblogs.com/kongweisi/p/10895055.html

    (三)目标检测算法之SPPNet https://www.cnblogs.com/kongweisi/p/10899771.html

    (四)目标检测算法之Fast R-CNN https://www.cnblogs.com/kongweisi/p/10900021.html

    (五)目标检测算法之Faster R-CNN https://www.cnblogs.com/kongweisi/p/10904260.html

    (六)目标检测算法之YOLO https://www.cnblogs.com/kongweisi/p/11001688.html

    本文概述:

    • 目标
      • 知道SSD的结构
      • 说明Detector & classifier的作用
      • 说明SSD的优点

    1 SSD

    1.1 简介

    SSD算法源于2016年发表的算法论文,论文网址:https://arxiv.org/abs/1512.02325

    SSD的特点在于:

    • SSD结合了YOLO中的回归思想和Faster-RCNN中的Anchor机制,使用全图各个位置的多尺度区域进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster-RCNN一样比较精准。

    • SSD的核心是在不同尺度的特征特征图上采用卷积核来预测一系列Default Bounding Boxes的类别、坐标偏移。

    1.2 结构

    以VGG-16为基础,使用VGG的前五个卷积,后面增加从CONV6开始的5个卷积结构,输入图片要求300*300。

    1.3 流程

    SSD中引入了Defalut Box,实际上与Faster R-CNN的anchor box机制类似,就是预设一些目标预选框,

    不同的是在不同尺度feature map所有特征点上是使用不同的prior boxes

    1.4 Detector & classifier

    Detector & classifier的三个部分:

    • 1.default boxes: 默认候选框

    • 2.localization:4个位置偏移

    • 3.confidence:21个类别置信度(要区分出背景)

    1.4.1 default boxes

    default boxex类似于RPN当中的滑动窗口生成的候选框,SSD中也是对特征图中的每一个像素生成若干个框。

    只不过SSD当中的默认框有生成的公式

    了解:

    • ratio:长宽比
    • 默认框的大小计算参数:s_min:最底层的特征图计算参数,s_max最顶层的特征图计算参数
    1.4.2 localization与confidence

    这两者的意义如下,主要作用用来过滤,训练

    经过这一次过滤操作,会将候选框筛选出数量较少的prior boxes

    关于三种boxes的解释区别:

    • gournd truth boxes:训练集中,标注好的待检测类别的的位置,即真实的位置,目标的左下角和右上角坐标
    • default boxes:在feature map上每一个点上生成的某一类别图片的位置。feature map每个点生成4或6个box(数量是事先指定的),格式为转换过后的(x, y, w, h)
    • prior boxes:经过置信度阈值筛选后,剩下的可能性高的boxes。这个box才是会被真正去做回归

    也就是说SSD中提供事先计算好的候选框这样的机制,只不过不需要再像RPN那种筛选调整,

    而是直接经过prior boxes之后做回归操作(因为confidence中提供了21个类别概率可以筛选出背景)

    问题:SSD中的多个Detector & classifier有什么作用?

    SSD的核心是在不同尺度的特征图上来进行Detector & classifier 容易使得SSD观察到更小的物体

    2 训练与测试流程

    2.1 train流程

    • 输入->输出->结果与ground truth标记样本回归损失计算->反向传播, 更新权值

    1. 样本标记:

    利用anchor与对应的ground truth进行标记正负样本,每次并不训练8732张计算好的default boxes, 先进行置信度筛选,并且训练指定的正样本和负样本, 如下规则

    • 正样本

      • 1.与GT重合最高的boxes, 其输出对应label设为对应物体.
      • 2.物体GT与anchor iou满足大于0.5
    • 负样本:其它的样本标记为负样本

    在训练时, default boxes按照正负样本控制positive:negative=1:3

    3. 损失

    网络输出预测的predict box与ground truth回归变换之间的损失计算, 置信度是采用 Softmax Loss(Faster R-CNN是log loss),位置回归则是采用 Smooth L1 loss (与Faster R-CNN一样)

    2.2 test流程

    • 输入->输出->nms->输出

    3 比较

    从图中看出SSD算法有较高的准确率和性能,兼顾了速度和精度

    4 总结

    • SSD的结构
    • Detector & classifier的组成部分以及作用
    • SSD的训练样本标记
    • GT与default boxes的格式转换过程

  • 相关阅读:
    说说css中pt、px、em、rem都扮演了什么角色
    前端设计师如何提高UI界面中的阅读性
    前端设计师如何写一个交互好转化率高的表单
    教程:安装禅道zentao项目管理软件github上的开发版
    开源软件如何赚钱?
    警示!一幅漫画揭示了项目研发过程中存在的问题
    前端设计师常用的一些基础工具素材合集
    前端设计师必收的5款免费响应式布局测试工具
    推荐的五款市面上常用的免费CMS建站系统
    为什么在有的服务器上禅道、蝉知安装会报错? 之理解MySQL的SQL_MODE
  • 原文地址:https://www.cnblogs.com/kongweisi/p/11151791.html
Copyright © 2011-2022 走看看