论文阅读:SOLOv2: Dynamic, Faster and Stronger

news/发布时间2024/5/14 10:18:06

目录

概要

Motivation

整体架构流程

技术细节

小结


论文地址:[2003.10152] SOLOv2: Dynamic and Fast Instance Segmentation (arxiv.org)

代码地址:GitHub - WXinlong/SOLO: SOLO and SOLOv2 for instance segmentation, ECCV 2020 & NeurIPS 2020.

概要

SOLO v2遵循了SOLO的优雅、简单的设计,并且针对mask的检测效果和运行效率做了两个改进:(1)mask learning:能够更好地学习到mask(2)mask NMS:提出了matrix nms,大大减少了前向推理的时间。 最终,SOLOv2相比SOLOv1,AP提升1.9%的同时速度快了33%,light-weight 版本的SOLVv2能够在COCO上达到31.3FPS,37.1%AP。除此之外,SOLO v2还在目标检测和全景分割任务中表现上佳,证实了SOLO的思路有用在更多视觉任务的潜力。

Motivation

  • 使用边界框定位对象已经被广泛探索,包括问题表述、网络架构、后处理以及所有专注于优化和处理边界框的内容。边界框是粗糙且不自然的。
  • 如何开发纯实例分割(包括后处理等支持设施)在很大程度上尚未被探索。

整体架构流程

SOLO的核心思想是:将分割问题转化为位置分类问题,从而做到不需要anchor,不需要normalization,不需要bounding box detections的实例分割。具体做法是:将图片划分成S×S的网格,如果物体的中心(质心)落在了某个网格中,那么该网格就有了两个任务:(1)Category Branch 负责预测该物体语义类别(2)Mask Branch 负责预测该物体的instance mask。这就对应了网络的两个分支。同时,SOLO在骨干网络后面使用了FPN,用来应对尺寸。FPN的每一层后都接上述两个并行的分支,进行类别和位置的预测,每个分支的网格数目也相应不同,小的实例对应更多的的网格。

Category Branch负责预测物体的语义类别,每个网格预测类别S×S×C,这部分跟YOLO是类似的。

重点看一下Mask Branch,每个正样本(有类别输出的网格)都会输出对应类别的instance mask,这里的通道channel和网格的对应关系是:第k个通道负责预测出第(i,j)个网格的instance mask,k = i*S+j。因此输出维度H×W×(S^2) 。这样的话就有了一一对应的语义类别和class-agnostic的instance mask。

技术细节

Dynamic Instance Segmentation

继承了 SOLOv1 的大部分设置,例如网格单元、多级预测、CoordConv和损失函数。在此基础上,我们引入了动态方案,其中原始掩模分支被解耦为掩模核分支和掩模特征分支,分别用于预测卷积核和卷积特征。

Matrix NMS

Matrix NMS 受到Soft NMS启发。Soft NMS 会根据重叠度来降低其它检测的得分,将其作为重叠度的单调递减函数f ( i o u ) f(iou)f(iou)。根据IoU的值,递归地降低得分,可用一个极低的分数阈值来去除较高的IoU检测。但是,这个流程是串行的,与Greedy NMS类似,无法并行实现。

MatrixNMS 在准确性和速度方面都是传统 NMS 的卓越替代品,并且可以轻松集成到最先进的检测/分割系统中。

小结

此外,与目标检测中的框 NMS 不同,例如分割,推理效率的瓶颈是掩模的 NMS。之前的工作要么使用盒子 NMS 作为替代,要么通过近似加速,这会导致损害 mask AP。本文设计了一种简单且更快的 NMS策略,称为矩阵 NMS,用于掩模的 NMS 处理,而不牺牲掩模 AP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/EwGi/8076.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

zabbix3.4.6 源码安装

Step1: 下载 https://www.zabbix.com/download 选中一下。download Zabbix Sources PackageReleaseDateRelease NotesZabbix ManualDownloadZabbix 3.4Server, Proxy, Agent, GUI3.4.615 January, 2018 Download step2 :拷贝在redhat 6.3_X86_86(192…

js:通过input标签或Drag拖拽文件实现浏览器文件上传获取File文件对象

文档 https://developer.mozilla.org/zh-CN/docs/Web/API/Filehttps://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/drag_event 通过读取文件可以获取File对象的信息 lastModified: 1707210706000 lastModifiedDate: Tue Feb 06 2024 17:11:46 GMT0800 (中国标准…

11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana 日志分析系统ELKELK概述Elasticsearch安装Elasticsearch部署Elasticsearch集群Elasticsearch插件 熟悉Elasticsearch的API调用_cat API创建 tedu 索引使用 PUT 方式增加数据查询数据修改数据删除数据 KibanaKibana…

MATLAB环境下基于图像处理的视网膜图像血管分割

预防糖尿病对每个人的健康至关重要,而糖尿病的早期症状在眼底视网膜血管会有所体现,如静脉血管扩张、轻度弯曲等。高血压作为常见疾病,在中国有多达2.45亿的患者。高血压的病情也会在眼底视网膜血管上有所体现,如交叉压迫征等反映…

VSCODE include错误 找不到 stdio.h

解决办法: Ctrl Shift P 打开命令面板, 键入 “Select Intellisense Configuration”(下图是因为我在写文章之前已经用过这个命令,所以这个历史记录出现在了第一行) 再选择“Use gcc.exe ”(后面的Foun…

开发自己的node cli

先看效果 资料 掌握 Node CLI 工具开发,为团队研发提效! - 掘金还在为提效发愁吗?手把手带你完成 Node CLI 核心开发,深入使用 Node CLI 生态库,文末准备了 190 个Node工具包福利~https://juejin.cn/post/71786666191…

Vue项目创建——每一步都有记录和说明

文章目录 1. 首先下载Node2. 全局安装vue/cli3. 创建Vue项目4. 启动Vue项目 1. 首先下载Node 既然都开始创建Vue项目了,想必大家电脑里面都有Node跟npm了,这里就不赘述了。 2. 全局安装vue/cli vue/cli是什么 vue/cli 是一个全局安装的 npm 包&#x…

光学3D表面轮廓仪微纳米三维形貌一键测量

光学3D表面轮廓仪(白光干涉仪)利用白光干涉原理,以0.1nm分辨率精准捕捉物体的表面细节,实现三维显微成像测量,被广泛应用于材料学领域的研究和应用。 了解工作原理与技术 材料学领域中的光学3D表面轮廓仪,也被称为白光干涉仪&am…

【MATLAB】CEEMDAN_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 CEEMDAN_MFE_SVM_LSTM神经网络时序预测算法是一种结合了多种先进技术的复杂预测方法,旨在提高时序预测的准确性和稳定性。下面是对该算法的详细介绍: CEEMDAN&…

【计算机网络】1.2 网络边缘

1.2 网络边缘 问题一:网络边缘是什么? 答:网络可以大致分为【网络的边缘】和【网络的核心】,网络系统可以大致分为【边缘系统】、【核心系统】、【接入系统】。 处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称…

华为高级路由技术 2023-2024

2023-2024 一、2.26路由协议版本优先级和度量主和备路由最长匹配原则递归路由和默认路由 一、2.26 路由协议版本 (1)RIP: IPv4网:RIPv1,RIPv2(v1和v2 不兼容) IPv6网:RIPng(Next g…

【算法小讲堂】#1 贪心算法

引入——关于贪心算法 我们先来做一个小游戏——现在假设自己是一个小偷,桌上有一些物品,包括一台iPhone15、一个充电宝、一个眼罩和一个溜溜梅。此时,你听说警察即将到来,那么你会先带走哪个东西呢? 一般来讲&#xf…

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

C语言特殊函数

静态函数 背景知识:普通函数都是跨文件可见的,即在文件 a.c 中定义的函数可以在 b.c 中使用。 静态函数:只能在定义的文件内可见的函数,称为静态函数。 语法 staitc void f(void) // 在函数头前面增加关键字 static &#xff…

线代:认识行列式、矩阵和向量

本文主要参考的视频教程如下: 8小时学完线代【中国大学MOOC*小元老师】线性代数速学_哔哩哔哩_bilibili 另外这个视频可以作为补充: 【考研数学 线性代数 基础课】—全集_哔哩哔哩_bilibili 行列式的概念和定义 一般会由方程组来引出行列式 比如一个二阶…

如何在Linux部署Portainer并结合内网穿透远程管理本地Docker容器

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 Portainer 是一个轻量级的容器管理工具,可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可…

python 提取PDF文字

使用pdfplumber,不能提取扫描的pdf和插入的图片。 import pdfplumberfile_path rD:\UserData\admindesktop\官方文档\1903_Mesh-Models-Overview_FINAL.pdf with pdfplumber.open(file_path) as pdf:page pdf.pages[0]print(page.extract_text()) # 所以文字prin…

MongoDB的介绍和使用

目录 一、MongoDB介绍 二、MongoDB相关概念 三、MongoDB的下载和安装 四、SpringBoot 整合 MongoDB 一、MongoDB介绍 MongoDB是一种NoSQL数据库管理系统,采用面向文档的数据库模型。它以C语言编写,旨在满足大规模数据存储和高性能读写操作的需求。Mo…

web安全学习笔记【17】——信息打点(7)

信息打点-APP资产&知识产权&应用监控&静态提取&动态抓包&动态调试 #知识点: 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指…

故障诊断 | 一文解决,PSO-BP粒子群算法优化BP神经网络模型的故障诊断(Matlab)

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断 | 一文解决,PSO-BP粒子群算法优化BP神经网络模型的故障诊断(Matlab) 粒子群优化算法(Particle Swarm Optimization, PSO)是一种群体智能优化算法,用于求解优化问题。BP神经网络是一种用于模…
推荐文章