RCNN目标识别简单笔记

来源:互联网 发布:arcmap栅格数据矢量化 编辑:程序博客网 时间:2024/04/30 18:06

RCNN的基本流程

①选择性搜索(可根据颜色、纹理、合并后的面积最小、合并后占bbox最大等,将图片合并成大约2000个图像,这2000个图像基本包含了图像各种大小区域);


②使用辅助训练数据(有大量数据)训练CNN,之后直接"移植"到少量数据集中,不需要再次训练。(我个人觉得,除了最后一层汇聚成具体类别个数,前面的层已经拥有了组成任意物体的“元素”,只是缺少最后的"重组"成具体的类别);


③将划分好的大约2000个Region区域(这些区域有的是含有部分物体,有的含有全部物体,有的不含有任何物体),将这些区域与少量数据集里训练数据进行IOU计算(在训练集中已经框出了实际的物体框和对应的类别)。如果IOU大于某个阈值,则将当前的Region框标记为正类别,并附上对应的类别标签;否则认为该Region区域为非物体区域,将其标记为负类别,并标记为背景类别。这样我们就有了各个数据的标签了。


④根据2000个Region框和对应的类别(N),训练出N个类别的SVM分类器。在测试的时候还需要进行非极大值抑制(NMS)。

下面是测试流程:

  • 将2000个Region带进训练好的第1个SVM中,计算出对应与每个类别的Score,即得到了2000个对于此分类Score;
  • 然后将Socre按照由高到排列。如果有高的Socre的Region框与低Score的Region框的IOU面积大于某个阈值,则将低Score的Region消除;
  • 同时,也消除Score得分小于某个基础Score的消除。(因为低于基础的Score我们认为它不属于该类);
  • 进行位置的修正;
  • 然后在将2000个Region带进训练好的第2个SVM中,重复上述操作。




IOU和NMS参考:http://blog.csdn.net/hjimce/article/details/50187029


原创粉丝点击