two-stage的处理流程
image.png特征很重要-如何选取特征?
image.png遇到的挑战
- 问题1:如何使用dnn进行定位
-
问题2:如何在小数据集上训练出较好的效果
image.png
针对问题1:2013年有人提出,但是该方法很复杂,而且效果不好。
image.png针对问题1(RCNN的处理办法)
image.png针对问题2:
- 在imagenet上预训练
-
检测数据集上fine-tune。
image.png
R-CNN模型架构
image.pngTraining阶段
1. Region proposal
selective search:
- 最开始将图片中每一个像素点看成单独的一类,每一次相邻的像素点计算相似性,小于一定阈值看成同一类(合并),不断迭代,同一个类别在外边产生一个四边形。相似度度量在selective search中包括颜色,纹理,形状,梯度等。
-
大概提取2000个候选框
image.png
Feature Extractor
特征提取使用的是AlexNet,使用的是fc7层
image.png
- 使用的数据集
- 在imagenet上左训练(1000类)
- pascal voc上fine-tuning(改成21类)
训练时的注意点
将生成的图片resize到227*227(实验后发现,直接resize的效果最好)
image.png
绝大部分后选框是背景,副样本数量远大于正样本数量,这样会导致正负样本不均衡。
与ground truth的iou>0.5认为postive sample,否则认为negative sample
在构建mini-batch的时候,将所有的bounding box构建成一个更大的数据集,控制正负样本的比例
image.png
Classification:
- svm适用于二分类,
- 使用21个svm
-
疑问?(下图的正负样本指的是什么,为什么把ground truth看成是正样本,iou<0.3看成是负样本,那其他的样本呢?)
image.png
Bounding Box regression
-
疑问?取pool5的特征向量用于干嘛?不是有位置信息了吗,直接用位置信息不就可以了吗?- 回归中需要用到。
image.png
Testing阶段
因为一个物体上可能出现多个框,所以得使用NMS(非极大值抑制)
同一个类别的两个框的iou超过了阈值,保留置信度高的框。
image.png
Result
image.png image.png总结:
- 针对检测数据集较小的问题:在imagenet上预训练+检测数据集上fine-tune。
- 不是end-to-end, 每个阶段都要单独进行。
- 正负样本的选择。
网友评论