R-CNN学习与备忘

(菜鸡一枚,记录一些学习的体会,并记录了学习时提出的问题,便于自己再次查阅,若有错误之处,希望大佬们指正,谢谢。)

 R-CNN简介:

时间:2014年;地点:CVPR ;进步性:(1)选择了新的特征提取方式:CNN(AlexNet 2012年提出),之前一般使用人工选取的特征,这次是里程碑的把CNN成功运用起来;(2)图像分割与候选框的选取,采用SS算法(selective search),而不是采用以前暴力的滑窗形式。

R-CNN工作的三大步骤:

一、 selective search 提取出候选区域

目标:提取出2000个候选区域

图像分割一般有两种方法:Exhaustive Search 与 Region Proposal两种方式,R-CNN采用的是 Region Proposal中的selective search。

selective search的步骤:1、基于图的图像分割:采用贪心原则,对图像进行像素点合并,合并原则类似于KNN的方式,寻找最近的点或者是小区域合并,直到图像区域大于X(设定)的像素点。存储在集合S{ x1 x2 x3........xn}中 。(S{}是一个dist的类型,记录了每一个元素的lables,rect, pixel size ) 2、自底向上,选择相似度最高(尺寸、颜色、纹理等)的两个元素合并,并记录到R[t]中(作为一个候选区域),再从S{}中除去新合并的子集  3 、再执行step1,直到S变为一个空集合。 最后方得到建议的区域。

二、CNN 特征抽取

 

目标: 提取出2000个候选区域的特征

采用Alexnet结构,每个候选区域可提取4096维特征向量。

Alexnet的特点:五个卷积层+三个池化层+ 三个全连接层

注意:SS算法输出的候选框的大小不一,而R-CNN的做法则是直接将候选框暴力的“拉扯”为224*224的像素大小,然后输入到CNN当中,这样会损失图像的信息,在后来的Faster R-CNN通过其他方法可以解决这一问题。

三、SVM 支持向量机 + 回归器修正

使用21个SVM分类器,对2000个预选框(每个proposal region 有4096维特征)的特征向量进行分类,(寻找出每一类的超平面)。选取得分较高的RP进行非极大值抑制(Iou),剔除掉重复的框,再将剩余的20类别的RP送到回归器修正(定位精度得到提高),最后得到修正后的BBOX。

20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。

回归器:形象的来讲,当我们去识别一个人的时候,首先回去看他的头,然后在将我们的视野扩大,将他的整个人放入视野之中,回归框的作用就是进行视野的平移和缩放。比如对人进行识别定位,我们并不知道算法时怎么识别一个人的,也许是一个头,也许是双脚,若判断出人的RP只是人的上半身,那这个PR的框显然是不够精确的,那么我们可以根据上半身的长宽来推断整个框应该在生么位置,也就是一个线性变化。回归框的训练就是要找到这个线性变化的参数。

学习途中的问题详解:

Q1:

selective search 是如何合并得到2000个图像的?为什么最后没有合并为一个整体的图,而是一个一个的小块?

SS算法在每一次合并都会讲合并的块保存下来,作为一个RP(候选区域)(最后一个RP便是整张图像),所以它相当于是一种分层提取,可以将图像中的层次信息(遮掩关系)读取出来。

 

 

Q2:

激活函数是如何接入到CNN中的,具体起到了什么样的作用?不同的激活函数的作用与区别是什么?

sigmoid 是由贝叶斯公式演变而来(根据不同的值来反推出概率),一般情况下:sigmoid会接在卷积结构的后面,把每个结果变成相应的概率

 

RELU:只用激活函数,是因为可以使整个模型非线性化,若没有它,就会变回Perceptron,sigmoid有一定的缺点,比如: 1、计算量上,计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。 2、训练:sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。

Q3:

卷积核的通道数如何理解,怎么进行计算?

前一层的卷积核的数量,决定了下一层feature map的通道数。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值