R-CNN总结

不总结就没有积累

R-CNN的全称是 Regions with CNN features。它的主要基础是经典的AlexNet,使用AlexNet来提取每个region特征,而不再是传统的SIFT、SURF的特征。同时,还利用了AlexNet本来的功能:分类,这时所得的分类结果相当于预分类。最后,由于每个Region是有边界的,使用SVM对其进行分类得到一个score,定位每个物体的bounding box。

预处理:

先看一看AlexNet的网络结构

可以看到,它的输入图像是一个224*224*3的3通道的图像,包含有五层的卷积层,两层的全连接层,最后输出是softmax层。

R-CNN开始对图片进行提取region,称为Region proposal,并且使用的是selective search。对每张region图片warp,可以认为是调整图片的大小,但论文上提到的图片的大小是227*227,与AlexNet有一点区别。在图片warp之前,会先扩张bounding box的大小为p=16个像素。我猜这是为了消除图像的边缘效应。

训练:

这里会先做pre-training。Pre-training的好处是可以加快训练的速度,参数可以直接从其他AlexNet迁移过来,也可以重新训练,AlexNet的类别数是1000的。从图中的结构看出,最后输出的特征向量有4096维。

AlexNet的参数训练完之后,就更改它的类别数(论文使用21维,包括20维的类别,和一维的背景)。这时使用有监督训练微调参数(fine tuning),这个fine tuning我认为是由于初始的学习率较小吧,是0.001。有监督训练会涉及到类别的问题(因为这里网络最后的结果还是分类),于是,当region proposal和人工标注的ground truth 的IOU(即交集/并集)大于等于0.5时,把相应的region标记为正的,即有类别的,否则标记为负样例即background。训练的方法使用随机梯度下降的方式,与AlexNet类似,可以参考文献《ImageNet Classification with Deep Convolutional Neural Networks》。

训练的一个batch的大小为128,其中包括38个正样例,和90个负样例。(batch代表批,训练一批又叫1 iteration,所有的批训练了一次成为epoch)。

得到region即bounding box的类别之后,使用SVM训练一个二分类的分类器。算法为每一个类别都训练一个SVM分类器,注意,SVM训练的数据是经过R-CNN提取特征的4096维特征向量。此处SVM标记为负样例的阈值为IOU小于0.3,而正样例直接取ground truth box的region。训练的过程如下图:

测试:

测试的过程相对简单,对每一张图片进行region proposal之后,一般是2000个region proposal,使用R-CNN提取每个region proposal的4096维特征向量。使用SVM分类器进行分类,对得到的每个bounding box(region proposal本身是有边界的)都有一个score,在排序前先把那些IOU低于某个阈值的bounding box去掉。然后再使用非极大值抑制的方法选出最好的bounding box,从而实现定位。

论文中还做了一个对比实验,就是如果只提取特征用于分类,对于最后一个pooling层和两个全连接层fc6、fc7,当没有fine-tuning时,发现三者的分类精度其实差不多,但是如果有fine-tuning时,加入全连接层所提取的特征所得的精度会高很多。

减少定位错误:

这里定位错误使用了一种方法叫做bounding box regression,而且使用的特征就是pooling层提取的特征向量(这里是为什么呢?)。

关于bounding box regression的内容来自

http://blog.csdn.net/u011534057/article/details/51235964,这篇文章里说的很好。

【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation的更多相关文章

  1. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  2. 深度学习论文翻译解析(八):Rich feature hierarchies for accurate object detection and semantic segmentation

    论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation 标题翻译:丰富的特征层次结构 ...

  3. 2 - Rich feature hierarchies for accurate object detection and semantic segmentation(阅读翻译)

    Rich feature hierarchies for accurate object detection and semantic segmentation Ross Girshick Jeff ...

  4. 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)

    Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...

  5. 目标检测系列 --- RCNN: Rich feature hierarchies for accurate object detection and semantic segmentation Tech report

    目标检测系列 --- RCNN: Rich feature hierarchies for accurate object detection and semantic segmentation Te ...

  6. 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

    论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...

  7. 论文笔记(一)---翻译 Rich feature hierarchies for accurate object detection and semantic segmentation

    论文网址: https://arxiv.org/abs/1311.2524 RCNN利用深度学习进行目标检测. 摘要 可以将ImageNet上的进全图像分类而训练好的大型卷积神经网络用到PASCAL的 ...

  8. R-CNN(Rich feature hierarchies for accurate object detection and semantic segmentation)论文理解

    论文地址:https://arxiv.org/pdf/1311.2524.pdf 翻译请移步: https://www.cnblogs.com/xiaotongtt/p/6691103.html ht ...

  9. 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation

    背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...

随机推荐

  1. Linux软件管理和安装

    软件安装和管理软件包1.bin文件.bin2.rpm包3.源码压缩包 安装软件的步骤: 1.检查是否已经安装 rpm -qa | grep jdk 2.下载软件包 3.安装 依赖 rpm 包,已经编译 ...

  2. JavaScript01天学习笔记分享

    01知识点 JavaScript 代码运行在浏览器(后缀名.js) 和java完全不同的东西,只是名称类型而已 src 引用脚本   <Script></Script> ale ...

  3. 日期时间选择器插件flatpickr

    前言:在网页上需要输入时间的时候,我们可以用HTML5的inputl中的date类型.但是如下入所示,有些浏览器不支持.flatpickr这个小插件可以解决这个问题. 1.flatpickr日期时间选 ...

  4. 2106. [NOIP2015] 斗地主

        2106. [NOIP2015] 斗地主 ★★★☆   输入文件:landlords.in   输出文件:landlords.out   简单对比 时间限制:2 s   内存限制:1025 M ...

  5. git add . 的时候报错fatal: Unable to create : …File exists.

    报错内容: $ git add . fatal: Unable to create 'E:/project/qbm_cs/.git/index.lock': File exists. Another ...

  6. phpstudy初级总结

    1.问题一 问题症状:访问http://localhost/phpMyWind/install/不出现安装或登录页面 考虑一下情况: 1.是否打开了PHPstudy, (当Apache不能启用时,考虑 ...

  7. JavaScript(十一)Dom

    Dom(Document object module) 1.获取dom对象的方法 正常用的方法 推荐 getElementById()//通过id选择唯一的dom getElementsByClass ...

  8. apache hadoop 伪分布式安装

    1. 准备工作 1.1. 软件准备 1.安装VMWare 2.在VMWare上安装CentOS6.5 3.安装XShell5,用来远程登录系统 4.通过rpm -qa | grep ssh 检查cen ...

  9. Container Views

    https://developer.apple.com/documentation/uikit/views_and_controls Container Views Organize and pres ...

  10. Redis系列(九)--几道面试题

    这里只是一点面试题,想了解更多,可以查看本人的Redis系列:https://www.cnblogs.com/huigelaile/category/1461895.html 1.Redis和Memc ...