Abstract
本文介绍了一个新的生成系统,称为Edit Everything,它可以接受图像和文本输入,然后产生图像输出。Edit Everything允许用户使用简单的文本指令(instructions)来编辑图像。本文的系统设计prompts,以指导视觉模型生成所要求的图像。实验证明,通过使用Segment Anything模型和CLIP,Edit Everything有助于实现Stable Diffusion的视觉方面。
代码:https://github.com/DefengXie/Edit_Everything
Instruction
最近,Diffusion模型在生成高质量的逼真图像方面表现出了良好的性能。特别地,文本引导方法显著提高了多样性和保真度。
受文本引导Diffusion模型的启发,[ Towards photorealistic image generation and editing with text-guided diffusion models ]首先实现了CLIP去引导 diffusion模型向着文本prompt。然而,根据生成图像的质量相比,CLIP制导 无法与 无分类器制导竞争。另一个有希望的解决方案是设计一种神经网络结构(ControlNet)来控制 diffusion模型并支持条件输入。diffusion模型可以通过ControlNet进行增强,以生成边缘图、分割图、关键点等。
受ControlNet和CLIP引导在显著提高图像质量方面的卓越表现的启发,我们利用Segment Anything模型(SAM)和CLIP来引导扩散模型。在我们的工作中,我们创建了一个文本引导的生成系统,称为Editing Everything,结合了SAM、CLIP和Stable Diffusion(SD)。通过这个框架,我们的目标是提高生成图像的质量,并为各个领域的研究人员和实践者提供一个高效和准确的工具。
首先,本文针对中国场景训练一个4亿参数的CLIP和一个10亿参数的SD(Stable Diffusion)。我们训练有素的模型增强了Editing Everything功能,使其具有理解中文文本提示并引导Diffusion模型指向文本提示的能力。
其次,Editing Everything可以很容易地利用文本提示去做zero-shot的生成,而它很难为复杂的prompts去创建逼真的图像。为了解决这个问题,我们提出了一个解决方案,该系统将复杂的提示分解为较小的实体,然后以顺序的方式替换这些实体。该系统还有助于迭代样本生成,直到它与复杂的prompts匹配,事实证明对用户有利。
第三,通过利用Editing Everything功能,用户可以高效地修改不同样式和对象的图像。
Methods
Architecture
由文本引导的生成系统Editing Everything由三个主要组件组成:Segment Anything Model (SAM)、CLIP和Stable Diffusion(SD):
SAM被用来提取图像的所有分段(segments),而CLIP被训练来根据给定的源提示对这些片段进行排列。源提示描述感兴趣的对象,本质是描述目标对象和编辑样式的文本。然后选择得分最高的分段作为目标分段。最后,SD由目标提示引导以生成新对象来替换所选目标分段(黑色)。这允许精确和个性化的图像编辑方法:
Main results
Simple Prompts:
Complicated Prompts:
比较:
比较开源模型和我们训练的模型生成的图像。本文的模型可以支持中文输入。