一、One-stage类别的目标检测算法
1、什么是One-stage
直接回归物体的类别概率和位置坐标值(无region proposal),但准确度低,速度相遇two-stage快。
2、One-stage的目标检测方法概述
直接通过主干网络给出类别和位置信息,没有使用RPN网路。这样的算法速度更快,但是精度相对Two-stage目标检测网络了略低。
- 目前常用的典型的One-stage目标检测网络
YOLOv1、YOLOv2、YOLOv3
SSD、DSSD等
Retina-Net等
二、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目标检测网络的基本流程
- 流程分析
首先输入一张图片,接着经过卷积神经网络,通过卷积神经网络对图片进行深度特征的提取,这个卷积神经网络称之为主干网络,典型的主干网络有VGGNet、ResNet 、Zenet等一些经典的卷积神经网络结构;接着通过RPN网络来进行候选区域产生的操作,同时也会完成区域的分类,即将图片分为背景和目标这样两种的不同的类别,并且也会对目标的位置进行初步的预测。
接下来对候选区域中的位置进行精确定位和修正,使用Roi_pooling层,可以将此层理解为抠图的操作,接着将抠图所得到的候选目标对应到特征图(feature map)上相应的特征区域,然后经过一个全连接层(fc),并得到相应的特征向量,最后通过分类和回归这样两个分支,来实现对这个候选目标类别的判定和目标位置的确定(也就是最后矩形框的四个点的坐标,(x,y,w,h):(x,y)为左上角顶点的坐标,w,h是矩形框的长和宽)。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:目标检测——One-stage和Two-stage的详解 - Python技术站