R-CNN(Region with CNN feature)原理

R-CNN(Region with CNN feature)是深度学习目标检测的开创性工作,通过Selective Search生成候选区域,CNN提取特征,SVM分类和回归器修正位置。尽管存在测试速度慢、训练繁琐及存储需求大的问题,但其奠定了后续改进算法的基础。
摘要由CSDN通过智能技术生成

R-CNN(Region with CNN feature)原理

一、RCNN介绍

在b站看到一位大神up主发布的CNN原理和代码的教学视频,发现非常有帮助,于是将他所讲的内容总结了下来供大家学习讨论。

下面是up的视频、代码、博客的连接:

b站视频链接:https://space.bilibili.com/18161609/channel/index
github代码和PPT:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing
up主的CSDN博客:https://blog.csdn.net/qq_37541097/article/details/103482003

引言

​ RCNN原论文:《Rich feature hierarchies for accurate object detection and semantic segmentation》,由Ross Girshick著,发表于 CVPR 2014。

​ 作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,曾在2010年带领团队获得终身成就奖。Ross Girshick是深度学习目标检测领域中的大牛,2014年以前都是使用传统目标检测法并进入了瓶颈期(准确率30%左右),从RCNN提出后一下子目标检测准确率提升了20%以上(50%左右),所以说R-CNN可以说是利用深度学习进行目标检测的开山之作。

二、RCNN算法步骤

RCNN目标检测算法总共分为四步:

1.将待检测图像生成1k到2k个候选区域(用Selective Search方法)

2.对每个候选区域,使用深度网络提取特征

3.将特征送入每一类的SVM分类器,判别是否属于该类

4.使用回归器精细修正候选框位置

RCNN流程图

接下来详细介绍每一步的具体原理和步骤。

1.候选区域的生成

1.1 Selective Search (SS) 算法:

传统的目标检测算法一般在图片上使用穷举法或者滑动窗口选出所有物体可能出现的区域框,对这些区域框提取特征并进行使用图像识别分类方法,得到所有分类成功的区域,最后通过非极大值抑制输出结果。

在图片上使用穷举法或者滑动窗口选出所有物体可能出现的区域框,就是在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置。显然这么做复杂度太高,产生了很多的冗余候选区域,对于越大的图像就越容易造成维数灾难导致计算时间过大,在现实当中不可行。而SS算法的选择性搜索有效地去除冗余候选区域,使得计算量大大的减小。

选择性搜索算法:可以简单的理解为将图像分割成很多很多的小块,计算每两个相邻的区域小块的相似度,然后每次合并最相似的两块,最后得到的每一块区域都是SS算法所认为的一个完整的物体。

如何计算相似度?

基于图的图像分割方法(Graph-Based Image Segmentation),论文《Efficient Graph-Based Image Segmentation》,P. Felzenszwalb, D. Huttenlocher,International Journal of Computer Vision, Vol. 59, No. 2, September 2004
既然是聚类算法,那应该依据何种规则判定何时该合二为一,何时该继续划清界限呢?对于孤立的两个像素点,所不同的是灰度值,自然就用灰度的距离来衡量两点的相似性,比如使用RGB度量时的距离: ( r

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值