【生成模型之十三】SmartEraser

论文:SmartEraser: Remove Anything from Images using Masked-Region Guidance

代码: https://github.com/longtaojiang/SmartEraser

类型:fine-tuned diffusion model

其他:支持简历修改面试辅导

一、背景

到目前为止,对象移除一直由“mask-and-inpaint”范式主导,在这种范式中,mask区域被排除在输入之外,而模型则依赖于未mask区域来inpaint缺失的区域。 然而,这种方法缺乏mask区域的上下文信息,通常会导致性能不稳定。在这项工作中,我们介绍了SmartEraser,它采用了一种名为“Masked-Region-Guidance”的新“remove”范式构建。这种范式保留了输入中的mask区域,并将其用作删除过程的指导。

它提供了几个明显的优点:(a)它引导模型准确识别要删除的对象,防止其在输出中再重新生成;(b)由于用户掩码经常超出对象本身,因此它有助于在最终结果中保留周围的上下文;利用这一新范式,我们提出了Syn4Removal,这是一个大规模的对象删除数据集,其中实例分割数据用于将对象复制并粘贴到作为删除目标的图像上,原始图像作为基本事实。

二、Related Work

目前,大多数对象移除方法采用“mask-and-inpaint”范式,其中mask区域被排除在输入之外,通常用placeholder中性占位符(例如黑色)填充。然后,该模型根据周围的内容对mask区域进行内绘。然而,我们发现这种方法存在两个主要问题。首先,这种策略经常在mask区域内产生意想不到的目标。由于缺乏对删除目标和其他内容的精确区分,这些方法严重依赖背景上下文,有时会导致无意中修复新对象,例如,如图2(a)所示,在道路上增加一辆新车而不是删除原来的一辆。其次,用户定义的mask经常超过目标对象,需要“mask-and-inpaint”方法来合成这些扩展区域。这会无意中修改附近的上下文,降低视觉连贯性。

 为了解决这些局限性,我们引入了一种新的对象移除范式,称为Mask-Region-Guidance。核心思想是,不应排除mask区域,而应将其用作去除过程中的关键指导。我们的方法很简单:与现有方法一样,我们保留原始图像作为输入,用掩码输入指示掩码区域,而不是用占位符替换掩码区域。如图2(b)所示,这种范式使模型能够准确识别目标对象,防止输出中的意外再生,并在最终结果中有效地保留目标对象的周围环境。

然而,我们的新范式不能直接用现有的对象移除数据构造方法来实现。通常,他们的训练数据是通过屏蔽图像的一部分来创建的,然后训练模型来预测被mask的内容。如果将这种方法应用于我们提出的mask区域指导范式,由于mask区域包含在输入中,该模型可以通过简单地从输入中复制mask内容来利用快捷方式。因此,由input、mask和remove result三元组组成的数据集对我们的范式至关重要。不幸的是,现有的相关数据集[23,36,45,48]要么包含数量有限的独特场景,要么依赖于修复模型来生成伪去除结果。

为了解决这个问题,我们引入了一种合成技术来创建专门用于对象删除的训练数据。我们的方法涉及将来自不同图像的对象实例粘贴到不同的背景图像上,形成输入图像,粘贴的实例掩模作为输入掩模,原始背景图像被设计为ground truth。使用这种方法,我们生成Syn4Removal,一个由真实背景图像、mask和带有粘贴对象的背景三元组组成的大规模数据集。Syn4Removal的设计提供了相反的场景,并支持在我们的新范式下进行有效的训练,鼓励模型在没有捷径的情况下准确学习对象移除。

为了使Syn4Removal适用于训练对象移除模型,我们设计了一个pipeline来生成高质量的数据。首先,我们过滤掉低质量的实例和背景图像。然后,我们开发了一种计算图像上可行粘贴位置的方法,确保对象不会与粘贴区域中的实例重叠,这有助于防止模型重新生成不需要的对象。最后,使用混合算法将实例粘贴到背景图像上。由此产生的数据集由100万个图像三元组组成。

三、Method

现有方法:大多数现有方法遵循“mask-and-inpaint”范式,其中mask区域被排除在输入之外,模型试图根据未mask区域修复缺失的内容。

现有方法缺点:它们通常会在mask区域重新生成新对象或产生模糊和伪影。

基于所提出的掩模区域引导范式和Syn4Removal数据集,我们设计了一个基于文本到图像稳定扩散模型的物体移除框架。

Mask Enhancement.

如果模型只使用精确的对象掩码进行训练,那么训练和推理之间的掩码形状和大小将存在显著差距。具体来说,我们使用六种掩码类型来增强对象掩码:(1) Original mask;(2) Eroded mask;(3) Dilated mask;(4) Convex hull mask;(5) Ellipse mask;(6) Bbox & Bessel mask;

CLIP-Based Visual Guidance.

我们的SmartEraser是基于文本到图像的扩散模型设计的,文本提示在指导生成过程中起着重要作用。我们的目标是设计一个提示,指示模型在生成过程中要删除什么。具体来说,我们首先使用相应的增强掩模对图像中与移除目标对应的区域进行分割。然后将该分割区域馈送到预训练的CLIP[33]视觉编码器中,以提取其视觉特征(例如class token)。此功能与文本编码器输出空间不精确对齐。然后利用可训练的MLP网络将视觉特征映射到文本编码器的特征空间。然后将映射的embedding附加到提示“Remove the instance of ”的CLIP文本嵌入的标记上。在训练过程中,视觉编码器被冻结,MLP和文本编码器是可训练的。因此,基于CLIP的视觉引导制定如下:

 其中τθ(·)是文本编码器,νθ(·”)是视觉编码器,y表示输入文本提示“remove the instance of”。

Loss Function.

假设E(·)是VAE编码器,因此输入图像x的潜在特征及其GT xb分别为z̄=E(x)和z=E(xb),zt是z的噪声特征,在时间步长t处添加了噪声ε。因此,标准扩散过程后的总体训练损失公式如下:

4、Experiments 

为了进行公平的比较,我们遵循之前的实验设置[9,55],并在广泛使用的SD v1.5型号上微调SmartEraser。训练过程涉及微调扩散模型和MLP中的UNet和文本编码器组件,以将视觉特征映射到文本特征空间。SmartEraser在提出的Syn4Removal数据集上进行训练,batch size为32,使用AdamW、optimizer进行500k次迭代,所有可训练模块的学习率为2e-5。

Evaluation metrics.

为了定量评估对象移除模型的性能,我们考虑了三个关键方面:(1) 整体图像质量,Fre ́chet Inception Distance (FID) and CLIP Maximum Mean Discrepancy (CMMD);(2) consistency between the predicted region and the background context, evaluated by REMOVE [5] metric;(3) consistency between the pre- dicted region and corresponding region in the ground truth, assessed by LPIPS [52], SSIM [44], and PSNR;

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来生成式 AI 安全市场正迅速发展。据IDC预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%,而…

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%…

mysql运维

1、msyqlLinux通用二进制安装 1. MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/https://downloads.mysql.com/archives/community/https://downloads.mysql.com/archives/community/https://downloads.mysql…

蓝桥杯刷题DAY3:Horner 法则 前缀和+差分数组 贪心

所谓刷题,最重要的就是细心 📌 题目描述 在 X 进制 中,每一数位的进制不固定。例如: 最低位 采用 2 进制,第二位 采用 10 进制,第三位 采用 8 进制, 则 X 进制数 321 的十进制值为&#xff…

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试: System Verilog进行单步调试的步骤如下: 1. 编译设计 使用-debug_all或-debug_pp选项编译设计,生成调试信息。 我的4个文件: 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…

【单层神经网络】softmax回归的从零开始实现(图像分类)

softmax回归 该回归分析为后续的多层感知机做铺垫 基本概念 softmax回归用于离散模型预测(分类问题,含标签) softmax运算本质上是对网络的多个输出进行了归一化,使结果有一个统一的判断标准,不必纠结为什么要这么算…

Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

目录 1.镜像名的组成 2.镜像操作相关命令 镜像常用命令总结: 1. docker images 2. docker rmi 3. docker pull 4. docker push 5. docker save 6. docker load 7. docker tag 8. docker build 9. docker history 10. docker inspect 11. docker prune…

【25考研】南开软件考研复试复习重点!

一、复试内容 复试采取现场复试的方式。复试分为笔试、机试和面试三部分。三部分合计100分,其中笔试成绩占30%、机试成绩占30%、面试成绩占40%。 1.笔试:专业综合基础测试 考核方式:闭卷考试,时长为90分钟。 笔试考查内容范围…

Codeforces Round 1002 (Div. 2)(部分题解)

补题链接 A. Milya and Two Arrays 思路&#xff1a;题意还是比较好理解&#xff0c;分析的话我加了一点猜的成分&#xff0c;对a&#xff0c;b数组的种类和相加小于4就不行&#xff0c;蒋老师的乘完后小于等于2也合理。 AC代码&#xff1a; #include <bits/stdc.h> u…

84-《金银花》

金银花 金银花 &#xff0c;正名为忍冬&#xff08;学名&#xff1a;Lonicera japonica Thunb. &#xff09;。“金银花”一名出自《本草纲目》&#xff0c;由于忍冬花初开为白色&#xff0c;后转为黄色&#xff0c;因此得名金银花。药材金银花为忍冬科忍冬属植物忍冬及同属植物…

2000-2020年 儒家文化-儒学中心数据-社科数据

儒家文化-儒学中心数据&#xff08;2000-2020年&#xff09;-社科数据https://download.csdn.net/download/paofuluolijiang/90024739 https://download.csdn.net/download/paofuluolijiang/90024739 儒家文化作为中国传统文化的核心之一&#xff0c;对中国社会的发展产生了深远…

unordered_map/set的哈希封装

【C笔记】unordered_map/set的哈希封装 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】unordered_map/set的哈希封装前言一. 源码及框架分析二.迭代器三.operator[]四.使用哈希表封装unordered_map/set后言 前言 哈…

JVM 四虚拟机栈

虚拟机栈出现的背景 由于跨平台性的设计&#xff0c;Java的指令都是根据栈来设计的。不同平台CPU架构不同&#xff0c;所以不能设计为基于寄存器的。优点是跨平台&#xff0c;指令集小&#xff0c;编译器容易实现&#xff0c;缺点是性能下降&#xff0c;实现同样的功能需要更多…

ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识

ChatGPT除了可以协助办公&#xff0c;写作文案和生成短视频脚本外&#xff0c;和还可以做为一个法律工具&#xff0c;当用户面临一些法律知识盲点时&#xff0c;可以向ChatGPT咨询获得解答。赋予ChatGPT专家的身份&#xff0c;用户能够得到较为满意的解答。 1.咨询法律知识 举…

mysql 学习8 函数,字符串函数,数值函数,日期函数,流程函数

函数 一 字符串函数 二 数值函数 三 日期函数 四 流程函数

机器学习--1.KNN机器学习入门

1、机器学习概述 1.1、什么是机器学习 机器学习&#xff08;Machine Learning&#xff09;是人工智能&#xff08;Artificial Intelligence&#xff09;领域的一个子集&#xff0c;它主要关注如何让计算机系统通过经验学习&#xff08;数据&#xff09;并自动改进性能。机器学…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…

go-zero学习笔记(三)

利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax "proto3";// proto 包名 package demoRpc;// golang 包名(可选) option go_package "./demo";// 如需为 .proto 文件添加注释&#xff0c;请使用 C/C 样式的 // 和 /* ... */…

深入浅出:频谱掩码 Spectral Masking —— 噪音消除利器

在语音处理领域&#xff0c;噪声是一个常见的敌人。无论是语音通话、语音识别&#xff0c;还是语音合成&#xff0c;噪声都会大大降低语音的质量和可理解性。为了解决这个问题&#xff0c;Spectral Masking&#xff08;频谱掩码&#xff09; 模型应运而生。它通过从带噪信号的频…

LeetCode --- 434周赛

目录 3432. 统计元素和差值为偶数的分区方案 3433. 统计用户被提及情况 3434. 子数组操作后的最大频率 3435. 最短公共超序列的字母出现频率 一、统计元素和差值为偶数的分区方案 本题可以直接模拟&#xff0c;当然我们也可以来从数学的角度来分析一下这题的本质 设 S S S …