zoukankan      html  css  js  c++  java
  • SSD算法原理

    Paper: https://arxiv.org/pdf/1512.02325.pdf


    SSD用神经网络(VGG)提取多层feature map ,来实现对不同大小物体的检测。如下图所示:

    We use the VGG-16 network as a base, but other networks should also produce good results.

    Train:

    损失函数=位置误差(locatization loss, loc)+alpha*置信度误差(confidence loss, conf)

    其中:

    1. 解决负样本过多的问题,仅保留损失函数最大的K个FPs,即只保留K个最像正阳本的背景。
    2. 运用Data augmentation技术,提高鲁棒性。

    Detect/Predict:

    1. 对于每个预测框,根据类别置信度确定其类别(置信度最大者)与置信度值。
    2. 根据置信度阈值(如0.5)过滤掉阈值较低的预测框。
    3. 对于留下的预测框进行解码,根据先验框得到其真实的位置参数(解码后一般还需要做clip,防止预测框位置超出图片)。
    4. 解码之后,一般需要根据置信度进行降序排列,然后仅保留top-k(如400)个预测框。
    5. 最后就是进行NMS算法,过滤掉那些重叠度较大的预测框。最后剩余的预测框就是检测结果了。

    本文参考了下面两篇文章:

    https://zhuanlan.zhihu.com/p/33544892

    https://blog.csdn.net/remanented/article/details/79943418

  • 相关阅读:
    模板方法设计模式
    单一职责原则
    开闭原则
    uml
    迭代器模式
    观察者模式
    工厂模式
    代理模式
    idea本地Maven仓库不能下载依赖jar包的解决方案
    selenium 使用教程详解-java版本
  • 原文地址:https://www.cnblogs.com/xbit/p/9997699.html
Copyright © 2011-2022 走看看