目录
文生图技术的相关知识储备
文生图技术,全称为文本生成图像技术,属于人工智能领域的一项前沿技术,旨在通过输入文本描述来生成对应的图像。这种技术的核心是使用深度学习模型,特别是生成对抗网络(GANs)或扩散模型(Diffusion Models),将自然语言处理与计算机视觉结合,实现从文字到图像的转换。
在本次学习活动中文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。
SD结构图
由结构图可以看出,在使用SD时,我们需要两个输入:种子与提示词
种子
种子(seed)是一个用于控制生成图像随机性的数值。每次生成图像时,SD会从种子开始,依据给定的文本描述和模型参数生成图像。种子值的不同会导致图像生成过程中随机数序列的不同,从而生成不同的图像。一个固定的种子+固定的分辨率,生成的噪声图就是固定的。
提示词
提示词(Prompt)是用户输入的文本描述,用于引导Stable Diffusion创建图像,通常包含具体的描述性的自然语言语言,指明图像的内容、风格、色彩、构图等。
Prompt:你想要生成的
Negative prompt:你不想要生成的。
生成过程简单介绍
提示词(prompt)在提供给模型之前,需要进行一些处理,这是因为模型无法直接识别文本。
第一步是使用CLIP,其作用是将提示词(prompt)转换成Tokenizer(也叫token),也就是数字。关于这个“数字”有一下解释
1.一个词不一定只生成一个token,可能会生成多个;
2.中文一个词生成的token数量会比较多,而且很多词模型是不认识的,所以最好使用英文;
3.逗号等标点符号甚至空格也会生成token,所以你的词中如果多加了一个逗号,重新生成图片就会发生变化;
4.token数量存在上限。
第二步是将token转换成Embedding,Embedding是一个768维的向量,简单理解就是768个数字。第三步将Embedding通过Text transformer转换成模型的输入。
最后便是条件引导去噪(Conditioned Denoising)。模型会根据当前图像和文本Embedding引导的条件信息来通过多个去噪步骤,直到输出最终的图像。
接下来开始随教程操作
Ⅰ开通阿里云PAI-DSW试用
Ⅱ在魔搭社区进行授权
链接: https://www.modelscope.cn/my/mynotebook/authorization
Ⅲ报名“可图Kolors-LoRA风格故事挑战赛
链接:https://tianchi.aliyun.com/competition/entrance/532254
Ⅳ在魔搭社区创建PAI实例
过程也是十分顺利
Ⅶ体验一站式baseline
1.下载baseline文件
2.进入文件夹,打开baseline.ipynb
3.安装Data-Juicer与DiffSynth-Studio(此步骤之后需要重启Kernel,作者也是在这里重启了好多次,才开始下一步来确保成功率)
4.按照自己的想法依次调整提示词
5.依次运行代码块,等待执行
6.获得结果:
创建terminal,粘贴如下命令,回车执行
mkdir /mnt/workspace/kolors/output & cd
cp /mnt/workspace/kolors/models/lightning_logs/version_0/checkpoints/epoch\=0-step\=500.ckpt /mnt/workspace/kolors/output/
cp /mnt/workspace/kolors/1.jpg /mnt/workspace/kolors/output/
7.上传output中的内容到创空间讨论区
最后不要忘记关闭实例,负责按时计费会给你一个小惊喜^ ^
反思
从工程上来看,按照教程指引一步步地来完全没有问题,中间可以说是格外的顺利(对比我做的其他的项目)。
从结果上来看,生成的图片如倒数第二张的更衣室并没有很好的展现,其次最后两张的变化有点太大,连贯性不足。不过刨除这些不足点,可取之处也是不少,首先生成的图片干净、清晰,内容准确,基本上是在按照作者给的提示词生成,生成的小姑娘也是特别的可爱^ ^。
总的来说,收获了不少的新知识,也看到了改进的方向,期待下一次Task能够做的更好!