zoukankan      html  css  js  c++  java
  • SSD系列算法理解

    SSD(Single Shot MultiBox Detector)系列算法属于one-stage算法;

    SSD算法采用直接回归计算出目标类别和位置。处理对象为原始图像经过卷积之后的feature map。

    与two-stage算法的区别是,不需要proposal box候选框的提取,即不需要RPN网络。

                                                                                          图1 one-stage系列算法框架

    同时使用多尺度的feature map的预测,即将得到的feature map通过下采样(这里使用pooling来实现下采样),得到不同大小的feature map,每个feature map作为后续层(Prior Box层)的输入。如下图所示:

                                                                                      图2 SSD系列网络架构

    Prior Box Layer(anchor机制):

    假设有m*n个cell(原始图像经过卷积之后的feature map上的每个像素---以其映射到原图中的坐标为中心点坐标,选K个box,也就是anchor,一般选取3个尺寸大小和3个比例值,k=9)

    如上所述,假设每个feature map有m*n个cell,每个cell产生k个bounding box,每个bounding box预测c个类别score和4个offset,则该网络有(c+4)*k*m*n个输出。

    其中,对于38*38的feature map,每个cell产生4个prior box,19*19的feature map,每个cell产生6个prior box……,如下:

    一共产生:38*38*4+19*19*6+10*10*6+5*5*6+3*3*4+1*1*4 = 8732个prior box。

    每个cell的k个default box,经过与GT(Ground truth)做IOU,当IOU大于正样本阈值时作为正样本,如果IOU小于负样本阈值将其作为负样本,其余中间的prior box将其忽略掉。

    训练时需要确保prior box的分类准确,且尽可能回归到GT Box。

    注意点:

    难例挖掘

    正负样本比为1:3

    损失函数如下:

    SSD算法对小目标不够鲁棒性,主要是因为浅层feature map的表征能力不强。------>DSSD网络

    DSSD网络:

    1、改变了主干网络:ResNet

    2、使用了反卷积网络结构

  • 相关阅读:
    RabbitMQ介绍
    idea根据Ctrl和滑轮改变字体大小
    com.fasterxml.jackson.databind.exc.InvalidDefinitionException
    Git出现Push rejected: Push to origin/master was rejected
    java单机操作redis3.2.10和集群操作增删改查
    java操作hbase1.3.1的增删改查
    Gobblin采集kafka数据
    使用连接池和缓存机制,处理连接数据库操作
    用cmd导入oracle的.dmp文件和修改oracle管理员密码
    oracle to_date函数和mysql DATE_FORMAT函数用法
  • 原文地址:https://www.cnblogs.com/xjlearningAI/p/11379495.html
Copyright © 2011-2022 走看看