博客
关于我
R-CNN算法
阅读量:577 次
发布时间:2019-03-10

本文共 1386 字,大约阅读时间需要 4 分钟。

  R-CNN算法可以说是利用深度学习进行目标检测的开山之作。2012年AlexNet网络在ImageNet LSVRC中效果显著,因此R-CNN的作者想要尝试将AlexNet在图像分类上的能力迁移到PASCAL VOC的目标检测上。这就要解决两个问题:

  • 如何利用卷积网络去进行目标定位;
  • 如何在小规模的数据集上训练出较好的网络模型。

  对于利用卷积网络去进行目标定位的问题,R-CNN利用候选区域(Region Proposal)的方法,这也是该网络被称为R-CNN的原因:Regions with CNN features。对于小规模数据集的问题,R-CNN使用了微调的方法,利用AlexNet网络在ImageNet上预训练好的模型。

  R-CNN算法步骤

  1. 输入一张图像生成1K~2K个候选区域(使用Selective Search方法);
  2. 对于每个候选区域,使用深度网络提取特征(CNN);
  3. 提取的特征送入每一类的SVM分类器,判别是否属于该类(SVM);
  4. 使用回归器精细修正候选框的位置(Regression)。

在这里插入图片描述

step1:候选区域的生成
  利用selective Search算法,通过图像分割的方法,得到一些原始区域,然后使用合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。

在这里插入图片描述

step2:对每个候选区域,使用深度卷积神经网络提取特征
  将2000候选区域缩放为227×227的大小,接着将候选区域输入到预训练好的AlexNet CNN网络获取4096维的特征得到2000×4096维矩阵。

在这里插入图片描述

step3:提取的特征送入每一类的SVM分类器,判定类别
  将2000×4096维特征与20个SVM组成的权值矩阵4096×20相乘,得到2000×20维矩阵表示每个候选框是某个目标类别的得分。分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制剔除重叠候选框,得到该列即该类中得分最高的一些候选框框。
  非极大值抑制步骤:寻找得分最高的目标;计算其他目标与该目标的IoU(交并比)值;删除所有IoU值大于给定阈值的目标。

在这里插入图片描述

在这里插入图片描述
step4:使用回归器精细修正候选框位置
  对NMS处理后剩余的候选框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的候选框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。
  如图,黄色框口 P P P表示建议框Region Proposal,绿色窗口 G G G表示实际框Ground Truth,红色窗口 G ^ \hat{G} G^表示Region Proposal进行回归后的预测窗口,可以用最小二乘法解决的线性回归问题。

在这里插入图片描述

  R-CNN存在的问题

  1. 测试速度慢:测试一张图片约53s (CPU)。用Selective Search算法提取候选框用时约2秒,一张图像内候选框之间存在大量重叠,提取特征操作冗余。
  2. 训练速度慢:过程极其繁琐。
  3. 训练所需空间大:对于SVM和bbox回归训练,需要从每个图像中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,从VOCO7训练集上的5k图像上捉取的特征需要数百GB的存储空间。
  4. SVM分类器和边框回归器的训练过程,和CNN提取特征的过程是分开的,并不能进行特征的学些更新。

转载地址:http://tqfvz.baihongyu.com/

你可能感兴趣的文章
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP、CV 很难入门?IBM 数据科学家带你梳理
查看>>
NLP三大特征抽取器:CNN、RNN与Transformer全面解析
查看>>
NLP入门(六)pyltp的介绍与使用
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP度量指标BELU真的完美么?
查看>>
NLP的不同研究领域和最新发展的概述
查看>>
NLP的神经网络训练的新模式
查看>>
NLP采用Bert进行简单文本情感分类
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
查看>>
NLP:从头开始的文本矢量化方法
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>
NLTK - 停用词下载
查看>>
nmap 使用总结
查看>>
nmap 使用方法详细介绍
查看>>
nmap使用
查看>>
nmap使用实战(附nmap安装包)
查看>>