目标检测算法基础——03基于Two-stage的目标检测算法
基于Two-stage的目标检测算法
一、Two-stage基本介绍
- CNN卷积特征
- R. Girshick et al., 2014提出R-CNN到faster RCNN
- 端到端的目标检测(RPN网络)
- 准确度高、速度相对one-stage慢
Two-stage的目标检测算法主要是通过一个完整的卷积神经网络来完成目标检测的过程,进行目标检测时用到的特征就是CNN的特征,也就是通过一个CNN来提取对候选区域目标的特征的描述
二、Two-stage基本流程
首先输入一张图片,然后图片进行深度特征提取,也就是一幅图作为输入经过一个卷积神经网络,通常将其称为主干网络,典型的主干网络包括VGG、ResNet等一些经典的卷积神经网络,再然后通过一个RPN网络来完成传统目标检测算法中滑动窗口所完成的任务,也就是产生候选区域, 这些候选区域会通过RPN网络来完成,并且在进行候选框区域提取的时候完成候选框区域分类,分类过程中将候选框区域分类为背景和目标两种不同类别,并且在RPN网络产生候选区域的时候会对目标的位置进行初步的预测,也就是完成区域分类和位置精修两个环节,在得到候选区域之后,通过roi_pooling层对候选区域进一步精确进行位置回归和修正,可以将roi_pooling理解为抠图,接下来得到候选目标对应到feature map上的特征后,会通过一个fc层,来进一步对候选区域的特征进行表示,接下来通过分类和回归来分别完成对候选目标的类别的判定以及候选目标位置的精修,这里的类别不同于RPN网络的类别,这里通常会得到物体真实的类别,回归主要得到当前目标具体的坐标位置,通常表示为一个矩形框,即四个值(x,y,w,h)
三、Two-stage常见算法
- RCNN
- Fast RCNN
- Faster RCNN
- Faster RCNN变种