• 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特征图的厚度,来减小计算量。代码目前没有公布预训练模型,手上也没有机器,挺想用

    实际数据去测试一下的。

  • 相关阅读:
    控制内插表达式的格式
    MySQL查看实时执行的SQL语句
    测试开源.net 混淆器ConfuserEx
    nginx 目录自动加斜线”/”
    兼职程序员一般可以从什么平台接私活?
    .NET之Hangfire快速入门和使用
    c#通过操作mongodb gridfs实现文件的数据库存储
    c# .net core + .net framework mongodb nuget 包
    asp.net core ModelState 模型状态验证扩展类
    Linux查看系统基本信息,版本信息(最全版)
  • 原文地址:https://www.cnblogs.com/573177885qq/p/12397370.html
Copyright © 2020-2023  润新知