当前位置:   article > 正文

Faster R-CNN改进篇(一): ION ● HyperNet ● MS CNN_faster rcnn 改进后的hypernet 代码

faster rcnn 改进后的hypernet 代码

一. 源起于Faster

       深度学习于目标检测的里程碑成果,来自于这篇论文:

       Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks.” Advances in Neural Information Processing Systems. 2015.

       也可以参考:【论文翻译

       虽然该文章前面已经讲过,但只给出了很小的篇幅,并没有作为独立的一篇展开,这里我们详细展开并讨论其 网络结构、应用领域 及 后续改进。

       前面文章参考:【目标检测-RCNN系列


二. 网络结构

       Faster RCNN的网络结构图如下:

        

       用的还是之前的图,其实对于这张图只需要记住一点:RPN网络,这是本文的核心贡献,RPN通过深度网络实现了 Proposal 功能,相较于之前的 SS(Selective Search)方法 和 EdgeBoxes 方法有很大提升。

       RPN 我们来看原论文的图:

        

       这张图虽然经典,但描述的并不太清楚,有些人可能看不明白,有几个关键点需要说明:

1)RPN 连接在 Conv5 之后

     参考网络结构图,先理解 Conv5,Conv5是前面经过4次conv和pooling。

     对于原图800*600的输入,Feature尺寸 变为[800/16,600/16] = [50,37.5],

     Conv5的输出维度为 256,Feature维度 为 256。

2)Anchor 生成与排序

     特征图采用滑窗方式遍历,每个特征像素点 对应K个 Anchor(即不同的Scale和Size),上述input对应的Anchor Count为 50*38*k(9) = 17100。

     对应如此多的 Anchor,需要通过置信度剔除大多数Candidate,通常保留100-300个就足够了。

     训练过程中通过IOU进行正负样本的选择,测试过程中置信度较低的被丢弃。

3)RPN 输出

     如上图所示,输出分为两部分,2K Scores + 4K Reg,基于 256d 的 intermediate 层,通过两个网络,同时进行 分类 + 回归,Scores提供了作为前景、背景目标的概率(2位),Reg提供了4个坐标值,标识Box位置。

     参考如下Caffe结构图,先通过3*3 的卷积核进行处理,然后1*1的卷积核进行降维,在 k=9 的情况下,每个像素对应生成 2*k = 18个 Scores 参数4*k = 36个 Reg参数

     整体上 1*1 卷积生成的特征是    分类W*H*18   &   回归W*H*36,其中 ReShape 是方便 Softmax 用的,可以忽略掉。

     Proposal层 根据 Softmax 输出(丢弃背景),结合对应 Anchor和Stride进行映射,将Box映射到原图,作为下一步 ROI Pooling 的输入。

        

4)RPN 结合方式

     RPN 网络相对独立于卷积层,原文中通过 ImageNet 数据集进行预训练。

     微调时,分别固定 RPN参数 和 卷积网络参数,对另外的网络部分进行微调,也就是说,虽然 Faster实现了端到端的处理,但并未实现全局的 Fine Turning。

5)ROI Pooling

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/250290
推荐阅读
相关标签
  

闽ICP备14008679号