实例分割算法BlendMask
实例分割算法BlendMask
论文地址:https://arxiv.org/abs/2001.00309
github代码:https://github.com/aim-uofa/AdelaiDet
我的个人空间:我的个人空间
密集实例分割
密集实例分割主要分为自上而下top-down与自下而上bottom-up两类方法:
Top-down方法
top-down方法主要表现为先检测后分割,先通过一些方法获得box区域,然后对区域内的像素进行mask提取,比如著名的Mask-RCNN就是top-down方法。
这种模型一般有以下问题:
- 特征和mask之间的局部一致性会丢失
- 冗余的特征提取,不同的bbox会重新提取一次mask
- 由于使用了缩小的特征图卷积,位置信息会损失
Bottom-up方法
bottom-up方法将整个图进行逐像素的预测(per-pixel prediction),然后按照聚类等方法,对每个像素做embedding,最后group出不同的instance。虽然保留个更好的低层特征,但是效果一般略差于top-down方法。
这种模型一般存在以下问题:
- 严重依赖逐像素预测的质量,容易导致非最优的分割
- 由于mask在低维度提取,对于复杂场景的分割能力有限
- 需要复杂的后处理方法
混合方法
BlendMask主要结合了top-down与botton-up两种思路,利用t-d方法生成实例级别的高维信息(如bbox),利用b-u方法生成per-pixel的预测进行融合。基于FCOS,融合的方法借鉴FCIS(裁剪)与YOLACT(权重加法)的思想,提出了blender模块,更好的将实例级别的全局信息与提供细节的底层特征融合。
总体思路

整体架构如上图所示,包含一个detector模块与BlendMask模块。detector模块直接采用的FCOS,BlendMask模块分为三部分:
- Bottom Module:对底层特征进行处理,生成的score map称为Bases
- Top Layer:串联在检测器的box head上,生成Base对应的top level attention
- Blender:将Bases与attention融合
Bottom Module
采用Deelpabv3+的decoder,包含两个输入,一个低层特征一个高层特征,对高层特征进行上采用后与低层特征融合输出,

bottom输出的feature特征为:(N * K * H/s * W/s),N为channel,K为bases的数量,(H,W)为输入的size,s为scroe的步长。
Top Layer
在检测的特征金字塔的每一层后都加了一层卷积,用来预测top-level attentions(A),输出的特征为:(N * (K*M*M)) * H_i * W_i),M*M为attention的分辨率,即对应的base的每个像素点的权重值,包含的粒度更细。
Blender
Blender的输入为bottom的输出B、top-level的输出attentions(A)和bbox§,该部分的融合如下:
-
使用RoiPooler来裁取每个bbox对应的区域,并resize成固定的RxR大小的特征图。训练时直接使用ground truth bbox作为propasals,而在推理时直接用FCOS的结果

-
attention的大小M是比R小的,因此需要插值,这里采用的双线性插值,从MxM变为RxR

-
接着插值完的attention进行softmax,产生一组score map

-
对每个r_d和对应的s_d进行逐像素的相加,最后将K个结果相加得到m_d

可视化的blender过程:

相关文章:
实例分割算法BlendMask
实例分割算法BlendMask 论文地址:https://arxiv.org/abs/2001.00309 github代码:https://github.com/aim-uofa/AdelaiDet 我的个人空间:我的个人空间 密集实例分割 密集实例分割主要分为自上而下top-down与自下而上bottom-up两类方法…...
多线程、智能指针以及工厂模式
目录 一、unique_lock 二、智能指针 (其实是一个类) 三、工厂模式 一、unique_lock 参考文章【1】,了解unique_lock与lock_guard的区别。 总结:unique_lock使用起来要比lock_guard更灵活,但是效率会第一点,内存的…...
初探 VS Code + Webview
本文作者为 360 奇舞团前端开发工程师 介绍 VSCode 是一个非常强大的代码编辑器,而它的插件也非常丰富。在开发中,我们经常需要自己编写一些插件来提高开发效率。本文将介绍如何开发一个 VSCode 插件,并在其中使用 Webview 技术。首先介绍一下…...
Codeforces Round 864 (Div. 2)(A~D)
A. Li Hua and Maze 给出两个不相邻的点,最少需要堵上几个方格,才能使得两个方格之间不能互相到达。 思路:显然,对于不邻任何边界的方格来说,最少需要的是4,即上下左右都堵上;邻一个边界就-1&a…...
第3章-运行时数据区
此章把运行时数据区里比较少的地方讲一下。虚拟机栈,堆,方法区这些地方后续再讲。 转载https://gitee.com/youthlql/JavaYouth/tree/main/docs/JVM。 运行时数据区概述及线程 前言 本节主要讲的是运行时数据区,也就是下图这部分,…...
delta.io 参数 spark.databricks.delta.replaceWhere.constraintCheck.enabled
总结 默认值true 你写入的df分区字段必须全部符合覆盖条件 .option("replaceWhere", "c2 == 2") false: df1 overwrite tb1: df1中每个分区的处理逻辑: - tb1中存在(且谓词中匹配)的分区,则覆盖 - tb1中存在(谓词中不匹配)的分区,则append - tb1中不存…...
Redis知识点
1. Redis-常用数据结构 Redis提供了一些数据结构供我们往Redis中存取数据,最常用的的有5种,字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(zset…...
经典数据结构之2-3树
2-3树定义 2-3树,是最简单的B-树,其中2、3主要体现在每个非叶子节点都有2个或3个子节点,B-树即是平衡树,平衡树是为了解决不平衡树查询效率问题,常见的二叉平衡书有AVL树,它虽然提高了查询效率,…...
Numpy从入门到精通——节省内存|通用函数
这个专栏名为《Numpy从入门到精通》,顾名思义,是记录自己学习numpy的学习过程,也方便自己之后复盘!为深度学习的进一步学习奠定基础!希望能给大家带来帮助,爱睡觉的咋祝您生活愉快! 这一篇介绍《…...
Docker-compose 启动 lnmp 开发环境
GitHub传送阵 docker-lnmp 项目帮助开发者快速构建本地开发环境,包括Nginx、PHP、MySQL、Redis 服务镜像,支持配置文件和日志文件映射,不限操作系统;此项目适合个人开发者本机部署,可以快速切换服务版本满足学习服务新…...
《android源码阅读四》Android系统源码整编、单编并运行到虚拟机
1、编译环境 《安装Ubuntu系统》《android源码下载》 2、整编源码 进入Android源码根目录 cd AOSP初始化环境 source build/envsetup.sh清除缓存 make clobber选择编译目标 // 选择编译目标 lunch // 因为本次是在虚拟机中运行,这里使用x86 lunch aosp_x86_6…...
深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练
大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练。在模型训练中,大家往往对各种的数据类型比较难下手,对于非结构化数据已经复杂的数据的要进行特殊处理,这里介绍一下我们如何进行数据处理才能输入到模型中,进…...
【笔试】备战秋招,每日一题|20230415携程研发岗笔试
前言 最近碰到一个专门制作大厂真题模拟题的网站 codefun2000,最近一直在上面刷题。今天来进行2023.04.15携程研发岗笔试,整理了一下自己的思路和代码。 比赛地址 A. 找到you 题意: 给定一个仅包含小写字母的 n n n\times n nn 的矩阵…...
【unity专题篇】—GUI(IMGUI)思维导图详解
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:uni…...
【C++ Metaprogramming】0. 在C++中实现类似C#的泛型类
两年前,笔者因为项目原因刚开始接触C,当时就在想,如果C有类似C#中的泛型限定就好了,能让代码简单许多。我也一度认为: 虽然C有模板类,但是却没办法实现C#中泛型特有的 where 关键词: public c…...
TDA4VM/VH 芯片 NAVSS0
请从官网下载 TD4VM 技术参考手册,地址如下: TDA4VM 技术参考手册地址 概述 (NAVSS0 的介绍在 TRM 的第10.2章节) NAVSS0 可以看作 MAIN 域的一个复杂外设域,实现如下功能: UDMASS: DMA 管理子系统;MODSS…...
基于springboot的前后端分离的案列(一)
SpringBootWeb案例 前面我们已经讲解了Web前端开发的基础知识,也讲解了Web后端开发的基础(HTTP协议、请求响应),并且也讲解了数据库MySQL,以及通过Mybatis框架如何来完成数据库的基本操作。 那接下来,我们就通过一个案例…...
Docker网络模式详解
文章目录 一、docker网络概述1、docker网络实现的原理1.1 随机映射端口( 从32768开始)1.2 指定映射端口1.3 浏览器访问测试 二、 docker的网络模式1、默认网络2、使用docker run 创建Docker容器时,可以用--net或--network 选项指定容器的网络模式 三、docker网络模式…...
PXE高效批量网络装机
PXE 定义 PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在client /server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。 具备以下三个优点 1 规模化: 同时…...
YOLOv5+双目实现三维跟踪(python)
YOLOv5双目实现三维跟踪(python) 1. 目标跟踪2. 测距模块2.1 测距原理2.2 添加测距 3. 细节修改(可忽略)4. 实验效果 相关链接 1. YOLOV5 双目测距(python) 2. YOLOV7 双目测距(python&#x…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
