论文阅读笔记-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 过零率 过零率:是一个信号符号…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
