R-CNN模型是怎样的

R-CNN模型是怎样的

这篇文章主要讲解了“R-CNN模型是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“R-CNN模型是怎样的”吧!

摘要

目标识别与检测数据库:PASCAL VOC在12年以前一直进展缓慢,一些新提出的优化方法只是把之前的方法线性地结合在一起。Ross Girshick提出的R-CNN直接将识别准确率提高了30%。作者主要利用两个因素:一个是CNN可以应用于区域候选,以便定位和分割物体;另一个是当标记的训练数据很少时,辅助任务的预训练加以fine-tuning,可以显著提高性能。(when labeled training data is scarce, supervised pre-training for an auxiliary task, followed by domain-specific fine-tuning, yields a significant performance boost.)

R-CNN模型是怎样的

1. 介绍

  • R-CNN提出以前,各式各样的目标检测算法大都基于SIFTHOG算子,二者都是 blockwise orientation histograms,我们可以大致地将它们与哺乳动物视觉联系起来。但大脑的识别过程应该是多层传递的,因此识别程序也应该有一个多层结构。基于此,Fukushima提出了“neocognitron”方法,Lecun也提出了“missing algorithm”

  • 鉴于13年CNN的火爆,作者认为:CNN在图像分类上的结果也可以扩展应用到PASCAL VOC的挑战上。为了达成目标,需要解决两个问题:

    • 用深度网络定位目标。目标检测首先需要定位物体(localization)。定位的实现方式一般为滑动窗检测(用窗口截取图像的一部分,每次都做一个定位回归),但对于较大感受野和步长的CNN是一个不小的挑战。

    • 用小容量的标记数据训练大容量的网络。解决方式上面其实已经说了,就是在ILSVRC这个大的辅助训练集上进行监督训练,接着在PASCAL上domain-specific fine-tuning。

  • 另外,作者的系统也十分有效:The only class-specific computations are a reasonably small matrix-vector product and greedy non-maximum suppression。

  • 作者还发现,即使去除94%的参数,CNN模型检测的准确率只会有略微的下降。通过一个检测分析工具,发现只需要通过简单的边界框回归就可以显著地降低定位错误率。


2. R-CNN模型介绍

2.1 模型设计

  • 整个检测系统分为三个部分:

    • 生成独立分类的候选区域。作者的方法是use selective search to enable a controlled comparison with prior

    • 用CNN,对每个候选区域提出固定长度的特征向量。输入的图片固定为227*227,且提前进行mean-subtracted处理。之后用一个5卷积层,2全连接层的CNN来提取4096维特征向量。

    • 用SVM对特征向量进行分类。

2.2 Test-time detection

  • 一开始,系统先用selective search提取2000个候选区域,并将其warp到277*277大小,进入CNN提取特征,并用SVM分类。最后,再用 greedy non-maximum suppression 把那些高度重叠的框剔除。

  • R-CNN运行时间很短,这归功于两点:1.CNN对于每个分类的参数都是共享的;2.与其他方法相比,4096维的特征向量算是很小的了。

  • 运行结果是,即使有100k个分类,一张图在多核CPU上也只要10秒;生成的低维特征图只占1.5GB。

2.3 Training

  • Supervised pre-training:先将CNN在ILSVRC 2012上进行预训练(with image-level annotations (i.e., no bounding box labels)),框架采用的是Caffe。由于训练过程的简单化,作者不小心就达到了ILSVRC最低错误率;

  • Domain-specific fine-tuning:微调过程,以0.001的学习速率进行SGD训练。对某个分类只要IOU>0.5就视该边框为正值。每次SGD迭代都采样38个正边框和96个背景。

  • Object category classifiers:对某个分类,高IOU和IOU都很好区分,但IOU处于中值时则很难定义生成的候选框是否包含了该物体。作者设定了一个阈值0.3,低于它的一律视为背景(负数)。另外,每个分类都优化一个SVM。由于负样本很多,因此还采用了hard negative mining方法

2.4 Results on PASCAL VOC 2010-12

  • 作者提交了两个版本,一个没有bounding box regression(RCNN),一个有(RCNN BB),结果如下:

  • 简而言之,就是MAP显著提高了不少(从35.1%到53.7%),而且运行时间也短。

感谢各位的阅读,以上就是“R-CNN模型是怎样的”的内容了,经过本文的学习后,相信大家对R-CNN模型是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

发布于 2022-01-14 22:30:17
收藏
分享
海报
0 条评论
43
上一篇:CNN中ReLU和Pooling操作是怎样的 下一篇:PANet的相关知识点有哪些
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码