ECCV`24 | 高保真目标修复新SOTA!复旦智象开源CAT-Diffusion,语义视觉双一致

news2024/9/28 21:31:18

文章链接:https://arxiv.org/pdf/2409.08260
Github链接:https://github.com/Nnn-s/CATdiffusion

总结速览

解决的问题:

  • 单一U-Net在所有去噪步骤中对齐文本提示和视觉对象不足以生成期望的对象。

  • 扩散模型的复杂采样空间中无法保证对对象生成的可控性。

提出的方案:

  • 语义预修复:在多模态特征空间中推理目标对象的语义特征。

  • 高保真度的对象生成:在扩散的潜在空间中基于已修复的语义特征生成目标对象。

应用的技术:

  • 采用级联的Transformer语义修复器与目标修复扩散模型,提出了新型的Cascaded Transformer-Diffusion(CAT-Diffusion)框架。

  • 语义修复器通过上下文和文本提示条件,预测目标对象的语义特征。语义修复器的输出作为视觉提示,经过参考Adapter层来指导高保真对象生成。

达到的效果:

  • 在OpenImages-V6和MSCOCO数据集上的广泛评估表明,CAT-Diffusion在文本引导的目标修复任务中优于现有的最新方法。

方法

首先,在文本引导的物体修复中,需要在由输入图像的二值mask指示的指定区域内生成由文本提示(通常是对象标签)描述的新对象。这个任务要求与图像和文本提示分别具有视觉一致性和语义相关性。本节将深入探讨级联Transformer-Diffusion(CAT-Diffusion),在简要回顾扩散模型后,随后介绍训练细节。

级联Transformer-扩散模型

设 、 和 分别为输入图像、描述新目标的文本提示和指示需要修复区域的二值mask。大多数现有的文本引导物体修复扩散模型仅优化文本提示 和期望目标 在潜在空间中的对齐,这导致了次优结果。为了进一步改进,需要解决两个主要问题:

  1. 依赖单独的U-Net在所有去噪时间步中实现视觉-语义对齐是不够的;

  2. 在复杂的采样空间中稳定生成高保真度对象是具有挑战性的,而没有额外的语义信息。

为了解决这些挑战,研究者们提出将传统的单阶段流程分解为两个级联阶段:首先进行语义预修复,然后进行对象生成,从而形成CAT-Diffusion。技术上,CAT-Diffusion通过一种新颖的语义修复器在辅助的多模态特征空间(例如CLIP)中进行对象预修复。语义修复器通过知识蒸馏进行训练,以预测目标对象的语义特征,条件是未遮罩的视觉上下文和文本提示。这样,得出的输出自然对齐文本提示和视觉对象,除了U-Net之外,无论去噪时间步如何。语义修复器的输出通过参考Adapter层进一步集成到目标修复扩散模型中,以实现可控的目标修复。CAT-Diffusion的整体框架如下图2所示。

语义修复器
为了缓解在整个去噪过程中仅依靠单独的U-Net对齐文本提示和视觉对象的不足,提出通过在U-Net之外,利用经过良好预训练的辅助多模态特征空间对目标对象的语义特征进行预修复,以增强视觉-语义对应关系。其原理在于,预训练的多模态特征空间是通过大规模的跨模态数据进行学习的,用于实现视觉-语义对齐,无论去噪时间步如何。在本工作中,设计了一种有效的知识蒸馏目标,将这种多模态知识从教师模型(CLIP)转移到CAT-Diffusion中的语义修复器。

基于Transformer的语义修复器(SemInpainter)参数化为 ,与CAT-Diffusion中的目标修复扩散模型级联,如上图2的上部所示。首先,通过CLIP的图像编码器(ImageEnc)提取被遮罩图像 的视觉特征 ,其中 是局部图像块的特征向量。给定被遮罩图像的损坏特征 和文本提示 的文本特征,SemInpainter 旨在预测语义特征 ,以忠实重建CLIP空间中的目标对象。这样,视觉-语义对齐在扩散模型的整个去噪过程中自然得到实现。整个过程可以表示为

其中 表示拼接操作, 是可学习的位置嵌入, 是可学习的mask嵌入,指示视觉特征 是否在图像 中被遮罩。SemInpainter 实现为24层的Transformer结构(类似于CLIP的图像编码器)。最后,通过将 和 与二值mask 混合,得到修复后的特征 ,这些特征将随后被整合到目标修复扩散模型中:

其中 是一个无参数的下采样层,用于降低特征分辨率以提高计算效率。

为了强制预测的对象特征与文本提示 对齐,提出将多模态知识从教师模型(在本文中采用CLIP作为教师模型)转移到SemInpainter。技术上,SemInpainter 的训练任务是遮罩特征预测,以恢复CLIP空间中被遮罩对象的真实语义特征,条件是未遮罩的视觉上下文和文本提示 。

参考Adapter层
由于控制扩散模型以实现高保真度的文本到图像生成仍然具有挑战性,受到 [55, 59] 的启发,语义特征 被用作额外的条件,称为视觉提示,以引导扩散模型在潜在空间中进行可控的修复。具体来说,在基础目标修复扩散模型中引入了一个新的参考Adapter层(RefAdapter),其形式为Transformer风格的多头交叉注意力层。所提出的RefAdapter 在U-Net的原始自注意力(SelfAttn)和交叉注意力层(CrossAttn)之间交替插入,如图2的下部所示。设 为U-Net的中间隐藏状态,其中 随不同层的分辨率变化。 是扩散模型中文本编码器提取的提示 的文本特征。首先定义不同类型注意力层的共享模块原型为:

因此,升级版U-Net中的一个完整块,包括SelfAttn、RefAdapter和CrossAttn,操作如下:

其中 将作为下一块的输入。

目标修复扩散模型
通过将目标修复流程分解为两个级联过程,CAT-Diffusion能够生成与文本提示语义对齐的高保真度对象。此外,通过利用额外的语义指导(即修复后的视觉特征 ),进一步增强了填补对象与周围图像上下文之间的视觉一致性。

一般来说,参数化为 的U-Net的修复扩散模型以噪声潜在编码 、指示待修复区域的mask 和被遮罩的潜在编码 作为输入,估计从 中需要去除的噪声,从而得到去噪后的 。数学上,整体过程可以表示为:

训练

扩散损失

对于配备参考adapter层的目标修复扩散模型的训练,采用 [35] 中的通用实践,目标函数为:

知识蒸馏损失

此外,为了强制语义修复器预修复与提示 语义对齐的对象特征,通过知识蒸馏任务中的真实视觉特征 对语义修复器进行监督。优化目标可以表示为:

其中 是配对图像 和文本提示 的训练数据集, 表示前面提出的SemInpainter的可训练参数。

实验

验证级联Transformer-扩散方法(CAT-Diffusion)在文本指导的目标修复任务中的优点,并与最先进的基于扩散的方法进行了比较。大量实验验证了CAT-Diffusion在修复高保真度对象方面的有效性。

实施细节

在OpenImages-V6的训练集中的本地mask与对应对象标签对上训练CAT-Diffusion。CAT-Diffusion通过Adam优化,学习率为0.00001,使用8个A100 GPU进行约40K次迭代。批量大小设置为128,输入图像分辨率设置为512 × 512。

比较方法和评估指标

比较方法
将CAT-Diffusion与几种最先进的基于扩散的方法进行了比较,包括Blended Diffusion、Blended Latent Diffusion、GLIDE、SmartBrush、Stable Diffusion 和 Stable Diffusion Inpainting。具体来说,Blended Diffusion、Blended Latent Diffusion 和 Stable Diffusion 仅利用预训练的基础文本到图像模型,通过在每个去噪步骤中混合生成的对象和背景进行文本指导的目标修复。其他方法则使用文本提示、二值mask和被遮罩图像作为输入来训练修复扩散模型。由于相同的评估设置,所有方法的结果均取自 [45],但 [1] 的结果除外。请注意,已将Blended Latent Diffusion中的文本到图像Stable Diffusion 2.1替换为1.5,以确保公平比较。

评估指标
所有上述方法都在OpenImages-V6和 MSCOCO的测试集上进行评估,分别涉及13,400和9,311张测试图像。采用三种广泛使用的指标:Frechet Inception Distance (FID)、Local FID 和 CLIP score。值得一提的是,FID 和 Local FID 分别测量修复对象在全局图像和局部补丁中的真实性和视觉一致性,而 CLIP score 估计修复对象与文本提示之间的语义相关性。此外,还涉及用户研究以评估视觉一致性和文本-对象对齐。由于GLIDE仅支持256 × 256分辨率的图像,将所有结果调整为相似大小以确保公平比较。此外,评估中考虑了分割mask和边界框mask。

性能比较

OpenImages-V6上的定量结果
下表1总结了所有方法在OpenImages-V6测试集上的结果。总体而言,所有指标的结果一致地展示了CAT-Diffusion在分割mask或边界框mask下的有效性。具体来说,基于混合的方法(即Blended Latent Diffusion 和 Stable Diffusion)在CLIP分数上表现相当,但FID 和 Local FID 分数远低于CAT-Diffusion。推测这是因为这些方法仅关注修复图像与对象标签之间的视觉-语义对齐,并仅在潜在空间中混合生成的对象和背景。因此,周围未遮罩区域的语义上下文被忽视,导致视觉一致性差。SmartBrush通过将被遮罩图像纳入U-Net以进行上下文学习,并进一步使用形状mask指导扩散模型,展现了更好的性能。然而,SmartBrush的FID和Local FID分数仍低于CAT-Diffusion。结果验证了通过参考Adapter层用语义修复器预修复的对象特征来引导扩散模型的影响。

MSCOCO上的定量结果
下表2列出了所有方法在MSCOCO测试集上的结果。值得注意的是,SmartBrush 和CAT-Diffusion 都没有在MSCOCO上进行训练。与OpenImages-V6上的趋势类似,CAT-Diffusion 在大多数指标上优于其他方法。具体来说,CAT-Diffusion 在Local FID(使用边界框mask)上相对于强基线 Stable Diffusion Inpainting 和 SmartBrush 分别提高了42.1% 和 20.7%。结果再次验证了在CAT-Diffusion中将单次修复流程分解为两个级联过程(首先进行语义预修复,然后生成对象)的优点。

定性比较
通过案例研究对不同方法进行定性测试。下图3展示了几个示例。如前四个结果所示,CAT-Diffusion生成的图像与输入文本提示的语义对齐程度优于其他方法。此外,在图像中,生成对象与周围环境的视觉一致性更好,修复结果中的对象形状也更准确。结果证明了通过提出的语义修复器预修复对象语义特征的优越性。例如,与其他方法生成的图像相比,第一排的CAT-Diffusion生成的男人在结构上更完整。这得益于通过参考Adapter层用预修复的目标对象语义特征引导扩散模型。尽管没有提供形状mask,CAT-Diffusion仍能根据文本提示和边界框mask生成高保真度的对象(中间两排)。此外,还对具有更具描述性文本提示的目标修复进行了评估,不同方法生成的结果显示在底部两排。类似地,CAT-Diffusion生成了视觉上更令人愉悦的图像。

用户研究
研究者们进行了一项用户研究,以检查修复图像是否符合人类偏好。在实验中,从OpenImages-V6测试集中随机抽取了1K张图像进行评估。SmartBrush 尚未发布,因此被排除在外。邀请了10名具有不同教育背景的评估员(5名男性和5名女性):艺术设计(4名)、心理学(2名)、计算机科学(2名)和商业(2名)。向所有评估员展示修复图像和相关提示,并要求他们从两个方面给出评分(0∼5):

  1. 与周围环境的视觉一致性;

  2. 与文本提示的对齐程度和对象形状的准确性。

下表3总结了不同方法的平均结果。结果表明,在文本-对象对齐和视觉一致性方面,CAT-Diffusion在所有基线方法中遥遥领先。

分析与讨论

CAT-Diffusion的消融研究
研究了CAT-Diffusion中各个组件对整体性能的影响。考虑了每个阶段的一个或多个组件,表4总结了使用分割mask的OpenImages-V6测试集上的结果。请注意,第1行的基线是使用[21]中的对象-文本对进行微调的Stable Inpainting模型。通过结合仅使用mask图像 的CLIP特征训练的参考Adapter层,第2行的变体在FID和Local FID分数上分别相较于第1行的基线模型提高了0.91和1.47。这并不令人意外,因为未mask区域的CLIP特征通过参考Adapter层为基础扩散模型提供了更丰富的上下文语义,从而改善了视觉一致性并保留了背景。语义修复器的输出进一步提升了模型,通过引入所需对象的语义,获得了第3行在所有指标上的最佳结果。

语义修复器预测的特征
随后分析了提出的语义修复器在提高所需对象语义特征方面的程度。值得注意的是,由于CLIP中的自注意机制,mask区域的CLIP特征本身就包含了来自未mask区域的上下文语义,从而在通过语义修复器之前与真实标签具有非平凡的相似性。特别地,计算了语义修复器输入/输出与对应真实标签之间的余弦相似度,在10K张图像上进行分析。下图4(a)展示了这两个分布。平均余弦相似度从0.47提高到0.65,显示了提出的语义修复器的有效性。尽管语义修复器的输出并不是100%准确,但这些语义特征为CAT-Diffusion生成高保真度对象贡献了更丰富的上下文。

修复结果的多样性
为了测试CAT-Diffusion在相同语义特征下生成修复结果的多样性,对不同随机种子下的结果进行了研究。上图4(b)展示了两个示例。可以观察到,CAT-Diffusion能够生成具有准确形状的多样化对象,这由参考Adapter层控制。

推理复杂度
在推理阶段,只需要对提出的语义修复器进行一次前向传递,并且修复的特征可以在每个去噪步骤中重复使用,从而带来较小的计算开销。CAT-Diffusion每张图像的平均时间为1.84秒,相较于SD-Inpaint的1.60秒稍长。

结论

本文提出了一种新颖的级联Transformer-扩散(CAT-Diffusion)模型,以增强扩散模型在文本引导目标修复中的视觉-语义对齐和可控性。具体而言,CAT-Diffusion将传统的单阶段管道分解为两个级联过程:首先进行语义预修复,然后进行对象生成。通过在多模态特征空间中预修复所需对象的语义特征,然后通过这些特征引导扩散模型进行对象生成,CAT-Diffusion能够生成与提示语义一致且与背景视觉一致的高保真度对象。

从技术上讲,基于Transformer的语义修复器在给定未mask的上下文和提示的情况下预测所需对象的语义特征。然后,来自语义修复器的修复特征通过参考Adapter层进一步输入到目标修复扩散模型中,以实现受控生成。在OpenImages-V6和MSCOCO上的广泛实验验证了CAT-Diffusion的有效性。

广泛影响
最近生成模型(如扩散模型)的进展开启了创造性媒体生成的新领域。然而,这些创新也可能被滥用于生成欺骗性内容。本文的方法可能被利用来在图像中修复有害内容,用于传播虚假信息,对此类行为坚决反对。

参考文献

[1]Improving Text-guided Object Inpainting with Semantic Pre-inpainting

更多精彩内容,请关注公众号:AI生成未来

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

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

相关文章

基于php的助农生鲜销售系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

Elasticsearch7.7设置账号密码时的逻辑矛盾问题和文章相关评论

一、Elasticsearch7.7设置账号密码时的逻辑矛盾问题 publish:June 19, 2020 -Friday 2019年1月30日,外媒又报道了一起Elasticsearch数据泄露事件!2019年1月份的至少有6起Elasticsearch数据泄露事件了。原因何在,很简单,开发者在服…

数据的表示和存储 第3讲 C语言中的整数

深耕AI ​互联网行业 算法研发工程师 概括 本讲主要介绍了C语言中的整数表示。 无符号整数能够表示的最大值比带符号整数要大。带符号整数使用补码来表示,补码的运算系统是一种模运算系统,能够实现加减运算的统一。在C语言中,如果一个表达式…

7.MySQL内置函数

目录 日期函数时间函数字符串函数数学函数其他函数 日期函数 函数名称描述current_date()当前日期current_time()当前时间current_timesamp()当前时间戳date(datetime)返回datetime参数的日期部分date_add(date, interval d_value_tyep)在date中添加日期函数或时间。interval后…

JMeter压测HTTPS 在window 11处理SSL证书认证

在此位置,找到chrome 的证书 证书到出到指定的路径, 利用jdk中的keytool.exe工具,重新生成证书 crm 去到命令窗口,再去到JDK路径下,如下 输入 keytool -import -alias “zhengshu.store” -file “D:\Program F…

HarmonyOS鸿蒙系统开发应用程序,免费开源DevEco Studio开发工具

DevEco Studio 是华为为 HarmonyOS 和 OpenHarmony 开发者提供的官方集成开发环境(IDE),它基于 IntelliJ IDEA Community 版本打造,提供了代码编辑、编译、调试、发布等一体化服务。 一、DevEco Studio支持系统 DevEco Studio支持…

63.【C语言】再议结构体(上)

1.复习 20.【C语言】初识结构体(重要) 48.【C语言】结构体补充 2.结构体的特殊声明 01.匿名结构体 *定义 不完全声明,即结构体没有自己的名字(没有结构体标签) *注意事项 1.匿名结构体只能使用一次 2.下列代码合法吗 struct {int a;char b;floa…

使用python获取百度一下,热搜TOP数据详情

一、查找对应链接 # 警告:以下代码仅供学习和交流使用,严禁用于任何违法活动。 # 本代码旨在帮助理解和学习编程概念,不得用于侵犯他人权益或违反法律法规的行为。 1、打开百度页面 百度一下,你就知道 2、点击F12 或 右键鼠标…

text2sql方法:NatSQL和DIN-SQL

NatSQL NatSQL出自2021年9月的论文《Natural SQL: Making SQL Easier to Infer from Natural Language Specifications》(github),它是一种SQL 中间表征(SQL intermediate representation(IR))方法。 NatSQL作者认为Text2SQL的关键挑战是自然语言描述和其对应的SQ…

Cookie、Session、Token(JWT)还不懂?

Cookie、Session、Token(JWT) 三者的区别与用途!如何进行身份认证,保持用户登录状态? Cookie、Session 和 Token 都是在 Web 开发中用于管理用户状态和进行身份认证的技术,它们之间有以下区别和用途&#…

【js逆向学习】酷我音乐排行榜 python+nodejs(webpack)

逆向目标 目标网址: https://www.kuwo.cn/rankList目标接口: https://www.kuwo.cn/api/www/bang/bang/musicList 加密参数: 参数一:secret参数二:reqId 逆向过程 老规矩先分析网络请求,我们可以分析到网络请求是通过ajax进行的&#xff…

【C++】C/C++内存管理(new/delete)

C/C内存分布 代码内存相关问题 int globalVar 1; static int staticGlobalVar 1;void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(siz…

yolox训练自己的数据集

环境搭建 gpu按自己情况安装 nvidia-smi 查看自己的版本 CUDA和cudnn 按自己的安装,我的驱动551.76,注意不要用最新的,官网只要求驱动是大于等于,可以用低版本的cuda,我安装的是CUDA 11.1 cuda下载后&#xff0c…

报告查询系统小程序开发制作方案

报告查询小程序系统主要是为了解决传统报告查询方式往往依赖于纸质文档或复杂的内网系统,存在查询效率低、信息更新慢、携带不便等问题。 一、目标用户 企业员工:需要频繁查询各类工作报告,如销售人员查询销售业绩报告,财务人员查…

信道衰落的公式

对于天线: 对于天线的面积计算: 天线的接收功率密度: 天线的接收功率: 移动无线信道(I) (xidian.edu.cn)https://web.xidian.edu.cn/zma/files/20150710_153736.pdf 更加常用的考虑了额外的信道衰落pathlo…

基于YOLOv5的农作物病虫害识别系统设计与实现(PYQT+web端+微信小程序+YOLOv5+训练数据集+论文+部署文档+开题报告)

摘要 农作物病虫害是农业生产中的关键问题,病虫害的爆发和侵袭不仅严重影响农作物产量和质量,还可引发局部地区严重的灾害性损失。因此,及时发现和预防农作物病虫害的发生和发展至关重要。本文以农作物病虫害图像为载体,运用深度…

python的高级用法

对于python的使用,我们常见的用法是python xx.py直接执行脚本,有时可能您需要在脚本的第一行添加(#!/usr/bin/env python3 或 #!/usr/local/bin/python3),然后chmod确保脚本文件具有可执行权限。这样脚本就可以在终端直…

从哪里下载高清解压视频素材?推荐五个优质素材资源网站

想制作吸引人的抖音小说推文,但不知道从哪里获取高清解压视频素材?今天就为大家推荐五个优秀的网站,帮助你轻松找到所需的素材,提升你的创作质量。 首先是蛙学网 作为国内顶级的短视频素材网站,蛙学网提供了丰富的4K高…

Vxe UI vue 使用 vxe-tabs 页签实现右侧操作按钮、关闭所有页签、关闭右侧、关闭左侧

Vxe UI vue 使用 vxe-tabs 页签实现右侧操作按钮、关闭所有页签、关闭右侧、关闭左侧 查看 github <template><div><vxe-tabs v-model"selectTab" :options"tabList"><template #extra><vxe-pulldown :options"tabOptio…

Flood Fill模型

这个模型主要用来求连通块的数量&#xff0c;在求连通块时有“8连通”和“4连通”之分。 看上面的图形&#xff0c;如果是4连通那么红色和绿色就不连通&#xff08;只有一个格子的“上下左右”相连才叫连通&#xff09;。如果是8连通那就联通&#xff08;不仅仅包含边相连&…