梳理检测论文-Refinement Neural Network Single-Shot Refinement Neural Network for Object Detection 目录 1. motivation 2. RefineDet 解析(Network Architecture)

目录

1. motivation

2. RefineDet 解析(Network Architecture)

     2.1 backbone 的构造

     2.1 ARM的作用与构造

     2.2 ODM的作用与构造

     2.3 TCB 模块解析

     2.4 multi-task loss function:

     2.5 Two-Step Cascaded Regression(两步级联的回归)

     2.6 Negative Anchor Filtering

3. Training and Inference

      3.1 Data Augmentation

      3.2 Backbone Network

      3.3 Anchor的设计与匹配

4. 总结

    4.2 技术总结

    4.2.1 数据的处理(voc0712.py)

1. motivation

对于目标检测的方法按照处理流程可以分为:2-stage approach 和 1-stage approach; 两者在处理速度和准确率上各有千秋:

两步法(2-stage)[1],[2],[3] 先生成候选目标框集合(稀疏),然后进一步对它们进行分类和回归; 2-stage方法在一些比赛中取得了较好的性能;例如 faster R-CNN,往往具有很高的准确率,但速度相对而言并不快;

一步法(1-stage)[4],[5] 通过在位置、尺度和高宽比上的规则和密集抽样来检测物体.其主要优点是计算效率高,其检测精度通常落后于两阶段法,其主要原因之一是类别不平衡问题。例如 SSD,yolo,却可以获得很高的速度 为了克服两者缺点、继承双方的优点

基于此, 本篇论文提出的模型 RefineDet致力于将两者的优点结合起来, 弥补两者的缺点, 即:获得比2-stage 方法更好的准确率,并且具有与1 stage媲美的效率。

2. RefineDet 解析(Network Architecture)

本章主要讲解RefineDet每个模块的功能和实现方法;

RefineDet 的框架结构与SSD[4]有点类似, 总工作流程如下:

  1. 网络通过前馈生成固定数量的bounding box和分数;分数代表了这些box中某些类别的可能性。
  2. 使用non-maximum suppression产生最终的结果。

从结构上看,RefineDet主要由两个内部链接的模块组成:anchor强化模块(anchor refinement module, ARM)和物体检测模块(object detection module,ODM)。TCB模块是用于连接ARM和ODM的一个模块;

2.1 backbone 的构造

网络的主框架可以是VGG或者Resnet; 为了方便起见这里以VGG16为例,作为backbone.

backbone是通过删除VGG的分类层后,再添加两个基本网络的辅助结构(即,在ImageNet 上预训练的VGG-16 和ResNet-101 )来构建的; 为了表达方便,将删除分类层的VGG16称为base, 添加的辅助结构叫做extras,  网络的构造如下:

梳理检测论文-Refinement Neural Network
Single-Shot Refinement Neural Network for Object Detection
目录
1. motivation
2. RefineDet 解析(Network Architecture)

实现代码: 1. base 的vgg