当前位置:AIGC资讯 > AIGC > 正文

Datawhale X 魔搭 AI夏令营-AIGC方向 task01笔记

目录

文生图技术的相关知识储备

SD结构图

种子

提示词

生成过程简单介绍

接下来开始随教程操作

Ⅰ开通阿里云PAI-DSW试用

Ⅱ在魔搭社区进行授权

Ⅲ报名“可图Kolors-LoRA风格故事挑战赛

Ⅳ在魔搭社区创建PAI实例​编辑

Ⅶ体验一站式baseline

反思

文生图技术的相关知识储备

文生图技术,全称为文本生成图像技术,属于人工智能领域的一项前沿技术,旨在通过输入文本描述来生成对应的图像。这种技术的核心是使用深度学习模型,特别是生成对抗网络(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能够做的更好!

总结

本文概述了一项关于文生图技术的学习与实践流程,详细介绍了文生图的基本原理、操作步骤以及个人反思。以下是总结内容:
### 文章总结
**1. 文生图技术概述**:
- **技术定义**:文生图(文本生成图像)技术,通过深度学习模型将文字描述转化为图像,是人工智能领域的前沿技术。
- **核心技术**:利用生成对抗网络(GANs)或扩散模型(Diffusion Models),融合自然语言处理(NLP)与计算机视觉(CV)技术。
- **基底模型**:本文中以SD系列基础模型为主,并涉及的微调模型有LoRA和人物基础模型。
**2. SD结构图及关键要素**:
- **结构图**:展示SD模型在生成图像时需两个输入——种子(seed)与提示词(prompt)。
- **种子(Seed)**:控制生成图像随机性的数值,不同种子生成不同图像,具有固定的重复性。
- **提示词(Prompt)**:用于指导图像生成的文本描述,包括内容、风格、色彩等。
**3. 生成过程简介**:
- **文本处理**:提示词通过CLIP转换成token,继而转换为Embedding向量,最终被Text Transformer处理成模型输入。
- **图像生成**:利用条件引导去噪算法,通过多个去噪步骤生成最终图像。
**4. 操作步骤**:
- **开通阿里云PAI-DSW试用**
- **魔搭社区授权**
- **报名挑战赛**(链接提供)
- **创建PAI实例**并在社区中操作,流程顺畅。
- **体验一站式baseline**:下载、安装、调整提示词、执行代码,最终生成图像。特别提到重启Kernel的重要性及输出结果的上传步骤。
**5. 反思与总结:**
- **工程流程**:按照教程指引操作顺利,过程体验良好。
- **生成效果**:图像清晰、内容准确但部分图像表现不佳,如连贯性不足。强调总体成果的积极面,如生成的小女孩图像的可爱度。
- **话题展望**:收获新知,明确改进方向,期待未来任务能有更好表现。
### 核心观点
本文通过理论与实践相结合的方式,展现了文生图技术的魅力及其实际应用流程。尽管遇到了一些挑战,但整体过程顺利,收获颇丰,为未来在该领域的深入探索奠定了基础。

更新时间 2024-08-15