打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Notes for Faster R

最近NIPS 2015的投稿截止了,各种投到NIPS的文章也外泄了,看到了两篇关于Detection的文章,说实话,看到这些论文的时候一点兴奋都没有。

两篇paper都是出自rbg大神的: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks以及You Only Look Once: Unified, Real-Time Object Detection。然后两篇都是讲提速的,共同点都是把Selective Search(一些额外的proposal方法)去掉,用网络本身产生,做成一个end-to-end的框架。

Faster R-CNN

说白了是一个能够联合优化的Cascade结构。

核心思想是引入了一个Region Proposal Networks(RPNs),这个网络产生的proposals作为Fast R-CNN的输入。在特征提取上RPNs跟Fast R-CNN共享前面的所有卷积层,流程可简化如下:

faster_R-CNN.jpg

其中RPNs的结构如下:

faster_R-CNN_rpn.png

实际上操作的时候,会用RPNs在最后一层的特征图(Feature Map)上做划窗(Sliding window),窗口的大小是nxn,然后每个窗口经过RPNs后会产生k个proposals,为什么不是一个而是使用k个?看文章的意思是为了得到平移/尺度不变形,不过在我看来是没必要的,这样给人感觉太过hand-crafted了,直接回归一个bbox也就可以了。作者好像没有对k做对比实验。

然后具体是怎么联合优化的?实际上,一开始就直接把整个网络进行联合优化是不合理的,因为proposal都不准,训练Fast R-CNN的分类网络意义何在….所以作者就提出了自己的训练方法,一开始,RPNs跟Fast R-CNN的卷积层是不共享的:

  1. 用ImageNet-pre-trained(AlexNet或VGG)来初始化RPN,然后对RPN进行fine-tune。
  2. 用ImageNet-pre-trained(AlexNet或VGG)来初始化Fast R-CNN,然后对Fast R-CNN进行fine-tune,其中这时候Fast R-CNN的proposals输入是由训练好的RPN产生的。
  3. 用Fast R-CNN来初始化RPN,固定卷积层,fine-tune全连接层。
  4. 固定卷积层,同时fine-tune RPN跟Fast R-CNN。

方法不太优美,但是又好像只能这么做。

YOLO

这个很暴力…

只是大概讲一下思路,首先看一下YOLO的模型:

yolo_net.png

我想你应该没想错,就是这么暴力,对于一张图片,不管多大,都是先resize成448x448,然后扔进网络里面,网络就输出7x7=49个bbox,同时会为每个bbox输出它属于某种物体的概率。

那么具体这个7x7跟原图有什么关系以及groundtruth应该怎么设?作者是把原图划分成7x7=49个格子,然后如果原图上的某个物体的中点落在某个格子bxy上,那么这个格子就负责预测这个物体出来,比如狗的bbox的中点落在(1, 5)这个格子,那么这个格子对应的groundtruth就是狗的bbox,以及狗的概率为1。

这有一个很严重的缺陷是,它没办法处理物体挨在一起且中点都落在同一个格子上的情况。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Faster R
深入了解目标检测深度学习算法的技术细节
目标检测算法总结
干货 | 基于深度学习的目标检测算法综述
基础知识 | 目标检测中Anchor的认识及理解
一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服