论文阅读笔记-DiffusionInst: Diffusion Model for Instance Segmentation
文章目录
- DiffusionInst: Diffusion Model for Instance Segmentation
- 摘要
- 介绍
- 任务介绍
- 实例分割的几种方法
- 想法来源
- 贡献
- 方法
- 整体结构
- Mask Representation
- DiffusionInst
- 组成
- Training
- Inference
- 不足之处
- 感悟
DiffusionInst: Diffusion Model for Instance Segmentation
代码:chenhaoxing/DiffusionInst: This repo is the code of paper "DiffusionInst: Diffusion Model for Instance Segmentation". (github.com)
摘要
扩散框架已经实现了与以前最先进的图像生成模型相当的性能。由于其强大的噪声到图像去噪管道,研究人员对其在判别任务中的变体感到好奇。本文提出了 DiffusionInst,一种将实例表示为实例感知过滤器并将实例分割制定为噪声到过滤器去噪过程的新颖框架。该模型经过训练可以在没有来自 RPN 的任何归纳偏差的情况下反转嘈杂的基本事实。在推理过程中,它以随机生成的过滤器作为输入和输出掩码,进行一步或多步去噪。在 COCO 和 LVIS 上的大量实验结果表明,与具有各种主干的现有实例分割模型(例如 ResNet 和 Swin Transformers)相比,DiffusionInst 实现了具有竞争力的性能。我们希望我们的工作可以作为一个强有力的基线,这可以激发设计更有效的扩散框架来挑战判别任务。
介绍
任务介绍
实例分割旨在用二进制掩码表示对象,与对象检测的边界框相比,这是一种更细粒度的表示。实例分割旨在为每个图像中呈现的每个实例预测具有类标签的像素级实例掩码。
实例分割的几种方法
- Two-stage方法:首先检测物体,然后通过 RoI 对齐裁剪它们的区域特征,以进一步对每个像素进行分类。
- single-stage方法:主要是基于anchor,我的理解是边界box。
- query-based方法:使用随机生成的查询来替换 RPN 和锚点
想法来源
(1)query-based方法很像一种noise-to-mask的策略,这点和diffusion模型很相似,文中认为这是diffusion模型的一种特殊案例。
(2)一幅图像中的实例掩码可以由具有公共掩码特征的**实例感知过滤器(向量)**表示。
由此,本文提出了一个noise-to-filter的扩散视图的新颖实例分割框架。基本结构借鉴了#DiffusionDet# ,不同点在于:
- 除了边界框,还在扩散过程中生成噪声滤波器。
- 我们引入掩码分支以从FPN获取多尺度信息以进行全局mask重建。
它同query-based方法相比的优点:
- 可以执行多步推理,query-based方法仅通过解码器的一次前向传递直接对对象的随机查询进行降噪
- 生成的噪声过滤器可能包含以随机选择的时间为条件的不同分布噪声,这对模型的鲁棒性和性能有很大贡献
贡献
- 我们提出了 DiffusionInst,这是用于实例分割的扩散模型的第一个工作,将其视为生成噪声到滤波器的扩散过程。
- 我们没有预测局部掩码,而是利用实例感知过滤器和公共掩码分支特征来表示和重建全局实例掩码。
- 在 COCO 和 LVIS 基准上进行了综合实验。与现有的精心设计的方法相比,DiffusionInst 取得了有竞争力的结果,显示了扩散模型在判别任务中的广阔前景。
方法
整体结构

Mask Representation
参考文章:CondInst
实例mask的产生方式:

其中Fmask表示与实例无关(不是针对某个实例)的mask特征图,θ表示特定于实例的过滤器,m是预测的二进制mask。
是mask head,它含有3个1*1的卷积层,这些卷积层以过滤器θ作为卷积核。
使用filter代表实例mask的好处:
- 直接对整个mask图形进行随机噪声去噪,这比向量复杂得多。
- 用动态mask head替换了广泛使用的box-to-mask预测方案,即将 RoI 特征解码为局部掩码,用于预测全局掩码。RoI特征因为是从下采样特征中裁剪的部分因此实例边缘的细节是丢失了的,而实例掩码对实例边缘的更高要求,因此它需要更大的感受野。
DiffusionInst
组成
- CNN(ResNet-50)或 Swin(Swin-B)主干,它通过使用 FPN 提取紧凑的视觉特征表示
- mask branch,用于融合来自 FPN 的不同尺度信息,输出掩码特征:

- Decoder,借鉴DiffusionDet,将一组与filter关联的嘈杂边界框作为输入来细化框和filter作为去噪过程
- reconstruct the instance mask
Training
我们倾向于依赖相应的边界框来构建从 groundtruth 到噪声filter的扩散过程。
过程:(1)给groundtruth box添加噪声,对应第一个公式。注意方式跟DiffusionDet里面一致,先padding然后加噪声。
(2)生成噪声实例filter,它使用加噪的的box特征和一个全连接层n来生成,对应第二个公式
(3)获得预测的mask。

使用的损失函数:

其中Ldet是DiffusionDet中所使用的损失函数。
Inference
从采样自高斯分布的box bT开始

不足之处
- 由于难以获得真值滤波器,我们的噪声到滤波器过程仍然依赖于边界框
- 需要多步去噪获得更高的性能增益
- 判别任务中的noise-to-filter过程需要更准确的实例上下文作为条件,而实例上下文严重依赖于代表性的backbone特征和大的感受野。
- 与现有方法相比,需要更多的epoch才能达到相同的性能,且速度比它们慢
感悟
其实创新性一般吧,很多都是借鉴别人的,但是它有这个能力把这些想法用在一个新任务上。
相关文章:
论文阅读笔记-DiffusionInst: Diffusion Model for Instance Segmentation
文章目录DiffusionInst: Diffusion Model for Instance Segmentation摘要介绍任务介绍实例分割的几种方法想法来源贡献方法整体结构Mask RepresentationDiffusionInst组成TrainingInference不足之处感悟DiffusionInst: Diffusion Model for Instance Segmentation 代码&#x…...
解决CondaUpgradeError网上的方法都不奏效(回退版本、upgrade/update都不行)的问题和CondaValueError
问题描述 Executing transaction: failed ERROR conda.core.link:_execute(502): An error occurred while installing package ‘conda-forge::certifi-2022.9.24-pyhd8ed1ab_0’. CondaUpgradeError: This environment has previously been operated on by a conda version…...
基于某业务单登陆场景并发测试实战
文章目录1 测试目的2 测试目标和测试对象3 名词解释4 测试说明5 测试环境和工具5.1 测试工具5.2 测试环境5.3 人力计划6 测试用例6.1 方案设计6.2 接口地址6.3 接口参数6.3.1 header参数6.3.2 请求参数7 脚本设计8 监控数据8.1 虚拟用户并发情况8.2 事务响应时间8.3 每秒点击次…...
JVM内存模型
程序计数器 多线程时,当线程数超过CPU数量或CPU内核数量,线程之间就要根据时间片轮询抢夺CPU时间资源。因此每个线程有要有一个独立的程序计数器,记录下一条要运行的指令。线程私有的内存区域。如果执行的是JAVA方法,计数器记录正…...
三、NetworkX工具包实战3——特征工程【CS224W】(Datawhale组队学习)
开源内容:https://github.com/TommyZihao/zihao_course/tree/main/CS224W 子豪兄B 站视频:https://space.bilibili.com/1900783/channel/collectiondetail?sid915098 斯坦福官方课程主页:https://web.stanford.edu/class/cs224w NetworkX…...
分布式之Raft共识算法分析
写在前面 在分布式之Paxos共识算法分析 一文中我们分析了paxos算法,知道了其包括basic paxos和multi paxos,并了解了multi paxos只是一种分布式共识算法的思想,而非具体算法,但可根据其设计具体的算法,本文就一起来看…...
数据库——范式
目录 一、概念 二、各范式 第一范式 第二范式 第三范式 BC范式 第四范式 第五范式(略) 一、概念 基本概念 关系:通常一个关系对应一张表;元组:一行;属性:一列;码࿱…...
Geospatial Data Science(2):Geospatial Data in Python
Geospatial Data Science(2):Geospatial Data in Python PART 1: 检查数据 1.1 Imports import geopandas as gpd # for geospatial data handling import osmnx # for handling data from OpenStreetMap (osm) with the help of networkX (nx) import contextily as cx # f…...
16.hadoop系列之MapReduce之MapTask与ReduceTask及Shuffle工作机制
1.MapTask工作机制 以上内容我们之前文章或多或少介绍过,就已网络上比较流行的该图进行理解学习吧 MapTask分为五大阶段 Read阶段Map阶段Collect阶段溢写阶段Merge阶段 2.ReduceTask工作机制 ReduceTask分为三大阶段 Copy阶段Sort阶段Reduce阶段 3.ReduceTask并…...
java 面试过程中遇到的几个问题记录20230220
微服务注册中心的作用微服务注册中心的作用是协调和管理微服务实例的注册和发现。它充当了服务注册表,可以维护服务实例的元数据,例如服务名称、IP 地址和端口号等。当一个微服务启动时,它会向注册中心注册自己的元数据,以使其他服…...
面试题:【数据库三】索引简述
目录 一、索引是什么 二、索引规则 三、索引失效场景 一、索引是什么 索引是帮助Mysql高效获取数据的【数据结构】索引存储在文件系统中索引的文件存储形式与存储引擎相关 mysql有三种存储引擎 InnoDBMyISAMMEMORY索引文件的结构 Hash Hash索引底层是哈希表,哈希…...
数据库必知必会:TiDB(12)TiDB连接管理
数据库必知必会:TiDB(12)TiDB连接管理TiDB连接管理TiDB的连接特性连接TiDBMySQL命令行客户端图形界面客户端连接其他连接方式写在后面TiDB连接管理 TiDB的连接特性 TiDB Server主要负责接收用户的会话请求,接收SQL并负责SQL语句…...
电源大事,阻抗二字
作者:一博科技高速先生成员 姜杰PCB设计时,我们通常会控制走线的特征阻抗;电源设计时,又会关注电源分配系统(PDN)的交流阻抗,虽然都是阻抗,一个是信号的通道要求,一个是电…...
ASE20N60-ASEMI的MOS管ASE20N60
编辑-Z ASE20N60在TO-247封装里的静态漏极源导通电阻(RDS(ON))为0.4Ω,是一款N沟道高压MOS管。ASE20N60的最大脉冲正向电流ISM为80A,零栅极电压漏极电流(IDSS)为10uA,其工作时耐温度范围为-55~150摄氏度。ASE20N60功耗…...
nginx 代理01(持续更新)
1、如果请求是post,而且请求原是188.188.3.171,处理方式403 if ($request_method ~* "POST") # $request_method 等同于request的method,通常是“GET”或“POST” # 如果访问request的method值为POST则返回“o” {set…...
初阶C语言——操作符【详解】
文章目录1.算术操作符2.移位操作符2.1 左移操作符2.2 右移操作符3.位操作符按位与按位或按位异或4.赋值操作符复合赋值符5.单目操作符5.1单目操作符介绍6.关系操作符7.逻辑操作符8.条件操作符9.逗号表达式10.下标引用、函数调用和结构成员11表达式求值11.1 隐式类型转换11.2算术…...
37k*16 薪,年后直接上岗,3年自动化测试历经3轮面试成功拿下阿里Offer....
前言 转眼过去,距离读书的时候已经这么久了吗?,从18年5月本科毕业入职了一家小公司,到现在快4年了,前段时间社招想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了阿里…...
利用Rust与Flutter开发一款小工具
1.起因 起因是年前看到了一篇Rust iOS & Android|未入门也能用来造轮子?的文章,作者使用Rust做了个实时查看埋点的工具。其中作者的一段话给了我启发: 无论是 LookinServer 、 Flipper 等 Debug 利器,还是 Flutt…...
零入门kubernetes网络实战-16->使用golang给docker环境下某个容器里添加一个额外的网卡
《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 上一篇文章,我们使用了golang在veth pair链接的网络命名空间里添加了网卡, 本篇文章,我尝试,在docker环境下…...
音频信号处理笔记(二)
文章目录1.1.3 过零率1.1.4 谱质心和子带带宽1.1.5 短时傅里叶分析法1.1.6 小波变换相关课程: 音频信号处理及深度学习教程傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 知乎 (zhihu.com)1.1.3 过零率 过零率:是一个信号符号…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
