实例分割模型解析:solo模型

论文链接:https://arxiv.org/abs/1912.04488
代码:https://github.com/WXinlong/SOLO

1.摘要

我们提出了一种新的、极其简单的实例分割方法。与许多其他密集预测任务(例如语义分割)相比,任意数量的实例使得实例分割更具挑战性。为了预测每个实例的掩码,主流方法要么遵循“检测然后分段”策略(例如,Mask R-CNN),要么首先预测嵌入向量,然后使用聚类技术将像素分组到各个实例中。我们认为通过引入“实例类别”的概念,从全新的角度来完成实例分割任务,该概念根据实例的位置和大小为实例中的每个像素分配类别,从而很好地将实例分割转换为单次分类可解决的问题问题。我们展示了一个更简单、更灵活的实例分割框架,具有强大的性能,达到了与 Mask R-CNN 相当的精度,并且在精度上优于最近的单次实例分割器。我们希望这个简单而强大的框架可以作为除实例分割之外的许多实例级识别任务的基线.

2.主要贡献

考虑图像中的对象实例之间的根本区别是什么?大多数情况是两个实例要么具有不同的中心位置,要不具有不同的对象大小。这一结果让人怀疑是否可以通过中心位置和对象大小直接区分实例?SOLO不是利用像素成对关系,而是在训练期间直接使用实例掩码注释进行学习,并且端到端的预测实例掩码,而无需进行分组后再处理。

3.方法

3.1 基本原理

如果对象的中心落入网格单元,则该网格负责
预测语义类别
分割该对象实例
SOLO连接到一个卷积主干,我们使用FPN,它生成不同大小的特征图金字塔,每个级别具有固定数量的通道,
有一张特征图,能够生成S的平方个mask,使用金字塔结构,金字塔中用了5个的话,就有5个S^2个mask出来
FPN的目的是为了检测图像中不同大小的对象

3.2模型结构图

在这里插入图片描述
如何解决平移不变性:原始的图移动了的话,对应的mask也得移动,所以它是位置敏感的,怎么把位置的信息加进去呢:
在这里插入图片描述
在mask部分加两层,如果原始特征张量的大小为H×W×D,则新张量的大小变为H×W×(D + 2),其中最后两个通道是x-y像素坐标。
要想保证每一个grid都有一个channel对应,S的平方是比较大的,怎么把复杂度降下来:
X-Y解耦
在这里插入图片描述
在decoupled solo中,原来的输出张量H×W×S^2
被替换为两个输出向量X∈R(H×W×S)和Y∈R(H×W×S),分别对应两个轴,因此输入空间从H×W×S^2减少到H×W×2S,该对象的掩膜被定义为:
在这里插入图片描述
其中xj和yi是X和Y经过sigmoid运算后的第j和第i个通道图。其背后的动机是,像素属于位置类别 (i; j) 的概率是属于第i行和第j列的联合概率,因为水平和垂直位置类别是独立的。

4.总结

在这项工作中,我们开发了一个直接实例分割框架,称为 SOLO。我们的 SOLO 是端到端可训练的,可以以恒定的推理时间将原始输入图像直接映射到所需的实例掩模,从而消除了自下而上方法或边界框检测和 RoI 中的分组后处理的需要采用自上而下的方式进行操作。鉴于 SOLO 的简单性、灵活性和强大的性能,我们希望我们的 SOLO 能够成为许多实例级识别任务的基石。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetCode-42.接雨水

📑前言 本文主要是【算法】——算法模拟的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#xff…

广东省考报名相片上传成功了,必须<30kb

(一)报名时间 2024年1月16日9︰00至22日16︰00。 (二)报考注册 报考者登录广东省公务员考试录用管理信息系统(https://ggfw.hrss.gd.gov.cn/gwyks/index.do),用本人身份证号码进行注册,在注册前应仔细阅读本公告、全省各级机关招录职位表(附件1)和报考指…

知识图谱的广泛应用与价值

目录 前言1 语义搜索2 知识问答2.1 问答对的深度关联2.2 文本挖掘与答案精准性2.3 知识图谱问答的全面服务 3 辅助推荐4 辅助大数据分析4.1 知识图谱推理的应用4.2 知识图谱的数据分析4.3 动态本体技术的引入 5 故障诊断5.1 故障诊断系统的应用5.2 知识图谱在语言理解中的作用5…

2024年1月13日~2024年1月19日(研读论文、了解语义分割)

一、前言 上周完成《SeisInvNet》论文的初步阅读工作。 本周继续阅读《SeisInvNet》论文,并理解其逻辑结构。另外,在B站寻找视频了解了语义分割任务逻辑、深度学习一些概念等。 二、论文SeisInvNet 标题:Deep learning Inversion of Seismic…

基于 UniAPP 社区论坛项目多端开发实战

社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…

php array_diff 比较两个数组bug避坑 深入了解

今天实用array_diff出现的异常问题,预想的结果应该是返回 "integral_initiate">"0",实际没有 先看测试代码: $a ["user_name">"测","see_num">0,"integral_initiate&quo…

开发实践8_REST

一、Django REST Framework, Django View & APIView MTV模式实现前后端分离。Representational State Transfer 表现层状态转化。Representation 资源(Resource a specific info. on net.)具体呈现形式。ST 修改服务端的数据。修改数据 POST请求。…

LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】

文章目录 前言LeetCode、2300. 咒语和药水的成功对数【中等,排序二分】题目及类型思路及代码 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域…

2024年显著性检测论文及代码汇总(1)

ACM MM Distortion-aware Transformer in 360 Salient Object Detection code Abstacrt:现有的方法无法处理二维等矩投影引起的畸变。本文提出了一个基于Transformer的模型,即DATFormer。首先,引入两个畸变自适应模块。其一是畸变映射模块&…

【Spring Boot 3】【Redis】基本数据类型操作

【Spring Boot 3】【Redis】基本数据类型操作 背景介绍开发环境开发步骤及源码工程目录结构 背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工…

tidb Cloud 连接spring boot 项目

一、 免费试用tidbitcloud TiDB Cloud Documentation | PingCAP Docs 1.github账号登录 2.创建集群 3.点击对应集群cludter0 导入数据 导入 本地导入只支持csv文件,其他导入需要AWZ账号使用S3云存储 二、连接spingboot项目 选择java,复制下面的jd…

前台vue配置

前台 vue环境 1.傻瓜式安装node: 官网下载:https://nodejs.org/zh-cn/2.安装cnpm: >: npm install -g cnpm --registryhttps://registry.npm.taobao.org3.安装vue最新脚手架: >: cnpm install -g vue/cli注:如果2、3步报错,清除缓…

美团RASP大规模研发部署实践总结

01 背景 RASP 是 Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种应用程序安全技术。RASP 技术能够在应用程序运行时检测并阻止应用级别的攻击。随着云计算和大数据的发展,应用程序安全越来越受到重视。其…

总结网络中的一些基本概念

1. IP地址 描述一个设备在网络上的位置,而且计算机是通过数字来描述IP地址的。例如(生活中的地址) 2. 端口号 描述一个主机上的哪个应用程序,有了IP可以确定主机,但是一个主机上可能有很多程序在使用网络,…

CloudPanel RCE漏洞复现(CVE-2023-35885)

0x01 产品简介 CloudPanel 是一个基于 Web 的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括虚拟机 (VM)、存储、网络和应用程序。 0x02 漏洞概述 由于2.3.1 之前的 CloudPanel 具有不安全的文件管理器 cook…

Docker技巧汇总

Docker技巧汇总 前言使用流程安装配置镜像管理创建并运行容器使用容器/常用命令导出和导入查看元数据挂载数据卷端口映射/转发VS Code连接Docker 前言 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

go语言(八)---- map

map的声明方式有以下三种。 package mainimport "fmt"func main() {//第一种声明方式//声明map1是一个map类型,key是String,value是Stringvar myMap1 map[string] stringif myMap1 nil {fmt.Println("myMap1 是一个空map")}//在使…

AI时代—ChatGPT-4.5的正确打开方式

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

Python初识——小小爬虫

一、找到网页端url 打开浏览器,打开百度官方网页点击图片,打开百度图片 鼠标齿轮向下滑,点击宠物图片 进入宠物图片网页,在网页空白处点击鼠标右键,弹出的框中最下方显示“检查”选项,点击(我是…

搭建一个JavaWeb项目流程详解

搭建一个JavaWeb项目流程 本文致力于,让编程者一步步明白书写一个JavaWeb项目应该做些什么,梳理清楚流程框架,需要的jar包,同时手写了一个分页工具类也在其中,让你在编程中更加丝滑。 1.src\main\java\com\einmeer\qia…