当前位置:网站首页>OD-Paper【1】:Rich feature hierarchies for accurate object detection and semantic segmentation
OD-Paper【1】:Rich feature hierarchies for accurate object detection and semantic segmentation
2022-07-26 05:11:00 【zzzyzh】
文章目录
前言
RCNN(Regions with CNN features)是将CNN方法应用到目标检测问题上的一个里程碑,借助CNN良好的特征提取和分类性能,通过RegionProposal方法实现目标检测问题的转化。
本文主要对论文进行解读,并解释有关RCNN框架的部分
1. Abstract & Introduction
1.1. Abstract
本文的方法结合了两个关键的因素:
- 在候选区域上自下而上使用高容量的卷积神经网络(CNNs)(网络容量:人工神经网络塑造复杂函数的能力),用以定位和分割对象。
- 当带标签的训练数据不足时,先针对辅助任务进行有监督的预训练好的模型,加上在特定域上进行微调后,就可以产生明显的性能提升。
本文将候选区域(region proposals)与CNNs结合,因此本文将该方法称为 R-CNN(Regions with CNN features):具有CNN特性的候选区域。
1.2. Introduction
本文主要关注了两个问题:使用深度网络定位目标和在小规模的标注数据集上进行高容量的网络模型的训练。
与图像分类不同的是,检测需要定位一个图像内的许多物体。一个方法是将定位看作是回归问题。另一个可替代的方法是构建一个滑动窗口探测器,通过这种方法使用CNNs至少已经有20年的时间了。通常用于一些限定的物体类别上,如人脸,行人等。为了保持高的空间分辨率,这些CNNs都仅采用了两个卷积层和两个池化层。
相反,本论文是通过使用“用候选区域的识别”的方法,解决了CNN的定位问题(这在目标检测和语义分割方面都取得了成功)。测试时,本论文的方法为输入图像,生成了接近2000个类别无关的候选区域,利用CNN从每个候选区域抽取一个固定长度的特征向量,然后借助专门针对特定类别的线性SVM对每个候选区域进行分类。我们不考虑区域的大小,使用放射图像变形的方法来对每个候选区域产生一个固定长度的作为 CNN 输入的特征向量(也就是把不同大小的候选区域放到同一个大小)。下图展示了我们方法的概述并突出介绍了一些实验结果。由于我们的系统结合了候选区域和CNNs,所以起名为R-CNN(regions with CNN features):具有CNN特征的候选区域。
2. Object detection with R-CNN
2.1. Algorithm process
RCNN算法流程可分为4个步骤:
- 一张图像生成1000~2000个候选区域(使用Selective Search方法)
- 对每个候选区域,使用深度网络提取特征
- 特征送入每一类的SVM分类器,判别是否属于该类
- 使用回归器精细修正候选框位置
2.2. Module design

2.2.1. Region proposals
利用Selective Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。
2.2.2. Feature extraction
对每个候选区域,使用深度网络提取特征。将2000个候选区域缩放到 227 x 227 pixel ,接着将候选区域输入事先训练好的AlexNet CNN网络获取4096维的特征得到 2000 x 4096 维 矩阵。
这里的CNN就是图像分类网络,但是去掉最后一层全连接层,得到输出的4096维向量。
2.2.3. SVM classifier
将 2000 x 4096 维 特征与20个SVM组成的权值矩阵 4096 x 20 相乘,获得 2000 x 20 维 矩阵表示每个建议框是某个目标的得分。分别对上述2000 x 20 维 矩阵中每一列即每一类进行 非极大值抑制 剔除重叠建议框,得到该列即该类中得分最高的一些建议框。

注意:为了方便观察,图片中的向量为转置之后的
可以理解为,每一列向量表示的是图片中的该分类框是该列对应的类的概率

- 左边的矩阵:每一行是每一个特征框经过CNN分类网络后得到的特征向量
- 中间的矩阵:即SVM权值矩阵,每一列对应一个类别的权值向量
- 右边的矩阵:假设中间的矩阵的第一列表示猫,第二列表示狗,那么左边的矩阵的第一行与中间矩阵的第一列相乘,得到右边矩阵的第一行第一列的元素,即第一个候选框为猫的概率
- 对右边矩阵的每一列(即每一类),进行非极大值抑制,以剔除一些重叠的建议框
- 如右边矩阵的第一列表示的所有候选框为猫的概率
2.2.3.1. 非极大值抑制
IoU (Intersection over Union)
- 数学表示为: ( A ∩ B ) / ( A ∪ B ) (A\cap B) / (A\cup B) (A∩B)/(A∪B)

- 对于每一个类别的使用
- 寻找得分最高的目标
- 计算其他目标与该目标的IoU值
- 删除所有IoU值大于给定阈值的目标
- 此处的删去的目标指的是那些跟最高得分重叠多的部分,IoU虽大,但是分数不是最高的,分数最高的留一个就够了
- 目的是剔除重叠框架,IoU值越大说明重叠区域越多

2.2.4. Regressor correction
使用回归器精细修正候选框位置,对 NMS (Non-Maximum Suppression) 处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中属于的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。
经过回归分类器之后,会得到4个参数:目标建议框的中心点的x偏移量、y偏移量,边界框高度的缩放因子、宽度缩放因子

如图,黄色框口 P P P 表示建议框Region Proposal,绿色窗口 G G G 表示实际框Ground Truth, 红色窗口 G ^ \hat{G} G^ 表示Region Proposal进行回归后的预测窗口,可以用最小二乘法解决的线性回归问题。
3. R-CNN存在的问题
- 测试速度慢
测试一张图片约53s(CPU)。用Selective Search算法提取候选框用时约2s,一张图像内候选框之间存在大量重叠,提取特征操作冗余。 - 训练速度慢
过程极其繁琐 - 训练所需空间大
对于SVM和bbox回归训练,需要从每个图像中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,从VOC07训练集上的5k图像上提取的特征需要数百G的存储空间
总结
边栏推荐
- 黑吃黑?男子破解赌博网站漏洞,每月“薅羊毛”10多万元
- Simulation of future air pollution changes
- Meta analysis [whole process, uncertainty analysis] method based on R language and meta machine learning
- An online accident, I suddenly realized the essence of asynchrony
- Shell process control (emphasis), if judgment, case statement, let usage, for ((initial value; loop control condition; variable change)) and for variable in value 1 value 2 value 3..., while loop
- Redis expiration deletion strategy and memory obsolescence strategy
- NPM operation instruction
- Excel VBA:实现自动下拉填充公式至最后一行
- Alibaba three sides: how to solve the problems of MQ message loss, duplication and backlog?
- Trend of the times - the rise of cloud native databases
猜你喜欢

阿里三面:MQ 消息丢失、重复、积压问题,如何解决?

JVM第五讲:纵横数据如何应对洪峰推送

Excel VBA: realize automatic drop-down filling formula to the last line

黑吃黑?男子破解赌博网站漏洞,每月“薅羊毛”10多万元

遥感、GIS和GPS技术在水文、气象、灾害、生态、环境及卫生等领域中的应用

MODFLOW Flex、GMS、FEFLOW、HYDRUS实践应用

5个chrome简单实用的日常开发功能详解,赶快解锁让你提升更多效率!

Go-Excelize API源码阅读(六)—— DeleteSheet(sheet string)

基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习

面试之请详细说下synchronized的实现原理以及相关的锁
随机推荐
测试必备工具之Fiddler,你真的了解吗?
嵌入式开发小记,实用小知识分享
ABAP语法学习(ALV)
C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题
List converted to tree real use of the project
Common solutions for distributed ID - take one
【Leetcode】493. Reverse Pairs
Bash shortcut key to improve command line efficiency [Full Version]
普林斯顿微积分读本02第一章--函数的复合、奇偶函数、函数图像
Excel vba: saving multiple worksheets as new files
基于遥感解译与GIS技术环境影响评价图件制作
Simulation of future air pollution changes
阿里三面:MQ 消息丢失、重复、积压问题,如何解决?
JVM第二讲:类加载机制
@Autowired注解的原理
Recommendation system - machine learning
Improve reduce parallelism in shuffle operation
一次线上事故,我顿悟了异步的精髓
黑吃黑?男子破解赌博网站漏洞,每月“薅羊毛”10多万元
未来大气污染变化模拟