R-CNN
区域卷积神经网络(Regions with CNN features,简称 R-CNN)使用深度模型来解决物体识别。
具体步骤:
- Sective Search 。对每张输入图像使用选择性搜索来选取多个高质量的提议区域。
- Resize。对每个提议区域,将其变形成卷积神经网络需要的输入尺寸。
- 特征抽取。选取一个预先训练好的卷积神经网络,去掉最后的输出层来作为特征抽取模块。
- SVMs。类别预测,练多个支持向量机(SVM)来进行物体类别分类,这里第
i
个 SVM 预测样本是否属于第i
类。 - Bbox Reg。边框预测,训练一个线性回归模型来预测真实边界框。
Selective Search
- 基于像素信息快速分割获得多个区域
- 将相似的两个区域合并成一个区域,重复合并直至整张图变成一个区域
- 根据合并信息生成多个有层次结构的提议区域,并为每个提议区域生成物体类别和多个建议框。
优缺点分析:
R-CNN 对之前物体识别算法的主要改进是使用了预先训练好的卷积神经网络来抽取特征,有效的提升了识别精度。
速度慢。对一张图像我们可能选出上千个兴趣区域,这样导致每张图像需要对卷积网络做上千次的前向计算。
Fast R-CNN
- R-CNN 的主要性能瓶颈在于需要对每个提议区域独立的抽取特征,区域会有大量重叠,独立的特征抽取导致了大量的重复计算。
Fast R-CNN 对 R-CNN 的一个主要改进在于首先对整个图像进行特征抽取,然后再选取提议区域,从而减少重复计算。
Fast R-CNN 跟 R-CNN 的主要不同在于下面四点:
用来提取特征的卷积网络是作用在整个图像上,而不是各个提议区域上。而且这个卷积网络通常会参与训练,即更新权重。
- 选择性搜索是作用在卷积网络的输出上,而不是原始图像上。
- RoI Pooling。引入了兴趣区域池化层(Region of Interest Pooling,简称 RoI 池化层)来对每个提议区域提取同样大小的输出以便输入之后的神经层。
- Softmax。在物体分类时,Fast