一、One-stage类别的目标检测算法


1、什么是One-stage

直接回归物体的类别概率和位置坐标值(无region proposal),但准确度低,速度相遇two-stage快。

2、One-stage的目标检测方法概述

 

                                             目标检测——One-stage和Two-stage的详解

                                                                    目标检测——One-stage和Two-stage的详解

直接通过主干网络给出类别和位置信息,没有使用RPN网路。这样的算法速度更快,但是精度相对Two-stage目标检测网络了略低。

  • 目前常用的典型的One-stage目标检测网络

        YOLOv1、YOLOv2、YOLOv3

         SSD、DSSD等

        Retina-Net等

 

                                 目标检测——One-stage和Two-stage的详解

 

 


二、Two-stage类别的目标检测算法


1、什么是Two-stage

 先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类。

2、Two-stage的目标检测方法概述

对于Two-stage的目标检测网络,主要通过一个卷积神经网络来完成目标检测过程,其提取的是CNN卷积特征,在训练网络时,其主要训练两个部分,第一步是训练RPN网络,第二步是训练目标区域检测的网络。网络的准确度高、速度相对One-stage慢。

  • Two-stage算法的代表

      R.Girshick et al等人在2014年提出的R-CNN到Faster R-CNN网络。

      

  • Two-stage目标检测网络的基本流程

目标检测——One-stage和Two-stage的详解

  • 流程分析

首先输入一张图片,接着经过卷积神经网络,通过卷积神经网络对图片进行深度特征的提取,这个卷积神经网络称之为主干网络,典型的主干网络有VGGNet、ResNet 、Zenet等一些经典的卷积神经网络结构;接着通过RPN网络来进行候选区域产生的操作,同时也会完成区域的分类,即将图片分为背景和目标这样两种的不同的类别,并且也会对目标的位置进行初步的预测。

接下来对候选区域中的位置进行精确定位和修正,使用Roi_pooling层,可以将此层理解为抠图的操作,接着将抠图所得到的候选目标对应到特征图(feature map)上相应的特征区域,然后经过一个全连接层(fc),并得到相应的特征向量,最后通过分类和回归这样两个分支,来实现对这个候选目标类别的判定和目标位置的确定(也就是最后矩形框的四个点的坐标,(x,y,w,h):(x,y)为左上角顶点的坐标,w,h是矩形框的长和宽)。

 

                       目标检测——One-stage和Two-stage的详解