RCNN系列总结(RCNN,SPPNET,Fast RCNN,Faster RCNN)

传统的目标检测方法大概分为区域选择、特征提取(SIFT、HOG等)、分类器(SVM等)三个部分,其主要问题有两方面:一是区域选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。以下介绍基于Region Proposal的深度学习目标检测算法R-CNN->SPP-NET->Fast R-CNN->Faster R-CNN.


R-CNN

创新点

  1. 采用CNN网络提取图像特征,从经验驱动的人造特征范式HOG、SIFT到数据驱动的表示学习范式,提高特征对样本的表示能力;
  2. 采用大样本下有监督预训练+小样本微调的方式解决小样本难以训练甚至过拟合等问题(迁移学习)。

整体流程框架

  1. 生成region proposal: 方法选用selective search,大约2K个/图,并wrap到固定尺寸(227x227,各向同性缩放)
  2. 特征提取:CNN从每个region proposal中提取出一个4096维的特征(Alexnet等,5卷积层,2全连接层),输出大致为2000x4096
  3. 类别分类:SVM对4096维特征进行分类,得到一个2000x20的矩阵(20种类别),然后对每一列进行NMS非极大值抑制
  4. 位置修正:回归器校正非极大值抑制后剩下的region proposal,输入CNN网络pool5层的特征,输出为xy方向的缩放和平移,具体公式见参考1

训练方法

  1. 对CNN的有监督预训练:在ILSVRC样本集(只有分类标签)上对CNN网络进行有监督预训练,此时网络最后的输出是4096维特征->1000类分类的映射,并不完全是R-CNN的部分。
  2. 特定样本下CNN的微调:即domain specific fine-tuning, 在本文中是在PASCAL VOC 2007上进行,学习率是第1步预训练学习率的1/10,将第1步中的1000类分类输出改为21类(20类+背景),注意此处仍然是softmax,而不是SVM。
    • 正样本:Ground Truth+与Ground Truth相交IoU>0.5的Region proposal
    • 负样本:与Ground Truth相交IoU≤0.5的建议框
  3. 每一类的SVM的训练:输入正负样本在CNN网络计算下的4096维特征(fc7层)
    • 正样本:Ground Truth
    • 负样本:与Ground Truth相交IoU<0.3的建议框,由于负样本太多,采用hard negative mining的方法在负样本中选取有代表性的负样本
  4. 每一类的Bounding-box regression训练:
    • 正样本:与Ground Truth的IoU最大,且IoU>0.6的Region Proposal

补充

  1. NMS非极大值抑制是什么?
    选择一类(即SVM输出的某一列),对该类下每一个bounding box根据score排序,把score最大的bounding box作为选定的框,计算其余bounding box与当前最大score对应的box的IoU,去除IoU大于设定的阈值的bounding box(说明两者重复了)。然后重复上面的过程,直至候选bounding box为空,最后再将score小于一定阈值的选定框删除得到这一类的结果(然后继续进行下一个分类)。
  2. 为什么微调时和训练SVM时所采用的正负样本阈值(0.5 vs. 0.3】不一致?
    微调阶段是由于CNN对小样本容易过拟合,需要大量训练数据,故对IoU限制宽松;SVM由于其适用于小样本训练,故对样本IoU限制严格。这也可以解释
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值