目标检测——从RCNN到Faster RCNN 串烧

本人小硕一枚,方向是深度学习的目标检测,故想把从RCNN到Faster RCNN整个线串一下,理清里面的整个设计流程和创新思路,也算是对大神的创新思维进行学习。我会不定期改善博客里面可能存在的小错误,希望大家多多谅解支持啦。另外,在论文中已经讲到的点,如果不是特别重要的话,我不会再复述的啦,所以说各位看官先研读研读论文先,然后再看看我对这些论文的理解。对了,涉及到哪层是几乘几以及那层到底是多少这种细节,在这里不做太多讨论,除非涉及到核心思想,更多的细节将在我之后的博客——对Faster RCNN源码的解读中进行。

什么是object detection

object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是在哪里,是什么,具体在哪里这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。故用一般的方法是比较难处理的,这也是为什么在深度学习兴起之前,ILSVRC检测比赛检测那么沉寂的原因,大家都做的太差了嘛~~不过随着Hinton在2012年的比赛用CNN虐杀其他团队之后,深度学习以及深度卷积网络再一次进入人们视线,这种比较困难的问题也渐渐有思路了。在开始接触物体检测和深度学习时,我想凭借深度学习强大的拟合能力,给它啥它都能学,最开始的想法是,先训练出一个网络能分出是否是物体,即先不管是什么物体,只要bounding box 与ground truth 的IOU大于某个阈值,就认为是正样本,小于某个阈值为负样本,然后直接训练,然后直接给它ground truth,然后用当前框位置与ground truth的欧式距离作为loss,让它自己去学习什么是object以及object在哪里呢,也就是说把这个任务当成分类问题+回归问题来做??通过这个网络在一张大图sliding windows,就能确定存在物体的区域,再根据回归,来使得bounding box框得更准。不过实际上,想想就能知道,这种方法是开始没有任何限制地去学习,这样会导致任务复杂度非常高,网络会不收敛,而且在测试的时候会非常慢,因为不知道在哪里有什么东西,需要sliding windows并且需要不同尺度的缩放,另外并且在RCNN的论文中提到了不加限制直接当回归来做实际效果并不是特别好。我觉得不好的原因可能是学习的复杂度太高,这相当于在一开始就没有给任何限制,让网络自己去根据自己预测的和真实的框的距离差去学习,这样子的话,同一种物品在不同位置以不同的大小都可以认为是全新的一个训练样本,完全去拟合这样的任务显然是不太可能的。所以说,这种问题一定要先降低任务复杂度,然后再去学习降低复杂度的等价任务。当然这是我看了这么多优秀论文得出的马后炮式的结论,不过这也恰好说明了Ross Girshick大神科研出RCNN这种跨时代的东东时,思路到底有多么地超前。他为了降低检测任务的复杂度,把检测任务最直观的在哪里(回归问题),转化成先用传统方法先定候选框(通过边缘特征啊,轮廓特征啊什么的使得整个问题的复杂度降低,我不是全图搜索object,而是只在符合proposals算法的区域来搜索),然后在确定是什么(是背景还是是某种物体),然后根据这些已经判断是物体的区域(object score分数高于阈值)来进行回归(精确位置所在)。通过我以上的分析,我觉得检测最难做的是网络判断物体大致在哪里这个过程,而具体是什么ÿ

  • 35
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值