zoukankan      html  css  js  c++  java
  • thundernet

    在移动端部署检测模型时,因为速度原因,通常采用的是轻量级的backbone+one stage detector的方式。我之前在项目里就是采用的

    就是这种方案,但精度始终没法和two-stage相比,而two-stage又太慢,之前测过速度之后就没再考虑在移动端采用two-staget方案,

    而thundernet重新给了我在移动端采用two-stage的希望。

    先来看下网络的整体结构图,主要分成了backbone、RPN、ROI-head,主要针对前两个部分改进,roi-head部分延续了light-head的roi,

    下面分别看一下。

    一、backbone 

             基于shufflenetV2(共三个),为了扩大感受野,将所有的3*3 depth conv 替换为5*5 depth conv。对于SNet146和535,移除conv5,

    对于SNet49,conv输出一个比较薄的feature map。

    二、RPN

      对于PRN部分,主要增加了一个CEM模块和SAM模块。

      (1)CEM

        如图,其实就是一个特征融合模块,跟FPN没啥关系。

        注意:这里比lighe-head用了更少的特征图:7*7*5

      

         (2)将融合后的特征fcem经过5*5 dwconv + 1*1conv(替换原来的3*3conv),生成frpn,这一部分用于生成rois。

        (3)RPN是做背景-目标的二分类模型,作者认为这个特征可以用来做attention:更加专注于目标,而非背景。

                    frpn 经过1*1conv+BN,再经过sigmoid,产生0~1之间的值,然后与fcem做点乘(?),输出fsam,这个

    特征用于后续的psRoIAlign。

        (4)最后就是roi head, 延续light-head rcnn,使用1024维的全连接层,然后分类、回归位置。

                    

                    

     想法

    总体感觉就是shufflenetV2 + light-head ,使用大的分离卷积核扩大感受野,特征融合+attention获得更好的

    特征,同时进一步的削减rpn特征图的厚度,来减小计算量。代码目前没有公布预训练模型,手上也没有机器,挺想用

    实际数据去测试一下的。

  • 相关阅读:
    jq实现多级手风琴效果
    css弹性盒布局
    css兼容处理
    bootstrap--双日历插件
    char*,string,char a[], const char *,之间的转换
    8.Maximum Depth of Binary Tree
    7. Minimum Depth of Binary Tree-LeetCode
    6. Reverse Linked List 逆转单链表
    5.Maximum Product Subarray-Leetcode
    卷积神经网络(Convolutional Neural Networks)CNN
  • 原文地址:https://www.cnblogs.com/573177885qq/p/12397370.html
Copyright © 2011-2022 走看看