轻松复现一张 AI 图片
3. 轻松复现一张 AI 图片
现在有一个非常漂亮的 AI 图片,你是不是想知道他是怎么生成的?
今天我会交给大家三种方法,学会了,什么图都可以手到擒来了。
需要的软件
在本教程中,我们将使用 AUTOMATIC1111 stable diffusion WebUI。这是一款流行且免费的软件。您可以在 Windows、Mac 或 Google Colab 上使用这个软件。
方法 1: 通过阅读 PNG 信息从图像中获取提示
如果 AI 图像是 PNG 格式,你可以尝试查看提示和其他设置信息是否写在了 PNG 元数据字段中。 首先,将图像保存到本地。 打开 AUTOMATIC1111 WebUI。导航到 PNG 信息页面。
将图像拖放到左侧的源画布上。
在右边你会找到关于提示词的有用信息。你还可以选择将提示和设置发送到 txt2img、img2img、inpainting 或者 Extras 页面进行放大。
方法 2:使用 CLIP interrogator 从图像中推测 Prompt
在处理图像信息时,我们常常会发现直接的方法并不总是有效。
有时候,信息并没有在最初就被记录在图像中,或者在后续的图像优化过程中被 Web 服务器去除。
也有可能这些信息并非由 Stable diffusion 这类 AI 技术生成。
面对这种情况,我们可以尝试使用 CLIP interrogator 作为替代方案。
CLIP interrogator 是一种 AI 模型,它具备推测图像内容标题的能力。这个工具不仅适用于 AI 生成的图像,也能够应对各种类型的图像。通过这种方式,我们能够对图像内容进行更深入的理解和分析。
什么是 CLIP?
CLIP(Contrastive Language–Image Pre-training)是一个神经网络,它将视觉概念映射到自然语言中。CLIP 模型是通过大量的图像和图像信息对进行训练的。
image-20240409233700659
在我们的用例中,CLIP 模型能够通过对给定图片的分析,推断出一个恰当的图片描述。
这个描述可以作为提示词,帮助我们进一步理解和描述图片的内容。CLIP 模型通过学习大量的图像和相关文本数据,掌握了图像识别和语义理解的能力,因此它能够捕捉到图片中的关键元素,并将其转化为一个描述性的标题。
WebUI 中自带的 CLIP interrogator
如果你倾向于避免安装额外的扩展,可以选择使用 AUTOMATIC1111 提供的内置 CLIP interrogator 功能。
WebUI 提供了两种识别图像信息的功能。一个是 clip:这个功能底层基于 BLIP 模型,它是在论文《BLIP: 为统一的视觉语言理解和生成进行语言图像预训练》中由李俊楠以及其团队所提出的 CLIP 模型的一个变种。一个是 DeepBooru, 这个比较适合识别二次元图片。
要利用这个内置的 CLIP interrogator,你可以按照以下简单的步骤操作:
启动 AUTOMATIC1111:首先,你需要打开 AUTOMATIC1111 的网站。
导航至 img2img 页面:在 AUTOMATIC1111 的界面中,找到并点击“img2img”这一选项。这是一个专门的页面,用于上传和处理图像。
上传图像到 img2img 画布:在这个页面上,你会找到一个用于上传图像的区域,通常被称为“画布”。点击上传按钮,选择你想要分析的图像文件,并将其上传到画布上。
上传之后在界面右边就可以找到两个 interrogator 工具了:
image-20240409235643665
点击这两个按钮,就可以获得图像的描述信息了。
我们可以得到下面的信息:
a woman in a blue top and pink skirt standing on a hill near the ocean with a grassy area in the background,Ai Xuan,ocean,a statue,rococo,
我们用这段提示发到 text2image 中看看效果:
image-20240410161245669
嗯….大体上还是有点相似的….. 因为图片跟我们的底模,种子还有采样多种因素有关。所以你想 1 比 1 复制,这个比较难。
CLIP 扩展
如果您在使用 AUTOMATIC1111 的内置 CLIP interrogator 时发现其功能不足以满足您的需求,或者您希望尝试使用不同的 CLIP 模型来获得更多样化的结果,那么您可以考虑安装 CLIP interrogator 扩展。这个扩展将为您提供更多的选项和灵活性,以适应您特定的使用场景。
这个插件的下载地址如下:
https://github.com/pharmapsychotic/clip-interrogator-ext
要使用 CLIP interrogator 扩展。
打开 AUTOMATIC1111 WebUI。
转到 interrogator 页面。
将图像上传到图像画布。
在 CLIP 模型下拉菜单中选择 ViT-L-14-336/openai。这是 Stable Diffusion v1.5 中使用的语言嵌入模型。
单击生成以生成提示。 ### 对 SDXL 模型进行 CLIP 如果你的目标是使用 Stable Diffusion XL (SDXL)模型,那么我们需要选择不同的 CLIP 模型。
在“interrogator”页面上,你可以选择很多 clip 模型,如果要和 SDXL 模型一起工作的话,那么可以选择 ViT-g-14/laion2b_s34b_b88k 这个选项。
选择 ViT-g-14/laion2b_s34b_b88k 模型后,系统将会根据这个模型的特性生成相应的提示。你可以使用这个提示词作为 SDXL 的提示,从而可以更精确地生成与原始图像内容相符合的图像。
ViT-g-14/laion2b_s34b_b88k 模型是一个基于 Vision Transformer (ViT)架构的预训练模型,它在大型图像数据集 laion2b 上进行了训练,具有 34 亿个参数。这个模型在图像识别和理解方面表现出色,能够有效地捕捉图像的关键特征,并生成与原始图像内容紧密相关的提示。
通过这种方式,就可以确保在使用 SDXL 模型进行图像生成时,所得到的输出图像能够更好地反映原始图像的意图和风格。
总结一下
我们讲了三种方法来从图片信息中提取出对应的 Prompt。
你应该首先尝试使用 PNG 信息方法。这种方法的优势在于,如果图像中包含了完整的元数据,那么您可以一次性获取到包括提示、使用的模型、采样方法、采样步骤等在内的所有必要信息。这对于重新创建图像非常有帮助。
如果 PNG 没有信息可用,那么可以考虑使用 BLIP 和 CLIP 模型。对于 v1.5 模型来说,ViT-g-14/laion2b_s34b_b88k 模型可能是一个不错的选择,它不仅适用于 SDXL 模型,也可能在 v1.5 模型中表现出色。
另外,我们在构建提示词的时候,不要害怕对提示词进行修改。因为自动生成的提示可能并不完全准确,或者可能遗漏了一些图像中的关键对象。
所以需要根据自己的观察和需求,来修改提示词以确保它能准确地描述图像内容。这对于最终生成的图像质量和准确性至关重要。
同时,选择正确的 checkpoint 模型也非常关键。因为提示中可能并不总是包含正确的风格信息。
例如,如果您的目标是生成一个真实人物图像,那么你肯定不能选择一个卡通模型。
版权声明: 本文为 InfoQ 作者【程序那些事】的原创文章。
原文链接:【http://xie.infoq.cn/article/dd88e5459deb28317e216143d】。文章转载请联系作者。
评论