Object Detection (RCNN,The Way to Endtoend)

本文主要简单介绍了RCNN如何一步步改进到支持端到端训练的Faster-RCNN。

一、Object Detection From RCNN to Faster RCNN

1.1 RCNN

1)几个重要的创新

  • selection search提取候选区域
  • 利用cnn 提取重要的特征(需要将特征保存到硬盘中,用于svm的训练)
  • 利用svm对不同的候选框进行分类
  • 利用回归来获取更加准确的位置

2)存在的不足

  • 训练需要分成多个阶段完成
  • 训练和存储代价大
  • 检测速度缓慢

1.2 SPP-Net

1) 几个重要的贡献

  • rcnn速度缓慢的原因是它需要分别对每个proposal提取特征,而没有共享计算
  • 输入整张图片,然后利用spp层提取不同尺度大小的featuremap,最后将它们级联起来,最后输出一个特定维度的特征向量。
  • spp-net使得rcnn在检测的时候提升了10到100倍。训练速度提升了3倍。

2) 存在的不足

  • 训练仍然需要多个阶段。仍然需要提取特征训练svm; 最后仍然需要利用回归模型来获取更加精确的定位。
  • 需要将特征保存到硬盘中。
  • 网络训练的时候梯度没法穿过spp层。

1.3 Fast RCNN

1) 几个重要的贡献

  • 利用ROIPooling层解决需要将同张图的每个候选区域分别输入网络提取特征的问题,提升了训练以及检测的速度。
    ROIpooling层可以说是单尺度的SPP层,它可以输出特定大小的特征向量,类似于根据情况调整Pooling层的kenal size。
  • 有了ROIPooling层后可以直接输入原图,并利用CNN以及ROIpooling来提取每个ROI区域的特征,然后利用CNN对每个ROI区域进行分类以及定位
  • 有了ROIPooling层后,训练只需要单个阶段就可以完成。最后使用了多任务的loss(softmax层以及bounding box 回归)。
  • 可以调整网络的所有层。
  • 不需要将特征保存到硬盘中

2) 存在的不足:

  • 仍然需要利用selection search提取proposals

1.4 Faster RCNN

1) 几个重要的贡献

  • 提出了利用PRN来提取候选区域,并让PRN与Fast Rcnn共享网络。使得目标检测成为真正的一种endtoend的方式,并将速度进一步提升到可以进行实时检测的目的。

2) 存在的不足:

  • 到此两阶段的目标检测方法就基本定型了,更多是在此基础上如何做到更加准确,更加快

二、目标检测数据集

1) PASCAL VOC
2) COCO

  1. mAP(mean average precision)
  • precision:检测出相关的内容占检测出的内容的比例。
  • average precision:举个例子,比如说当前文档相关的主题有5个,检测出了3个,其中3个相关的主题rank分别为2,3,4,则这个文档的average precision就是(1/2+2/3+3/4+0+0)/5 。
  • mAP:则是每个文档的average precision的平均值。
    这里的文档对应于目标检测的每张图片,而相关主题则对应到图片中目标的个数
  1. IoU(交并比)
  • 两个区域的交集比上两个区域的并集
  1. non maxinum supression
  • 与得分最高的区域的IOU高于某个阈值时,将其排除掉

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 524813168@qq.com

文章标题:Object Detection (RCNN,The Way to Endtoend)

文章字数:842

本文作者:xieweihao

发布时间:2016-12-04, 11:43:01

最后更新:2020-04-13, 22:58:57

原始链接:http://weihaoxie.com/post/4ec81054.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏