论文阅读笔记-DiffusionInst: Diffusion Model for Instance Segmentation

news2024/9/20 1:00:46

文章目录

  • 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才能达到相同的性能,且速度比它们慢

感悟

其实创新性一般吧,很多都是借鉴别人的,但是它有这个能力把这些想法用在一个新任务上。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

魔兽世界经典怀旧服务器架设教程

准备工具:MySQL服务端服务器最重要的你需要会技术、要不然都瞎扯 给你东西你也看不懂。教程开始:安装MySQL并创建数据库安装MySQL社区版,并配置SQL服务器。安装SQLyog。利用其登录,创建realmd、characters、mangos、scriptdev2数据…

普通动物实验室规划设计SICOLAB

一、普通动物实验室普通动物实验室是进行动物实验的专门场所,用于研究疾病的发生机制,测试药物的安全性和有效性等。以下是普通动物实验室设计的一些细节和功能房间:(1)动物饲养区:用于饲养动物&#xff0c…

面试浅谈之 C++ STL 篇

面试浅谈之 C STL 篇 一 🏠 概述 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题…

hydra常见端口服务穷举

目录 工具介绍 参数说明 官方示例 官方字典 ssh爆破 ftp爆破 mysql爆破 smb爆破 rdb爆破 http爆破 redis爆破 工具介绍 hydra 是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可 参数说明 -l : 指定破…

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux下安装MySQL8.0的详细步骤 第一步:下载安装配置 第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql) 第三步:使用Navicat客户端连接 搞了一台云服务器,首先要干的活就是…

move_base代码解析(二)MoveBase::planThread

在第一章中第四步执行了planThread函数的线程启动&#xff0c;该步骤会调用planThread函数。这里不是通过函数调用的形式实现的&#xff0c;而是通过线程开关的形式实现的: boost::unique_lock<boost::recursive_mutex> lock(planner_mutex_);//给该线程上锁planner_goal…

117页数字化转型与产业互联网发展趋势及机会分析报告(PPT)

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 产业互联网是以机构组织为主体的…

CentOS7 Hive2.3.9 安装部署(mysql 8.0)

一、CentOS7安装MySQL数据库 查询载mariadb rpm -qa | grep mariadb卸载mariadb rpm -e --nodeps [查询出来的内容]安装wget为下载mysql准备 yum -y install wget在tools目录下执行以下命令&#xff0c;下载MySQL的repo源&#xff1a; wget -P /tools/ https://dev.mysql.…

网络编程学习一

1、初识网络编程2、网络编程三要素3、三要素&#xff08;IP&#xff09;4、IPV4的一些小细节5、Inetaddress类的使用package com.leitao.demo.network;import java.net.InetAddress; import java.net.UnknownHostException;/*** Description: TODO* Author LeiTao* Date 2023/2…

移动WEB开发三、flex布局

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…

企业数字化管理是什么?如何建立企业数字化管理?

企业数字化管理是什么&#xff0c;如何建立企业数字化管理&#xff1f; 01 什么是企业数字化管理&#xff1f; 提到企业数字化管理&#xff0c;就不得不联想到机器自动化、业务流程自动化以及数字处理自动化这三个概念的区别&#xff1a; ​而抛开那些又臭又长的概念解读&…

支持域自适应的可解释网络改进药物-靶标预测

预测药物-靶点相互作用是药物发现的关键。最近基于深度学习的方法表现出良好的性能&#xff0c;但仍然存在两个挑战&#xff1a; 如何明确地建模和学习药物和靶标之间的局部相互作用&#xff0c;以更好地预测和解释&#xff1b;如何优化新型药物-靶标对预测的泛化性能。 在这…

高斯课堂 计算机网络(下)

第四章、网络层 0、第四章导图 1、网络层概述及IP地址&#xff08;上&#xff09; &#xff08;1&#xff09;网络层概述 无连接指的是在网络层这一层次&#xff0c;我们在发送数据的时候&#xff0c;不需要实现建立连接&#xff0c;这种建立连接的可靠性由谁来保证呢&#x…

【Python入门第十三天】Python 元组

元组&#xff08;Tuple&#xff09; 元组是有序且不可更改的集合。在 Python 中&#xff0c;元组是用圆括号编写的。 实例 创建元组&#xff1a; thistuple ("apple", "banana", "cherry") print(thistuple)运行实例 访问元组项目 您可以通…

【Mysql】存储过程

【Mysql】存储过程 文章目录【Mysql】存储过程1.存储过程1.1 存储过程概述1.2 特点1.3 基本语法1.3.1 创建1.3.2 调用1.3.3 查看1.3.4 删除1.4 变量1.4.1 系统变量1.4.2 用户定义变量1.4.3 局部变量1.5 if1.6 参数1.7 case1.8 循环1.8.1 while1.8.2 repeat1.8.3 loop1.9 游标1.…

keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验过程1.某台Real Server down2.LVS本身down方法&#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置总结前言 一、Keepalived简介 Keepali…

【深度学习】训练模型结果同时显示,模型结果对比

码字不易&#xff0c;如果各位看官感觉该文章对你有所帮助&#xff0c;麻烦点个关注&#xff0c;如果有任何问题&#xff0c;请留言交流。如需转载&#xff0c;请注明出处&#xff0c;谢谢。 文章链接&#xff1a;【深度学习】训练模型结果同时显示&#xff0c;模型结果对比_莫…

Python - 绘制人体生物节律

文章目录项目说明关于人体生物节律用到的技术代码实现获取每月有多少天计算每天到生日过了多少天计算节律绘图结果项目说明 这里仿照 http://www.4qx.net/The_Human_Body_Clock.php 做一个人体生物节律的计算和展示 关于人体生物节律 百度/维基百科 解释 https://zh.wikiped…

DaVinci 偏好设置:系统 - 内存和 GPU

偏好设置 - 系统/内存和 GPUPreferences - System/Memory and GPU内存和 GPU Memory and GPU 选项卡提供了内存配置以及 GPU 配置的相关设置。内存配置Memory Configuration系统内存System Memory列出了所用电脑的总的可用内存。限制 Resolve 内存使用到Limit Resolve memory u…

Java中如何创建和使用对象?

要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象&#xff0c;具体格式如下&#xff1a;类名对象名称null; 对象名称new 类名();上述格式中&#xff0c;创建对象分为声明对象和实例化对象两步&#xff0c;也可以直接通过下面的方式创建对象&#xff0c;具…