RCNN
RCNN (Region CNN)
region 区域, 行政区, 范围
一. 速度
经典的目标检测算法 使用滑动窗法依次判断所有可能的区域。(大概判断多少个?)
RCNN 则预先提取一系列较可能是物体的候选区域,之后仅在这些候选区域上提取特征,进行判断。
二. RCNN 训练集
经典的目标检测算法 在区域中提取人工设定的特征(Haar,HOG).
RCNN 则需要训练深度网络进行特征提取.可供使用的有两个数据库:
- 一个较大的识别库(ImageNet ILSVC 2012):标定每张图片中物体的类别。一千万图像,1000类。
- 一个较小的检测库(PASCAL VOC 2007):标定每张图片中,物体的类别和位置。一万图像,20类。
使用识别库进行预训练,而后用检测库调优参数。最后在检测库上评测。
三. 流程
RCNN算法分为4个步骤
- 一张图像生成1K~2K个候选区域
- 对每个候选区域,使用深度网络提取特征
- 特征送入每一类的SVM 分类器,判别是否属于该类
- 使用回归器精细修正候选框位置
1. 候选区域生成
Selective Search方法.从一张图像生成约2000-3000个候选区域。 思路如下:
1 | - 使用一种过分割手段,将图像分割成小区域 |
2. 特征提取
- 预处理
归一化: 使用深度网络提取特征之前, 首先把候选区域归一化成同一尺寸227×227.
- 预训练
基本借鉴Hinton 2012年在Image Net上的分类网络2,略作简化3。
此网络提取的特征为4096维,之后送入一个4096->1000的全连接(fc)层进行分类。
学习率0.01。
- 训练数据
使用ILVCR 2012的全部数据进行训练,输入一张图片,输出1000维的类别标号。