目标检测学习
RCNN
- 默认找出2000个可能存在目标的候选区域 region proposal
- 将候选区域调整为适合AlexNet网络的输入图像的大小,通过CNN对候选区域提取特征向量,2000个建议区域经过Alexnet生成2000×4096的特征矩阵
- 将2000×4096的特征向量经过20个类别的svm分类器进行分类,得到[2000,20]的得分矩阵
- 对2000×20的矩阵进行非极大值抑制,得到目标物体最高的一些建议框
- 修正bbox,对bbox做回归修正
选择性搜索:将每个像素作为一组,计算每一组的纹理,并将两个最接近的组结合起来。但是为了避免单个区域吞噬其他区域,我们首先对较小的组进行分组。我们继续合并区域,直到所有区域都结合在一起。
训练时候选框筛选
- 对于所欲的2000个候选区域得分进行筛选,删除小于0.5的
- 剩余候选框计算真实框和所有候选框的IOU,得到P中每个候选框对应IoU最高的N个中的一个
- 将计算IoU最高的候选框与其他候选框进行计算IoU,计算结果IoU大于阈值的候选框删除
- 将筛选出来的候选框,让候选框和真实框做训练,得到四个参数
- 将回归结果和候选框做计算得到最终结果
SPPNet
- 将整个图片输入到网络得到一个特征图
- 通过选择性搜索算法选出2000个候选区域的位置,将这些位置映射到特征图的对应的特征向量
- 映射过来的特征向量经过SPP层输出固定特征向量大小
SPP
spp将特征图划分为三张子图,三张子图大小分别为44,22,1,对每个小块进行全局池化
得到(16+4+1)*fc的特征图 fc
fastRcnn
使用RoI pooling
使用softmax替换svm做分类
分类使用N+1类,多出一个背景类
回归出候选区域位置
RoI pooling
为了加快速度和参数量,相比于spp只使用一个4×4的盒子
faster RCNN
将候选区域的筛选融合到网络中