zoukankan      html  css  js  c++  java
  • RefineDet by hs

    一、简介

    1、RefineDet综合了one-stage和two-stage的优点从而能够提高检测效果。主要包括two-stage算法对box由粗到细的回归思想和FPN中的特征融合思想来提升小物体的检测效果。

    2、可以看做是SSD算法、RPN网络和FPN算法的结合。

    二、参考

    2018CVPR: Single-Shot Refinement Neural Network for Object Detection

    论文:https://arxiv.org/abs/1711.06897 

    代码:https://github.com/sfzhang15/RefineDet

    三、网络结构

    主要由三部分组成,分别是anchor refinement module (ARM) 、object detection module (ODM)、transfer connection block (TCB)

    1、ARM

    类似于RPN网络,用来初步得到bbox,同时去除一些负样本。采用多层特征输入,分两路进行损失函数的计算,分类和边界回归,这一层主要是进行粗略的筛选(具体的细节未知,与精细的筛选有什么区别未知)

    2、TCB

    将ARM输出的特征图转成ODM的输入(为什么要转未知),中间进行了多层特征的融合。

    3、ODM

    相当于是SSD(需要复习一下),不同点是输入anchors是ARM模块得到的,且在SSD的基础上添加了FPN中的特征融合思想,对小物体的检测更加准确。

    这里和SSD最主要区别就在于SSD是直接在default box的基础上进行回归的,而RefineDet是通过ARM得到的anchors来进行回归的,这相当于就是把two-stage模型的优点整合到了one-stage模型中。

    四、损失函数

    损失函数较为简单,分为ARM和ODM两个部分的分类和边界回归损失,与SSD的损失函数大体相同,这里采用end-to-end的训练模式。

    五、模型效果

    六、总结

    1、结合了one-stage和two-stage的检测模型,检测效果得到提升

    2、是对SSD的改进,增加了对SSD中default box的优化,变为了由ARM模块得到refined anchors来进行检测。

  • 相关阅读:
    Ehcache缓存配置
    spring3使用task:annotation-driven开始定时
    Constructor >> @Autowired >> @PostConstruct
    面试转载
    阿里面试:MYSQL的引擎区别
    Redis的主从复制的原理介绍
    微服务的调用链
    java的零拷贝机制
    存储过程与触发器面试
    ABA问题
  • 原文地址:https://www.cnblogs.com/bupt213/p/11451371.html
Copyright © 2011-2022 走看看