Rich feature hierarchies for accurate object detection and semantic segmentation
论文:https://arxiv.org/abs/1311.2524
架构
R-CNN的流程:
- 提取2000个候选框
- 从每个候选框提取特征向量
- 使用SVM分类器对每个特征向量进行分类
- 使用回归其修正候选框
模块设计
候选框。虽然R-CNN对于特定候选区域方法是未知的,但作者使用选择性搜索来提取候选区域。
特征提取。由于AlexNet 的输入是固定的 227 × 227 227\times 227 227×227,候选区域使用 AlexNet 提取一个4096维的特征向量,因此,需要将候选区域大小重置为 227 × 227 227\times 227 227×227。在重置前,将候选区域膨胀并加框。
在测试时,我们对测试图像进行选择性搜索,提取出大约2000个候选框。我们重置每个候选框,使用CNN对每个候选框提取特征向量(固定长度4096),2000个4096为特征矩阵(2000 x 4096),每个类别使用一个SVM对特征向量进行分类,得到类别概率,类别数为N,类别概率矩阵为 2000 x N,特征矩阵到概率矩阵:
[
]
2000
×
4096
[
]
4096
×
N
=
[
]
2000
×
N
\begin{bmatrix} &&&&& \\ &\end{bmatrix}_{2000\times 4096}\begin{bmatrix} &&\\\\ \\&\end{bmatrix}_{4096\times N}=\begin{bmatrix} & \\ &\end{bmatrix}_{2000\times N}
[]2000×4096⎣⎢⎢⎡⎦⎥⎥⎤4096×N=[]2000×N
4096
×
N
4096 \times N
4096×N为权重矩阵。
概率矩阵的行为候选框,列为类别,对概率矩阵应用非极大值抑制(对每个类别独立)剔除重叠的候选框,如果它有一个交集和并集比(IoU)重叠,如果得分最高的候选框IoU大于学习阈值,则选择候选框。
对象的类别分类器。考虑训练一个二值分类器来检测汽车。很明显,一个紧紧包围着一辆汽车的图像区域应该是一个正样本。同样地,与汽车无关的背景区域显然是一个负样本。不太清楚的是,如何给部分与汽车重叠的区域贴上标签。我们用 IoU重叠阈值 解决了这个问题,低于这个阈值的区域被定义为阴性。重叠阈值0.3是通过网格搜索{0,0.1,…,0.5}。我们发现仔细选择这个阈值很重要。将其设置为0.5,如在[39]中,将mAP减少5点。同样地,将其设置为0将减少4点的mAP。正样本被简单地定义为每个类的真实边界框。一旦特征被提取和训练标签被应用,我们优化每个类一个线性支持向量机。