DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

简介: R-CNN是用深度学习解决目标检测问题的开山之作,2014年,第一次用深度学习来做传统的目标检测任务。

 DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

目录

R-CNN算法的简介(论文介绍)

0、R-CNN算法流程图

1、实验结果

R-CNN算法的架构详解

R-CNN算法的案例应用


相关文章

DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

DL之R-CNN:R-CNN算法的架构详解

DL之FastR-CNN:Fast R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

DL之FasterR-CNN:Faster R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

 

R-CNN算法的简介(论文介绍)

image.gif

        R-CNN是用深度学习解决目标检测问题的开山之作,2014年,第一次用深度学习来做传统的目标检测任务

        罗斯·格希克(Ross Girshick)是Facebook人工智能研究(FAIR)的一名研究科学家,致力于计算机视觉和机器学习。2012年,他在Pedro Felzenszwalb的指导下获得了芝加哥大学计算机科学博士学位。在加入FAIR之前,罗斯是微软研究院(Microsoft Research)的研究员、雷德蒙德(Redmond)和加州大学伯克利分校(University of California, Berkeley)的博士后。他的兴趣包括实例级对象理解和视觉推理挑战,这些挑战将自然语言处理和计算机视觉结合起来。他获得了2017年PAMI青年研究员奖,并以开发用于目标检测的R-CNN(基于区域的卷积神经网络)方法而闻名。2017年,罗斯还凭借《面具R-CNN》获得ICCV的Marr奖。

评价:RBG是这个领域神一样的存在,后续的一些改进方法如Fast R-CNN、Faster R-CNN、YOLO等相关工作都和他有关。

Abstract  

      Object detection performance, as measured on the  canonical PASCAL VOC dataset, has plateaued in the last  few years. The best-performing methods are complex ensemble  systems that typically combine multiple low-level  image features with high-level context. In this paper, we  propose a simple and scalable detection algorithm that improves  mean average precision (mAP) by more than 30%  relative to the previous best result on VOC 2012—achieving  a mAP of 53.3%. Our approach combines two key insights:  (1) one can apply high-capacity convolutional neural networks  (CNNs) to bottom-up region proposals in order to  localize and segment objects and (2) when labeled training  data is scarce, supervised pre-training for an auxiliary task,  followed by domain-specific fine-tuning, yields a significant  performance boost. Since we combine region proposals  with CNNs, we call our method R-CNN: Regions with CNN  features. We also compare R-CNN to OverFeat, a recently  proposed sliding-window detector based on a similar CNN  architecture. We find that R-CNN outperforms OverFeat  by a large margin on the 200-class ILSVRC2013 detection  dataset. Source code for the complete system is available at

http://www.cs.berkeley.edu/˜rbg/rcnn.

摘要

      在过去的几年中,通过标准的PASCAL VOC数据集测量,目标检测性能已经趋于稳定。最有效的方法是复杂的集成系统,通常将多个低级图像特征与高级上下文结合起来。在本文中,我们提出了一种简单且可扩展的检测算法,相对于之前VOC 2012的最佳结果,平均精度(MAP)提高了30%以上,实现了53.3%的MAP。我们的方法结合了两个关键的观点:(1)一种方法可以将大容量卷积神经网络(CNN)应用于自下而上的区域方案,以便对对象进行定位和分段;(2)当标记的训练数据不足时,为辅助任务进行有监督的预训练,然后进行特定领域的微调,可以显著提高性能。由于我们将region proposals与CNN结合起来,我们称之为R-CNN方法:具有CNN特征的Regions。我们还将R-CNN与OverFeat 进行了比较,后者是一种基于类似CNN架构的滑动窗口探测器。我们发现,R-CNN在200-class ILSVRC2013检测数据集上的优势,远远超过了OverFeat 。完整系统的源代码可在http://www.cs.berkeley.edu/˜rbg/rcnn上找到。

Conclusion  

      In recent years, object detection performance had stagnated.  The best performing systems were complex ensembles  combining multiple low-level image features with  high-level context from object detectors and scene classifiers.  This paper presents a simple and scalable object detection  algorithm that gives a 30% relative improvement  over the best previous results on PASCAL VOC 2012.  

      We achieved this performance through two insights. The  first is to apply high-capacity convolutional neural networks  to bottom-up region proposals in order to localize  and segment objects. The second is a paradigm for training  large CNNs when labeled training data is scarce. We  show that it is highly effective to pre-train the network—  with supervision—for a auxiliary task with abundant data  (image classification) and then to fine-tune the network for  the target task where data is scarce (detection). We conjecture  that the “supervised pre-training/domain-specific finetuning”  paradigm will be highly effective for a variety of  data-scarce vision problems.  

      We conclude by noting that it is significant that we achieved these results by using a combination of classical tools from computer vision and deep learning (bottomup region proposals and convolutional neural networks). Rather than opposing lines of scientific inquiry, the two are natural and inevitable partners.

结论

      近年来,目标检测性能停滞不前。性能最好的系统是将多个低级图像特征与来自对象检测器和场景分类器的高级上下文相结合的复杂集成。本文提出了一种简单且可扩展的目标检测算法,该算法比之前在PASCAL VOC 2012上获得的最佳结果有30%的相对改进。

      我们通过两个视角来实现这一性能。第一种方法是将大容量卷积神经网络应用于自下而上的区域方案,以实现目标的定位和分段。第二种模式是在标记训练数据稀缺的情况下训练大型CNN。结果表明,对一个数据丰富的辅助任务(图像分类)进行预训练,然后对数据稀缺的目标任务(检测)进行网络微调,是一种非常有效的方法。我们推测,“有监督的预训练/特定区域微调”范式对于各种数据稀缺的视觉问题将非常有效。

      最后,我们注意到,我们通过结合计算机视觉和深度学习(自下而上的区域建议和卷积神经网络)的经典工具,取得了这些成果,这是非常重要的。两者不是对立的科学探究路线,而是自然的、不可避免的合作伙伴。

论文

Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik.

Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation. CVPR 2014

https://arxiv.org/abs/1311.2524v3

Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik(2014):Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation. In 580–587.

Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v3)

0、R-CNN算法流程图

image.gif

image.gifimage.gif

image.gif

1、实验结果

1、Detection average precision (%) on VOC 2010 test

      R-CNN BB算法(加了BBox回归技巧),前边20列是20个分类的每个AP,最后一列是平均,mAP达到53.7!

image.gif

2、ILSVRC2013 detection test mAP

         即在ImageNet上的测试结果,

image.gif

R-CNN算法的架构详解

更新……

DL之R-CNN:R-CNN算法的架构详解

R-CNN算法的案例应用

更新……


相关文章
|
13天前
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】38. Pytorch实战案例:梯度下降、随机梯度下降、小批量随机梯度下降3种优化算法对比【含数据集与源码】
【从零开始学习深度学习】38. Pytorch实战案例:梯度下降、随机梯度下降、小批量随机梯度下降3种优化算法对比【含数据集与源码】
|
2天前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
31 5
|
1月前
|
算法 搜索推荐 Java
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
【5月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
48 8
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
|
17天前
|
存储 算法 搜索推荐
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
|
13天前
|
运维 监控 安全
园区网典型组网架构及案例实践
园区网典型组网架构及案例实践
|
30天前
|
算法
简记二分算法模板与代码案例:整数二分和浮点数二分
本文介绍了两种算法模板,分别是整数二分和浮点数二分。
20 0
|
13天前
|
机器学习/深度学习
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
|
12天前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络(CNN)的工作原理深度解析
【6月更文挑战第14天】本文深度解析卷积神经网络(CNN)的工作原理。CNN由输入层、卷积层、激活函数、池化层、全连接层和输出层构成。卷积层通过滤波器提取特征,激活函数增加非线性,池化层降低维度。全连接层整合特征,输出层根据任务产生预测。CNN通过特征提取、整合、反向传播和优化进行学习。尽管存在计算量大、参数多等问题,但随着技术发展,CNN在计算机视觉领域的潜力将持续增长。
|
13天前
|
机器学习/深度学习 Shell
【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系
【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系
|
13天前
|
机器学习/深度学习
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘