【目标检测】R-CNN(2014)

参考:https://blog.csdn.net/briblue/article/details/82012575

R-CNN,Fast R-CNN,Faster R-CNN中的开篇之作。two-stage,第一步是选出候选区域,第二步是从候选区域中选出目标并分类。

region proposal:候选区域。

positive / negative excample: 正负样本,即前景 / 背景

bbox: bounding box

 

1. 对于每张图片,使用选择性搜索(Selective Search)选出候选区域。

  • 输入一张图片,用Graph-Based Segmentation 将图片切割为多个小块,并记为集合R。
  • 对集合中的相邻小块计算相似度(similarity)得到矩阵S
  • 从中选出相似度最高的块对,将块对与相关块的相似度从S中剔除。
  • 块对组合为新块并加入R,计算新的相邻块相似度。

最终,每张图片得到具有多个层次的候选框,大概2k个。

 

2. 对每个候选区域进行预处理:context padding(原图向周围扩展16个像素)和wrap(无视大小和比例,强制转换),最终变化为227*227的固定尺寸。然后输入到AlextNet提取4096维特征。

 

3. 使用SVM对特征进行分类,并得到相应分数。最终,对每个类使用非极大值抑制得到结果。对每种类别,训练回归函数,微调坐标。

     非极大值抑制

  • 根据置信度得分进行排序
  • 选择置信度最高的比边界框添加到最终输出列表中,将其从边界框列表中删除
  • 计算所有边界框的面积
  • 计算置信度最高的边界框与其它候选框的IoU。
  • 删除IoU大于阈值的边界框
  • 重复上述过程,直至边界框列表为空。

 

 

# 训练细节:

  • 在ILSVRC2012 classification 上预训练CNN
  • 为了让CNN更好的适应检测任务和变形候选窗口(warped proposal windows)。将AlextNet在ImageNet中的分类层替换,使用SGD和warped region proposals来微调(迁移学习)。
  • 在fine-tuning中:1. 与ground-truth计算IoU >= 0.5的region proposal视作该类的positive。2. 其余视作negative。在每次SGD的迭代中,选择32个positive windows和96个background windows建立一个mini-batch。
  • 在SVM中:1. ground-truth boxes视作对应类的positive example。2. 将与某类任何ground-truth的overlap都小于0.3的proposal视为该类的negative example。3. 其余的忽略。
  • SVM中处于灰色区域的hard negative excample对参数收敛更有意义。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值