R-CNN 模型简介
-
R - CNN 简介
大致流程
-
输入图像
-
Region proposal
利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域Region Proposal
-
因为取出的区域大小各自不同,所以需要将每个Region Proposal缩放(warp)成统一的227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征
-
将每个Region Proposal提取到的CNN特征输入到SVM进行分类
具体步骤
训练分类模型
训练或下载一个分类模型(如AlexNet)
对该模型做fine-tuning
- 将分类数从1000改为21,比如一个背景+20个物体类别
- 去掉最后一个全连接层
特征提取
- 提取图像的所有候选框
- 选择性搜索Selective search
- 还有其他方法比如 Edge Boxes
- 对于每一个区域:修正区域大小以适合CNN的输入,做一次前向运算,将第五个池化层的输出(就是对候选框提取到的特征)存到硬盘
SVM分类器
每个类别对应一个SVM,判断是不是属于这个类别,是就是positive,反之nagative。
比如下图,就是狗分类的SVM
回归器
使用回归器精细修正候选框位置:对于每一个类,训练一个线性回归模型去判定这个框是否框得完美
参考自文章
-