R-CNN 的目标识别之路

2019-04-16  本文已影响0人  雨住多一横

参考博客

大致可分为三步

1、生成类别独立的候选区域,这些候选区域中包含了RCNN的最终定位结果。
2、用神经网络去针对每个候选区域提取固定长度的特征向量(RCNN采用的神经网络为在ImageNet预训练的AlexNet)
3、利用SVM进行分类

生成候选区域

特征抽取

测试阶段的目标检测

训练

RCNN采用迁移学习(预训练+fine-tune)

R-CNN 将候选区域与 GroundTrue 中的 box 标签相比较,如果 IoU > 0.5,说明两个对象重叠的位置比较多,于是就可以认为这个候选区域是 Positive,否则就是 Negetive.
R-CNN 采用的是 IoU 的阈值,这个 threshold 取 0.3,如果一个区域与 Ground tureth 的 IoU 值低于设定的阈值,那么可以讲它看成是 Negetive.
IoU 的 threshold 它不是作者胡乱取值的,而是来自 {0,0.1,0.2,0.3,0.4,0.5} 的数值组合的。而且,这个数值至关重要,如果 threshold 取值为 0.5,mAP 指标直接下降 5 个点,如果取值为 0,mAP 下降 4 个点。
一旦特征抽取成功,R-CNN 会用 SVM 去识别每个区域的类别,但这需要优化。
因为训练的数据太大,不可能一下子填充到电脑内存当中,R-CNN 作者采取了一种叫做 Hard negetive mining 的手段。

bbox回归

RCNN用于语意分割

区域分类技术是语意分割的标准做法,RCNN也能用于语意分割
RCNN语意分割分为3个阶段:

上一篇 下一篇

猜你喜欢

热点阅读