R-CNN

作者: zju_dream | 来源:发表于2019-05-19 18:31 被阅读0次

资料参考自sigai

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.png

Training阶段

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
image.png

Testing阶段

因为一个物体上可能出现多个框,所以得使用NMS(非极大值抑制)
同一个类别的两个框的iou超过了阈值,保留置信度高的框。


image.png

Result

image.png image.png

总结:

  1. 针对检测数据集较小的问题:在imagenet上预训练+检测数据集上fine-tune。
  2. 不是end-to-end, 每个阶段都要单独进行。
  3. 正负样本的选择。

相关文章

网友评论

      本文标题:R-CNN

      本文链接:https://www.haomeiwen.com/subject/sovqzqtx.html