论文阅读笔记-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 过零率 过零率:是一个信号符号…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
