1. R-CNN基础知识
1.1 selective search算法
selective search算法(以下简称ss算法):首先通过以及简单的聚类生成区域集合;然后根据定义的相似度不断合并相邻区域构成新的候选框。本质上是一种基于在原始聚类后的区域集合上,依照邻域的相似度,从小到大的进行滑动窗口。
具体算法实现步骤如下:
step1:计算区域集R里每个相邻区域的相似度S={s1,s2,…};
step2:找出相似度最高的两个区域,将其合并为新集,添加进R;
step3:从S中移除所有与step2中有关的子集;
step4:计算新集与所有子集的相似度;
step5:跳至step2,直至S为空。
1.2 微调(fine-tunning)
微调是迁移学习中常用的技术,由以下4步构成:
-
在源数据集(如ImageNet数据集)上预训练一个神经网络模型,即源模型。
-
创建一个新的神经网络模型,即目标模型。它复制了源模型上除了输出层外的所有模型设计及其参数。我们假设这些模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目标数据集。我们还假设源模型的输出层跟源数据集的标签紧密相关,因此在目标模型中不予采用。
-
为目标模型添加一个输出大小为目标数据集类别个数的输出层,并随机初始化该层的模型参数。
-
在目标数据集(如椅子数据集)上训练目标模型。我们将从头训练输出层,而其余层的参数都是基于源模型的参数微调得到的。
简单来说就是目标模型复制了源模型上除了输出层外的所有模型设计及其参数,并基于目标数据集微调这些参数。而目标模型的输出层需要从头训练。
1.3 IOU
IoU是描述两个矩形框之间重合程度的指标,在RCNN中常用于衡量边界框回归算法得到的预测目标框与真实目标框之间的重合程度。即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。交并比的取值范围在0和1之间:0表示两个边界框无重合像素,1表示两个边界框相等。
1.4 非极大值抑制(NMS)
当锚框数量较多时,同一个目标上可能会输出较多相似的预测边界框。为了使结果更加简洁,我们可以移除相似的预测边界框。常用的方法叫作非极大值抑制。
工作流程如下:
-
首先我们按照目标框对应的分类概率进行排序,选取分类概率 p p