人工智能目标检测模型总结(二)——目标检测two-stage模型汇总

two-stage模型:R-CNN、Fast R-CNN、Faster R-CNN

三个模型都是Ross Girshick教授分别在2014、2015年提出来的,在PASCAL VOC 2007数据集上取得不错的进展。

 

目标检测方法分类两个阶段:

  1. 分类
  2. 定位

一、原始方法

操作流程:如下图(要识别一只熊),用各种大小的框在图片中进行反复截取,输入到CNN中识别计算得分,最后确定出目标类别和位置。

缺点:效率低,太耗时。

二、R-CNN

2014年,区域卷积神经网络(Region CNN)可以说是深度学习进行目标检测的开山之作,作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂。2010年就获得终身成就奖,现就职于Facebook的人工智能实验室(FAIR)。

1.算法流程:

  1. 输入图像
  2. 每张图像生成1k~2k候选区域
  3. 对每个候选区域使用深度网络提取特征(AlexNet、VGG等CNN都可以)
  4. 对特征送入每一类的SVM分类器,判别是否属于该类
  5. 使用回归器精细修正候选位置

2.具体操作:

(1)生成候选区域

使用Selective Search(选择性搜索)方法对一张图像生成约2000-3000个候选区域,基本思路如下:

①使用一种过分割手段,将图像分割成小区域
②查看现有小区域,合并可能性最高的两个区域,重复直到整张图像合并成一个区域位置。优先合并以下区域:

  • 颜色(颜色直方图)相近的
  • 纹理(梯度直方图)相近的
  • 合并后总面积小的
  • 合并后,总面积在其BBOX中所占比例大的
    在合并时须保证合并操作的尺度较为均匀,避免一个大区域陆续“吃掉”其它小区域,保证合并后形状规则。

③输出所有曾经存在过的区域,即所谓候选区域
 

2)特征提取

使用深度网络提取特征之前,首先把候选区域归一化成同一尺寸227×227。
使用CNN模型进行训练,例如AlexNet,一般会略作简化,如下图:

(3)类别判断

对每一类目标,使用一个线性SVM二类分类器进行判别。输入为深度网络(如上图的AlexNet)输出的4096维特征,输出是否属于此类。

(4)位置精修

目标检测的衡量标准是重叠面积:许多看似准确的检测结果,往往因为候选框不够准确,重叠面积很小,故需要一个位置精修步骤,对于每一个类,训练一个线性回归模型去判定这个框是否框得完美,如下图:

3.优点

R-CNN将深度学习引入检测领域,一举将PASCAL VOC上的检测率从35.1%提升到53.7%

三、Fast R-CNN

Ross Girshick2015年推出Fast R-CNN,大幅提升目标检测速度。

1.流程:

(1)特征提取阶段

通过CNN(如AlexNet)中的conv、pooling、relu等操作都不需要固定大小尺寸的输入,因此在原始图片上执行这些操作后,输入图片尺寸不同将会导致得到的feature map(特征图)尺寸也不同,这样就不能连接到一个全连接层进行分类。

在Fast R-CNN中,作者提出了一个ROI Pooling的网络层,这个网络层可以把不同大小的输映射到一个固定尺度的特征向量。ROI Pooling层将每个候选区域均匀分成MxN块,对每块进行max pooling。将特征图上大小不一的候选区域转变为大小统一的数据,送入下一层。这样虽然输入图片尺寸不同,得到的feature map尺寸也不同,但是可以加入这个神奇的ROI Pooling层,对每个region都提取一个固定维度的特征表示,就可以再通过正常的softmax进行类型识别。

(2)分类回归阶段

在R-CNN中,先生成候选框,然后再通过CNN提取特征,之后再用SVM分类,最后再做回归得到具体位置(bbox regression)。而在Fast R-CNN中,作者巧妙的把最后的bbox regression也放进了神经网络内部,与区域分类合并成为了一个multi-task,如下图

 

优点

消除了R-CNN的一张图像内候选框之间存在大量重叠,提取特征操作冗余。Fast R-CNN将整张图像归一化后直接送入深度网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层图特征不需要再重复计算。

R-CNN独立的分类器和回归器需要大量特征作为训练样本。Fast R-CNN把类别判断和位置精调统一用深度网络实现,不需要额外存储。

四、Faster R-CNN 

2015年Ross Girshick提出,使简单网络目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%,复杂网络达到5fps,准确率78.8%。

解决:

Fast R-CNN存在瓶颈问题:Selective Search(选择性搜索)。要找出所有的候选框,这个非常耗时。Faster R-CNN提出加入一个提取边缘的神经网络,也就是说将找候选框的工作交给神经网络。这样目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。如下图所示:

Faster R-CNN可以简单地看成是“区域生成网络+Fast R-CNN”的模型。用区域生成网络(Region Proposal Network,简称RPN)来代替Fast R-CNN中的Selective Search(选择性搜索)方法。

 

RPN的工作步骤:

在feature map(特征图)上滑动窗口

建一个神经网络用于物体分类+框位置的回归

滑动窗口的位置提供了物体的大体位置信息

框的回归提供了框更精确的位置

下表是三个模型检测速度对比:

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值