《CenterMask:Real-Time Anchor-Free Instance Segmentation》论文笔记

2023-11-04

代码地址:CenterMask

1. 概述

导读:在这篇文章提出的新instance分割方法是基于FCOS的,首先,文章在FOCS的box检测的基础上通过添加一个SAG-Mask(spatial attention-guided mask)分支来实现像Mask RCNN中类似的分割效果。在FCOS检测的box结果基础上使用空间注意力特征(spatial attention map)帮助进行目标聚焦与抑制噪声。其次,在此基础上文章还对VoVNet进行了如下的有效改进:1)通过引入残差连接减轻更大VoVNet中的饱和问题;2)使用effective Squeeze-Excitation(eSE)解决原有SE中信息损失的问题;使用相同的ResNet101-FPN骨干网络情况下文章的方法性能达到了38.3% mask AP,超过了之前所有的网络,而且还快。与之对应的轻量级版本CenterMask-Lite也取得了33.4% mask AP与38% box AP,其速度在Titan Xp上能跑到35FPS。

在实例分割中比较出名是Mask RCNN与其基础上得到的改进算法,也有从速度上去考虑的算法YOLACT但是它是采用RetinaNet一阶段检测器做box检测,虽然在速度上相比Mask RCNN快了不少,但是在网络的性能表现上其与Mask RCNN还是有较大的差距的。在下图中展示了上面提到的实例分割算法与本文的算法在速度与性能上的比较:
在这里插入图片描述
这篇文章的算法是在FCOS检测器的基础上改进得到的,FCOS是一个anchor free的检测器,因而就少了很多超参数调整的过程。作者在FCOS的基础上添加了SAG-Mask来实现了实例分割。

在RoI区域的在FPN不同层的分配上不同与Mask RCNN,Mask RCNN在进行RoI区域分配的时候并没有考虑输入尺度信息,而这片文章考虑了输入的尺度,采用了自适应尺度的RoI区域分配方式,使得文章算法更加稳定。

在检测网络得backbone方面这里在VoVNet的基础之上进行改进(更深的网络带来更好的结果),解决了在堆叠OSA模块带来的性能饱和问题(由于反传梯度受到干扰),这是通过在OSA模块之间使用残差相连处理的(借鉴ResNet的思想)。

在原有的Squeeze-Excitation(SE)模块(channel attention)中使用两个FC会使得通道信息丢失,因而文章重新设计了SE模块,将其中的2个FC替换为1个FC,得到了新的SE模块eSE。

2. 方法设计

文章的算法结构见下图所示,其主要由三个部分组成:backbone+FPN、FOCS检测头、SAG-Mask分割分支。前面两个是FCOS检测网络中就有的,文章就是再次基础上添加分割分支。
在这里插入图片描述

2.1 自适应的RoI分配机制

在Mask RCNN网络中根据检测出来RoI的大小将其分布到不同FPN层上,之后再使用RoI Align进行特征对齐。其实现过程可以描述为如下的映射关系:
K = ⌊ k 0 + l o g 2 ( w ∗ h / 224 ) ⌋ K=\lfloor k_0+log_2(\sqrt{w*h}/224) \rfloor K=k0+log2(wh /224)
但是上面的公式并不是很适合本文的方法,其原因主要计入如下两点:

  • 1)在原始的FPN网络中使用的特征是从 P 2 P_2 P2 P 5 P_5 P5,而在文章使用的一阶段网络中使用的是 P 3 P_3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《CenterMask:Real-Time Anchor-Free Instance Segmentation》论文笔记 的相关文章

  • uni-app 收获地址API报错:chooseAddress:fail the api need to be declared in …e requiredPrivateInfos field in

    一 代码 选择收获地址 async chooseAddress const res await uni chooseAddress catch err gt err console log res res 二 报错信息 三 原因 这是由于微
  • uniapp中uni.showToast最多显示多少个汉字?

    在 uni showToast 中 最多可以显示 14 个汉字 超出的就会被隐藏 而且隐藏的效果根据手机效果还不一样 有的是 有的直接没了 这是由于 uni showToast 会在屏幕上显示一个浮动的提示框 提示框的大小是有限的 所以最多
  • 2023-ChatGPT解析及使用方法

    什么是Chat GPT 我们能用它来干什么 Chat GPT是一款基于人工智能技术的自然语言处理模型 由OpenAI团队开发 它能够通过机器学习技术从海量文本数据中学习语言知识 实现自然语言生成 对话生成和语言理解等功能 使得机器能够更加智
  • DELETE语句

    DELETE 语句用于删除表中的行 语法 DELETE FROM table name WHERE some column some value 示例 DELETE FROM Websites WHERE name 百度 AND count
  • pytorch实战-图像分类(一)(数据预处理)

    目录 1 导入各种库 2 数据预处理 2 1数据读取 2 2图像增强 3 构建数据网络 3 1网络构建 3 2读取标签对应的名字 4 展示数据 4 1数据转换 4 2画图 5 模型训练 1 导入各种库 上代码 import os impor
  • ESP32 Https server 错误Header fields are too long for server to interpret

    这个错误的根源是浏览器发送的请求头文件过于长 esp32 header fields are too long issue 给出了解决方案 修改sdkconfig文件中的CONFIG HTTPD MAX REQ HDR LEN 将其设置为更
  • DS证据理论

    1 基本概念 假设空间 识别框架 对于全域X X A B 那么假设空间为 空 A B AB Mass函数和BPA mass函数给假设空间每一个假设都分配了概率 我们称为基本概率分配 BPA Basic Probability Assignm
  • [设计模式] 浅谈SOLID设计原则

    目录 单一职责原则 开闭原则 里氏替换原则 接口隔离原则 依赖倒转原则 SOLID是一个缩写词 代表以下五种设计原则 单一职责原则 Single Responsibility Principle SRP 开闭原则 Open Closed P
  • VC++6.0的使用技巧

    1 建立工程 一定要创建window32位控制台应用 Win32 console Application 2 创建新文件 文件 新建 文件 源文件或头文件 3 如果不想要的文件 File View gt XXX files gt Sourc
  • 量子力学与自由意志

    第一个观点 是有造物主存在的 人不是偶然出险的 第二个观点 人是否具备自由意志 人可以违背生物定律做出自己的选择 量子力学的微观实验 因果链可以倒置 唯物主义与唯心主义到底谁是对的 熵增定律 普朗克 爱因斯坦 波尔 杨老 世界是非连续的 粒
  • [520]pandas(ix & iloc &loc)区别

    loc 通过行标签索引行数据 iloc 通过行号索引行数据 ix 通过行标签或者行号索引行数据 基于loc和iloc 的混合 举例说明 1 分别使用loc iloc ix 索引第一行的数据 coding utf 8 import panda
  • Python中heapq模块浅析

    Python提供了heapq模块 有利于我们更好的对堆的相关操作进行简化 下面总结我所用到的相关方法 文章目录 0 回顾堆的概念 1 heappush heap item 建立大 小根堆 2 heapify heap 建立大 小根堆 3 h
  • 一款运行于windows上的linux命令神器-Cmder(用过后爱不释手)

    一 前言 很多工程师都习惯了使用linux下一些命令 再去用Windows的 cmd 简直难以忍受 要在windows上运行linux命令 目前比较流行的方式由 GunWin32 Cygwin WSL Bash on Windows Git
  • 手写生产者消费者,要求指定容量,有个put方法和一个get方法,和当前库存量size

    废话不多说 直接看代码 tomcat addAdditionalTomcatConnectors httpConnector 1 核心代码 2 生产者 生产者 class ShopProducer implements Runnable p
  • journalctl 查看历史日志

    查看历史日志 使用 journalctl 命令来查看 systemd 日志时 可以使用 since 和 until 标志来查看特定时间范围内的历史日志 以下是一些示例命令 它们将显示不同时间范围内的历史日志 显示过去一小时内的日志 jour
  • Python 核心笔记(一)

    Python 是一种支持面向对象的解释性高级语言 Simple yet Powerful 是人们对它的 一致评价 最初是在苹果计算机上被编译成功的 但现在他已经可以运行于世界上主流的 操作平台之上了 跨平台性极强 它包含多种 Program

随机推荐

  • 小白易懂的遗传算法(Python代码实现)

    无约束的遗传算法 最简单的 最开始真正理解遗传算法 是通过这个博主的讲解 安利给小白们看一看 遗传算法的Python实现 通俗易懂 我觉得博主写的让人特别容易理解 关键是代码也不报错 然后我就照着他的代码抄了一遍 认真地理解了一下每一个模块
  • 【Springboot】整合wxjava实现 微信小程序:授权登录

    文章目录 一 wxjava是什么 二 使用步骤 1 引入依赖 2 配置yml 3 小程序的配置 4 后端的业务逻辑代码 controller service impl dto 5 前端的业务逻辑代码 新建项目 微信开发者工具 提示 以下是本
  • OpenLayers基础教程——popup弹出框

    1 前言 在OpenLayers中 一般使用ol Overlay实现popup弹出框 弹出框一般用于显示地图上兴趣点的一些属性信息 如下图所示 下面开始介绍实现方法 2 准备测试数据 在SqlServer中新建一张省会数据表 Provinc
  • Android View的Adapter

    1 Adapter适配的对象是View Adapter通过为View提供指定格式的数据来适配View 让View可以以事先约定好的方式将内容展示给用户 所以 进行UI设计的关键是搞清楚各个View组件的外观以及它们需要的数据的格式 然后选用
  • react 学习(二) 实现类和函数式组件

    我们上一节了解了 react 的虚拟 dom 的格式 如何把虚拟 dom 转为真实 dom 进行挂载 其实函数是组件和类组件也是在这个基础上包裹了一层 一个是调用函数返回虚拟 dom 一个是调用实例的 render 方法 返回虚拟 dom
  • C语言 求最大值和最小值

    author 爱太阳的麦芽糖 IDE VS2019 qq 1192273194 TIME 16 6 2019 PS 如果您有什么问题可以在下方留言哦 步骤 代码分三个部分阅读 后方有完整的代码 1 第一个for循环接受十个float类型的数
  • ngrok免费内网穿透服务搭建教程

    ngrok 内网穿透 进入ngrok官网注册 下载ngrok 计算机授权 启动服务 远程连接建立成功 测试 ngrok的一些细节 进入ngrok官网注册 https ngrok com 首先需要注册一个账号 注册账号时可能会刷新不出验证码
  • 回归标准差和残差平方和的关系_最新

    来源 由计量经济学服务中心综合整理自计量经济学等 转载请注明来源 1 回归分析统计量 根据矩阵的概念 标准的回归可以写为 一 系数结果 1 回归系数 最小二乘估计的系数b是由以下的公式计算得到的 2 标准差标准差项列出了系数估计的标准差 估
  • app服务器上的文件组成,聊天App—服务端的准备(SSH的学习)

    经过十一周两场考试和电子实训后 学习也进入了新的阶段 突发奇想想尝试做一个简易的聊天app项目 以后在朋友间使用也是一件挺有趣的事情 首先先从服务端的搭建开始 服务端最主要的就是进行数据的处理和数据库的连接 我目前学习的有了jdbc连接数据
  • remote: HTTP Basic:Access denied fatal:Authentication failed for

    近来在一天新电脑上面使用git pull 一个项目 老是提示 Access denied 找了许多方法 ssh key这些都配置了还是不行 当时别提有多尬 看嘛这就是pull 时的提示 此处省略 多种测试方法 就不一一啰嗦了 直接进入主题
  • 可变参数

    可变参数 可变参数语法格式 可变参数语法格式 前言 函数是指定义在类中的一段可以独立运行的小程序 如方法 构造器等 1 java可变参数是指在调用方法时传入不定长度的参数 本质上是基于数组实现的 参数为可变参数 public static
  • CentOS8彻底解决共享文件夹问题并更改yum镜像源

    开启共享文件夹需要默认有VMware tools工具生效才行 但有些虚拟机自带VMware tools 有些没有 所以先检查VMware tools工具是否生效 一 先检查是不是VMware tools的影响 0 使用如下命令检查是共享文件
  • GIT 是干啥的

    git的最基本作用是版本控制 比如你写一个文档 老板一直让你改 这时笨的人会在原文档上直接改 聪明一点的会复制一下原文档 在副本上修改 这时老板说你的第三版比较好 笨的人煞笔了 聪明一点的就直接拷贝了第三版给客户发过去了 然后聪明一点的认为
  • 【华为OD机试真题 JAVA】寻找身高相近的小朋友

    JS版 华为OD机试真题 JS 寻找身高相近的小朋友 标题 寻找身高相近的小朋友 时间限制 1秒 内存限制 262144K 语言限制 不限 小明今年升学到小学一年级 来到新班级后发现其他小朋友们身高参差不齐 然后就想基于各小朋友和自己的身高
  • jquery validate的rules方法使用注意

    使用jq validate校验form时 我们经常要用到切换一个input的rule功能 比如 此时我们就可以使用组件提供的rules方法 rules remove rules rules add rules
  • python -- 借助numpy保存数据为csv格式

    借助numpy可以把数组或者矩阵保存为csv文件 也可以吧csv文件整体读取为一个数组或矩阵 1 csv gt matrix import numpy my matrix numpy loadtxt open D test csv rb d
  • flutter run长时间卡在Running Gradle task “assembleDebug“问题解决

    1 下载离线gradle 在android gt gt gradle gt gt wrapper 中找到gradle wrappper properties 可以看到要下载的gradle的版本 下载官方链接 更改url的版本号就好 Grad
  • 算法分析:递归之小明算数

    一 问题描述 小明是个急性子 上小学的时候经常把老师写在黑板上的题目抄错了 有一次 老师出的题目是 36 x 495 他却给抄成了 396 x 45 但结果却很戏剧性 他的答案竟然是对的 因为 36 495 396 45 17820类似这样
  • 前端项目基本流程

    1 需求分析 针对于将要开发的项目 由产品经理沟通需求方之后 对应研发部给出相应的设计理念 业务流程逻辑 原型图 界面交互需求 多场景业务需求等所设计的产品PRD 在研发部门会议中商讨评审 共同协商产品需求所需的技术支持及分析相应的需求的合
  • 《CenterMask:Real-Time Anchor-Free Instance Segmentation》论文笔记

    代码地址 CenterMask 1 概述 导读 在这篇文章提出的新instance分割方法是基于FCOS的 首先 文章在FOCS的box检测的基础上通过添加一个SAG Mask spatial attention guided mask 分