图像识别之目标检测(2)

上一节我们介绍了RCNN模型和原理,但是大家也看到它存在诸多缺点,在2015年fast-RCNN诞生了。

RCNN的提出者Ross
Girshick提出了这样的想法,即每个图像只运行一次CNN,然后找到一种在2,000个区域内共享该计算的方法。在Fast
RCNN中,将输入图像馈送到CNN,CNN生成卷积特征映射。使用这些特征图提取候选区域。然后,使用RoI池化层将所有建议的区域重新整形为固定大小,以便将其馈送到全连接网络中。
       下面将其分解为简化概念的步骤:

  • 首先将图像作为输入;

  • 将图像传递给卷积神经网络,生成感兴趣的区域;

  • 在所有的感兴趣的区域上应用RoI池化层,并调整区域的尺寸。然后,每个区域被传递到全连接层的网络中;

  • softmax层用于全连接网以输出类别。与softmax层一起,也并行使用线性回归层,以输出预测类的边界框坐标。

因此,Fast RCNN算法中没有使用三个不同的模型,而使用单个模型从区域中提取特征,将它们分成不同的类,并同时返回所标识类的边界框。

对上述过程进行可视化讲解:

      图像识别之目标检测(2)

将图像传递给卷积神经网络,后者相应地返回感兴趣的区域;

图像识别之目标检测(2)然后,在提取的感兴趣区域上应用RoI池层,以确保所有区域具有相同的大小;

图像识别之目标检测(2)

最后,这些区域被传递到一个全连接网络,对其进行分类,并同时使用softmax和线性回归层返回边界框;

图像识别之目标检测(2)

上述过程说明了Fast RCNN是如何解决RCNN的两个主要问题,即将每个图像中的1个而不是2,000个区域传递给卷积神经网络,并使用一个模型来实现提取特征、分类和生成边界框。

Fast RCNN的问题

       Fast RCNN也存在一定的问题,它仍然使用选择性搜索作为查找感兴趣区域的提议方法,这是一个缓慢且耗时的过程,每个图像检测对象大约需要2秒钟。
因此,又开发了另一种物体检测算法——Faster RCNN。

Faster RCNN的思想

       Faster RCNN是Fast RCNN的修改版本,二者之间的主要区别在于,Fast
RCNN使用选择性搜索来生成感兴趣区域,而Faster
RCNN使用“区域提议网络”,即RPN
。RPN将图像特征映射作为输入,并生成一组提议对象,每个对象提议都以对象分数作为输出。
     以下步骤通常采用Faster RCNN方法:

  • 1.将图像作为输入并将其传递给卷积神经网络,后者返回该图像的特征图;

  • 2.在这些特征图上应用RPN,返回提议对象及其分数;

  • 3.在这些提议对象上应用RoI池化层,以将所有提案降低到相同的大小;

  • 4.最后,将提议传递到全连接层,该层在其顶部具有softmax层和线性回归层,以对对象的边界框进行分类和输出;

图像识别之目标检测(2)

 这里简要解释一下RPN是如何运作的:
       首先,Faster RCNN从CNN获取特征图并将它们传递到区域提议网络。RPN在这些特征图上使用滑动窗口,每个窗口生成不同形状和大小的k个方框( Anchor boxes):

图像识别之目标检测(2)

方框是固定尺寸的边界箱,具有不同的形状和尺寸。对于每个方框,RPN预测两件事:

  • 预测锚是对象的概率;

  • 用于边界框回归器调整锚点以更好地适合物体的形状;

在有了不同形状和大小的边界框后,将其传递到RoI池化层。对每个提案并对其进行裁剪,以便每个提案都包含一个对象。这就是RoI池化层所做的事情,它为每个方框提取固定大小的特征图:

图像识别之目标检测(2)

然后将这些特征图传递到全连接层,该层具有softmax和线性回归层,最终对对象进行分类并预测已识别对象的边界框。

Faster RCNN的问题

      上述讨论过的所有对象检测算法都使用区域来识别对象,且网络不会一次查看完整图像,而是按顺序关注图像的某些部分,这样会带来两个复杂性的问题:

  • 该算法需要多次通过单个图像来提取到所有对象;

  • 由于不是端到端的算法,不同的系统一个接一个地工作,整体系统的性能进一步取决于先前系统的表现效果。

总结

下表是总结了本文中介绍的所有算法

算法                    特征 预测时间             限制
CNN 将图像分成多个区域,将每个区域分类为不同的类别 - 需要很多区域来准确预测,因此计算时间长
RCNN 使用选择性搜索生成区域,从每个图像中提取大约2000个区域 40-50秒 每个区域分别传递给CNN的计算时间也很长,且使用三种不同的模型进行预测
Fast RCNN 每个图像只传递一次到CNN,并提取特征图。在这些地图上使用选择性搜索来生成预测。将RCNN中使用的所有三种模型组合在一起 2秒 选择性搜索很慢,因此计算时间仍然很长
Faster RCNN 用区域提议网络替换选择性搜索方法,使算法更快 0.2秒 对象提议需要时间,并且由于不同的系统一个接一个地工作,系统的性能取决于先前系统的表现效果

本文转载自云栖社区,文章原标题《A Step-by-Step Introduction to the Basic Object Detection Algorithms (Part 1)》,译者:海棠,审校:Uncle_LLD。

图像识别之目标检测(2)

图像识别之目标检测(2)

图像识别之目标检测(2)