zoukankan      html  css  js  c++  java
  • head头的设计:rfcn light-head rfcn

    faster缺点:1.不是全卷积,roi出来后是两个fc层,这样会丧失平移变性。

           2.每个roi都要单独经过两个fc层,也就是分别进行分类和回归,耗时

    也有种说法是roi-pooling后导致平移变性丧失,这个地方还要深入思考

    resnet在以faster结构为检测框架的时候,是stage4和之前作特征提取层backbone,roi-pooling后用stage5替代了两层fc,这样能增加平移变性,精度增加,但是时间上还是耗时,因为每个roi都要单独经过stage5的卷积然后分类、回归

    roi-wise,个人感觉应该就和element-wise意思差不多,也就是每个roi单独的

    rfcn提到:By analogy, it appears natural to use all convolutional layers to construct the shared, convolutional subnetwork in the object detection architecture, leaving the RoI-wise subnetwork no hidden layer. However, as empirically investigated in this work, this naïve solution turns out to have considerably inferior detection accuracy that does not match the network’s superior classification accuracy. To remedy this issue, in the ResNet paper [9] the RoI pooling layer of the Faster R-CNN detector [18] is unnaturally inserted between two sets of convolutional layers — this creates a deeper RoI-wise subnetwork that improves accuracy, at the cost of lower speed due to the unshared per-RoI computation.

    直接用全卷积还不行,因为高的分类准确率和低的检测准确率不match

    rfcn相当于既增加检测准确率(或者说平移变性),又缩短耗时。rfcn是全卷积的,并且每个roi不用单独进行fc或者卷积计算,而是直接从共享的sensetive score map上获得相关信息

    light-head rfcn:

    two stage网络结构包括两部分:ROI warping和 R-CNN subnet,ROI warping成为body,R-CNN subnet称为head

    rfcn的sensetive score map的channel数是class*k*k,如果81类就是3969个channel。light-head rfcn将class*k*k降到n*k*k,n是任一值(论文中取10,也就是channel数变成7*7*10),改变之后导致无法像rfcn那样预测不同的class了(rfcn通过psroi-pooling后vote),个人觉得psroi-pooling出来是一个7*7*10的feature map,7*7是width和height,10这个channel和类别数无关了。所以psroi-pooling出来的cube接了一个fc,生成1*2048的vector,然后再通过两个fc分别生成cls(1*class)和bouding box regression(4*class)的vector进行预测,这个和faster是一样的。

    代码部分:https://github.com/zengarden/light_head_rcnn/blob/master/experiments/lizeming/light_head_rcnn.ori_res101.coco/network_desp.py

    light-head rcnn:http://www.sohu.com/a/212814713_610300

    为什么score sensetive map可以work???

    https://zhuanlan.zhihu.com/p/30867916

    https://www.jianshu.com/p/db1b74770e52

  • 相关阅读:
    Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍
    Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程
    Java字符串编码
    Java线程有哪些不太为人所知的技巧与用法?
    捕获异常之使用SLF4J和Logback
    捕获异常之使用Log4j
    Idea 热部署插件JRebel 安装与环境配置-上海尚学堂Java培训
    Java变量常量声明和定义
    LeetCode239 滑动窗口最大值
    LeetCode347. 前 K 个高频元素
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/9695552.html
Copyright © 2011-2022 走看看