读RCNN论文笔记

1. RCNN的模型(如下图)描述:

RCNN相比传统的物体检测,还是引入传统的物体检测的基本流程,先找出候选目标物体,逐个的提取特征,不过rbg大神引入了当时炙手可热的CNN卷积网络取代传统上的HOG,DPM,LBP,SIFT等算法来对图像的特征进行提取,值得说道的是CNN由于可以放到GPU上,所以也大幅度的减少了了物体检测需要的时间,然后在使用svm/softmax分类器进行分类识别.

  

  候选区域目标(RP) 特征提取 分类
RCNN   selective search CNN SVM
传统的算法
objectness,

constrainedparametric min-cuts,

sliding window,edge boxes,....


HOG , SIFT,

LBP, BoW,

DPM,...

SVM

2. RCNN模型的三个组成部分:

1.  先使用ILSVRC2012数据集训练一个1000类的分类器模型,并将这个模型保存下来.

2.  加载1步骤中的模型,使用这个模型中特征提取参数来初始化我们这里的CNN中的参数,并使用那些经过变形的区域目标来训练模型,这里获取到的区域目标指的是

和经过SS算法提取到的区域目标和我们标注的目标区域的IOU【两张图片的交集/两张图片的并集】>0.5时,我们将这个SS算法提取的区域目标作为我们标注的类(及该类的正样本)进行训练,否则作为负样本进行训练,并且值得注意的是对于每一个SGD(随机梯度)迭代,我们使用一个128的小批次,其中使用32个当前类的样本,和96个背景样本作为负样本。

 3. 训练二分类目标分类器,作者列举检测车的例子,“对于那种沿着车边缘分割出的车的区域,我们可以很清楚的知道这是一个正样本,而对于那种不包含任何车信息的区域,我们也容易直到这是一个负样本,但是对于那种包含了部分车的区域,我们切没有明确的界限来定义”,这里作者经过一系列的实验【0,0.1,0.2,0.3,0.4,0.5】,当为0.5时,MAP(平均APA)会下降5%,当为0时,会下降4%,只有当SS算法分割出的区域和我们打样本时标注的区域的IOU大于0.3时,我们的MAP最高.对于每一个类,候选的正样本使用ground-truth bounding boexs来定义,也就是大于IOU大于0.7认为是正样本,小于0.3认为是负样本,鉴于0.3~0.7之间的丢掉不用来训练.而且对每一个类使用线性SVM进行分类,但是因为训练数据有时会非常大,为了不爆内存,作者使用了[背景bg/前景fg(即样本)]=3:1的比例进行.

2.1 关于图片的转换(warp):

   

图片在经过CNN卷积网络需要将图片统一成固定大小,论文中给出了三种方法的对比A为原始图片

一方法: 在原始区域目标周围去一块区域进行等比缩放到CNN需要的图片大小,结果图B

二方法: 去除原始目标区域然后对目标区域进行填充,在等比缩放到CNN需要的图片大小,结果C

三方法: 直接将原始目标区域非等比缩放到CNN需要的图片大小,图D

3. 预测目标区域:

  在测试时,我们使用ss算法在每一张测试图片上提取大约2000个区域目标,对每一个区域目标
进行变形放入到CNN提取特征向量.然后对每一个类,我们使用对这个训练好的SVM来对每一个区域目标打分.
对一张图片中的所有打分的区域目标,我们使用一种非极大值抑制算法(NMS)来去掉两个区域目标中交集/并集大于阈值时,区中评分较低的那个区域.

4. 所以在训练的过程中也需要进行分步骤训练:

1. 对CNN网络进行微调.

    先使用ILSVRC2012数据集训练一个1000类的分类器模型,然后使用该模型来初始化我们的CNN模型参数,使用我们的train和val数据集合进行微调.

 2. 对每一个样本进行线性SVM分类模型训练.

来自于验证集(val)和训练集(train)中的所有目标区域被充当对应类的正样本,而每一个的负样本使用的是随机取自验证集val

3. 边框回归训练

  边框回归使用的也是val集合

5.  Positive vs. Negative examples and softmax

关于正负样本选取,在CNN训练阶段和SVM阶段为什么或出现阈值不同[0.5和0.3],经过作者多次测试后得到的结果.至于为什么使用SVM而不是用softmax进行分类.

作者说如果使用softmax进行分类mAP会从54.2%掉到50.9%,作者给出的是sofxmax在取任意的样本的负样本,也就是是所有的负样本共享,而SVM是只专门取对应类的负样本.

6.边框回归 具体步骤:

   6.1 当使用SVM分类器对SS提供的候选区域目标[经过筛选后的]进行打分之后,模型会使用一个边框回归器会对这区域给出一个预测的区域坐标【我们称之为bounding box】,并在经过CNN提取的特征图上进行回归.

6.2 具体流程如下:

    6.2.1 输入N(我们的类别为N) 对{P,Gi} i=1,....,N   其中P是预测区域,G为我们标注的区域 且P={Pix,Piy,Piw,Pih}表示的(x,y,w,h)分别是x,y坐标w,h宽高

    G和P拥有同样的结构,我们的目的是学习一种变换能够将预测的P映射到实际的G上.

四个参数使用四个函数来表示dx(P),dy(P),dw(p),dh(p),其中前两个使用x,y平移变换,w,h做缩放变换

       

--------------------------推导部分--------------------------

时间: 2024-11-01 08:04:02

读RCNN论文笔记的相关文章

读论文笔记

最近开始认真的去读论文了,而且慢慢读出了一点味道,首先最基本的读的速度变快了,可能是因为读的这几篇论文里重复的单词比较多,,,,害怕读的论文,过了一段时间又给忘了,所以一点一点记下来. 我做的毕设是彩色水果图像的分割嘛,所以先读的论文自然都是和水果有关的,去那些数据库搜索文献,关键词就是 fruit image segmentation. 1      <Object Segmentation For Fruit Image Using OHTA Color Space and Cascade

Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波

Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正交流,谢谢. 本文的论文来自: Sparse filtering, J. N

论文笔记(2):A fast learning algorithm for deep belief nets.

论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm for Deep Belief Nets.这篇论文一开始读起来是相当费劲的,学习了好几天才了解了相关的背景,慢慢的思路也开始清晰起来.DBN算法就是Wake-Sleep算法+RBM,但是论文对Wake-Sleep算法解释特别少.可能还要学习Wake-Sleep和RBM相关的的知识才能慢慢理解,今天

【目标检测】Cascade R-CNN 论文解析

目录 0. 论文链接 1. 概述 @ 0. 论文链接 Cascade R-CNN 1. 概述 ??这是CVPR 2018的一篇文章,这篇文章也为我之前读R-CNN系列困扰的一个问题提供了一个解决方案:R-CNN在fine-tuning使用IOU threshold = 0.5来防止过拟合,而在分类阶段,使用softmax因为之前0.5的设定太过宽松(loose),而导致精度下降较多,因此单独训练了一个新的SVM分类器并且更改了IOU阈值(文章中对这样做进行大量的实验对比以及证据十分有力),而在F

论文笔记(1)——《Where&#39;s Wally?Precise User Discovery Attacks in Location Proximity Services》

Abstract: 位置相近服务在社交和移动网络的广泛使用是基于可用性和用户隐私的平衡,但引发了三角定位攻击的风险.文章系统化地讨论了此类攻击的防范,包括问题在不同临近模型下的形式化,针对不同模型的有效攻击,以及攻击需要的询问次数的确界,并针对实际应用进行实验. 一)对攻击的建模:UDP,已知包含点p的欧氏平面区域A以及一个提供邻域信息的黑箱,找到点p的位置 邻域(proximity oracle)定义:,以某点为圆心的区域 原问题化为两部分: 1)Disk Coverage:将A用最少的r-邻

Kalman论文笔记

笔者前段时间阅读了一些关于Kalman的姿态论文,本想把Kalman的知识点也整理出来发布,无奈这编辑器不给力,太多的公式无法复制粘贴,图片格式上传的太复杂,就放弃了.因此笔者只发布Kalman的论文笔记,用表格的形式分析了几篇论文的Kalman filter的结构,希望对大家有帮助. 表格中包含有 论文名称 状态变量 转移矩阵 观测变量 观测矩阵 过程噪声 观测噪声 备注 百度网盘:pan.baidu.com/s/1kT1iC6r

DL4NLP —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.应用场景:比如说用户在拍了一张照片后,利用Image Caption技术可以为其匹配合适的文字,方便以后检索或省去用户手动配字:此外它还可以帮助视觉障碍者去理解图像内容.类似的任务还有Video Caption,输入是一段视频,输出是对视频的描述. (一)任务描述 目前来说,Image Caption任务主要集中在英文上,数

论文笔记 Deep Patch Learning for Weakly Supervised Object Classi cation and Discovery

Background 1) "Patch-level image representation"的优势 "Patch-level image representation is very important for object classification and detection, since it is robust to spatial transformation, scale variation, and cluttered background" &

Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture Heron 架构如下图: 用户编写发布topoloy到Aurora调度器.每一个topology都作为一个Aurora的job在运行.每一个job包括几个container,这些container由Aurora来分配和调度.第一个container作为Topology Master,其他的Cont