Datawhale X 魔搭 AI夏令营-AIGC文生图-task1-笔记

weixin_59235556 2024-09-07 11:31:12 阅读 57

目录

1 赛题解读

2 文生图的历史

3 文生图基础知识介绍

3.1 提示词

3.2 Lora

3.3 ComfyUI

3.4 参考图控制

4 实践-通过代码完成模型微调&AI生图-Test

4.1 体验baseline

4.2 上传至魔搭社区

4.3 尝试baseline-改了prompt


很幸运能够发现这样一个宝藏!“从零入门AI生图原理&实践”是 Datawhale 2024 年 AI 夏令营第四期的学习活动(“AIGC”方向),基于魔搭社区“可图Kolors-LoRA风格故事挑战赛”开展的实践学习,作为初学者,在此进行笔记记录,方便日后回顾。

1 赛题解读

可图Kolors-LoRA风格故事挑战赛

1.1 参赛链接:可图Kolors-LoRA风格故事挑战赛_创新应用大赛_天池大赛-阿里云天池的赛制

1.2 赛事任务

(1)参赛者需在可图Kolors 模型的基础上训练LoRA 模型,生成无限风格,如水墨画风格、水彩风格、赛博朋克风格、日漫风格......

(2)基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义;基于8图故事,评估LoRA风格的美感度及连贯性

样例:偶像少女养成日记

1.3 评分规则

客观角度:美学分数作为评价参赛作品是否有效的标准,美学分数小于6(阈值可能根据比赛的实际情况调整,解释权归主办方所有)的提交被视为无效提交,无法参与主观评分。

主观角度:由评委对参赛作品进行投票,评审标准可以从技术运用(40%)、组图风格连贯性(30%)、整体视觉效果(30%)几方面进行评判投票。

注意:会核实选手上传的模型文件,参赛选手需提交训练的LoRA 模型文件、LORA 模型的介绍、以及使用该模型生成的至少8张图片和对应 prompt,以便我们能够复现生成效果,对于生成效果明显无法复现的,取消获奖资格。

1.4 任务提交格式说明

(1)将训练好的LoRA 模型上传到魔搭模型库

- LoRA模型命名为:队伍名称-可图Kolors训练-xxxxxx

- LoRA 上传地址:魔搭社区

(2)作品发布在比赛品牌馆讨论区,

https://modelscope.cn/brand/view/Kolors?branch=0&tree=11

- 发布标题格式为:天池平台报名队伍名称+LoRA模型链接地址+作品图(8图故事)

1.5 赛程安排

(1)初赛:报名后-2024年8月31日23:59

(2)进入决赛标准:2024年9月2日,从初赛作品中结合专业技术评委+人气投票筛选30组选手入围决赛(客观评分+评委主观评分)

(3)决赛:2024年9月5日答辩展示,线上决出一二三等奖(评委主观评分)

官方提供了示例数据集,但我们实际上可以自行寻找所需的数据集,用来训练自己的LoRA模型。

2 文生图的历史

文生图(Text-to-Image Generation)是一种通过文本生成图像的技术,其发展历程可以追溯到早期的计算机视觉和自然语言处理研究。这一技术的历史有以下几个关键阶段:

(1)早期探索(20世纪60年代-20世纪90年代):文生图的概念最早出现于计算机视觉和图像处理的早期研究中。早期主要依赖规则和模板匹配,生成的是简单的图形。由于计算能力和算法的限制,生成的图像质量较低,应用场景有限。

(2)基于统计模型的方法(2000年代):统计模型和机器学习技术的发展,文生图技术开始得到更多关注。研究者利用概率图模型和统计语言模型来生成图像,比前一阶段生成的图片在多样性和质量上有所提升,但是新的问题出现了,由于模型的复杂性和计算资源的限制,生成的图像依旧较为粗糙,不够逼真。

(3)深度学习的崛起(2010年代):2010年代是文生图技术发展的一个重要转折点。随着深度学习,尤其是卷积神经网络(CNN)和生成对抗网络(GAN)的发展,文生图技术取得了突破性进展。

2014年,Goodfellow等人提出的GAN模型通过生成器和判别器的对抗训练,极大地提升了图像生成的质量。随后,各类变种GAN模型被提出,如DCGAN、Pix2Pix等,使得文生图技术在生成逼真图像方面达到了前所未有的高度。

(4)大规模预训练模型(2020年代):进入2020年代,大规模预训练模型如OpenAI的CLIP、DALL-E以及Stable Diffusion等的出现,标志着文生图技术进入了一个新的时代。

CLIP通过大规模的文本和图像配对数据训练,能够理解和生成高度一致的文本和图像;DALL-E和Stable Diffusion进一步提升了生成图像的创意和细节表现能力,使得通过简单的文本描述生成高质量、复杂图像成为可能。

这些技术的应用范围从艺术创作、广告设计到辅助医疗诊断,展现了广泛的商业价值和社会影响力。

关于文生图技术研究的发展


3 文生图基础知识介绍

文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。

3.1 提示词

提示词很重要,一般写法:主体描述,细节描述,修饰词,艺术风格,艺术家

例:

【promts】Beautiful and cute girl, smiling, 16 years old, denim jacket, gradient background, soft colors, soft lighting, cinematic edge lighting, light and dark contrast, anime, super detail, 8k

【负向prompts】(lowres, low quality, worst quality:1.2), (text:1.2), deformed, black and white,disfigured, low contrast, cropped, missing fingers

3.2 Lora

Stable Diffusion中的Lora(LoRA)模型是一种轻量级的微调方法,它代表了“Low-Rank Adaptation”,即低秩适应。Lora不是指单一的具体模型,而是指一类通过特定微调技术应用于基础模型的扩展应用

在Stable Diffusion这一文本到图像合成模型的框架下,Lora被用来对预训练好的大模型进行针对性优化,以实现对特定主题、风格或任务的精细化控制

3.3 ComfyUI

ComfyUI 是一个工作流工具,主要用于简化和优化 AI 模型的配置和训练过程。通过直观的界面和集成的功能,用户可以轻松地进行模型微调、数据预处理、图像生成等任务,从而提高工作效率和生成效果。

在ComfyUI平台的前端页面上,用户可以基于节点/流程图的界面设计并执行AIGC文生图或者文生视频的pipeline。

3.4 参考图控制

ControlNet是一种用于精确控制图像生成过程的技术组件。它是一个附加到预训练的扩散模型(如Stable Diffusion模型)上的可训练神经网络模块。

扩散模型通常用于从随机噪声逐渐生成图像的过程,而ControlNet的作用在于引入额外的控制信号,使得用户能够更具体地指导图像生成的各个方面(如姿势关键点、分割图、深度图、颜色等)。

参考图控制类型有(主要区别在于输入参考的图片类型/风格):

(1)OpenPose姿势控制(输入一张姿势图片,可以是真人图片或者模拟图片甚至是火柴人作为参考,再输入提示词prompt后,AI就可以根据参考生成相同姿势的图片)

(2)Canny精准绘制(输入一张线稿图作为参考)

(3)Hed绘制(输入一张线稿图作为参考,Hed可以获取渐变线条的线稿图,比Canny更加灵活)

(4)深度图Midas(输入一张深度图作为参考)

(5)颜色color控制(通过参考图控制和颜色控制,实现更加精准和个性化的图像生成效果)

从左往右依次是上述参考图控制类型(OpenPose姿势控制、Canny精准绘制、Hed绘制、深度图Midas、颜色color控制)

4 实践-通过代码完成模型微调&AI生图-Test

4.1 体验baseline

先在阿里云开通免费试用,进入魔搭社区注册登录,授权阿里云后启动即可。

(1)下载baseline文件

git lfs install

git clone https://www.modelscope.cn/datasets/maochase/kolors.git

(2)打开baseline文件后,安装环境Data-Juicer 和 DiffSynth-Studio

Data-Juicer:数据处理和转换工具。目的:简化数据的提取、转换和加载过程

DiffSynth-Studio:高效微调训练大模型工具

(3)重启kernel

(4)调整prompt,设置想要的图片风格,依次修改8张图片的描述(可选)

正向描述词:你想要生成的图片应该包含的内容

反向提示词:你不希望生成的图片的内容

(5)按顺序运行剩余的代码块(第一次的时候需要接着“重启kernel”板块下面的代码一步步点击,第二次开始就可以一键运行了),点击代码框左上角执行按钮,最终获得图片

后续的代码块按照功能主要分成这几类

使用Data-Juicer处理数据,整理训练数据文件》》》

使用DiffSynth-Studio在基础模型上,使用前面整理好的数据文件进行训练微调》》》

加载训练微调后的模型》》》

使用微调后的模型,生成用户指定的prompt提示词的图片

(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/

下载结果文件》》》

双击进入output文件夹,分别下载两个文件(1.jpg和对应的ckpt文件)到本地文件夹》》》

至此,可以回到魔搭社区“我的首页”打开“我的Notebook”,关闭PAI实例

我的Notebook · 魔搭社区 (modelscope.cn)

4.2 上传至魔搭社区

点击魔搭链接,创建模型》》》

​​​​​​模型创建 · 魔搭社区 (modelscope.cn)

选择文生图lora模型》》》填写基础信息》》》在Lora权重上传刚刚下载的对应的ckpt文件,模型效果实例上传刚刚下载的1.jpg》》》创建成功

去魔搭创空间,AIGC专区,搜索自己的账号名即可找到刚创建好的模型

4.3 尝试baseline-改了prompt

第一次跑的懵懵懂懂的,第二次尝试去稍微修改一下提示词,在自行操作的时候发现还需要时不时回顾夏令营操作文档,于是记录一下第二次尝试的过程,以便日后巩固学习。

进入魔搭社区的“个人云账号授权实例下的PAI-DSW”,启动

启动好,点击打开。还有上次跑完的文件,那第二次跑不用重新下载baseline文件了,直接点击侧栏的baseline.ipynb文件即可打开脚本。

第二次跑出来的图片有点。。。。不太符合想法,生成的图片是以人为主体,占了大半篇幅。提示词方面还需要进一步学习。

PS:第二次的prompt的细微修改记录如下,negative_prompt没有改变

二次元,一个紫色短发小女孩,在学校书桌前的椅子上坐着,在认真写作业,全身,蓝色校服白色侧边条纹
二次元,日系动漫,体育场的全校同学排列,整整齐齐,一个紫色短发小女孩穿着蓝白相间的校服站在讲台上宣誓,台下的同学们都举起右手宣誓
二次元,一个紫色短发小女孩穿着蓝白相间的校服走出高考考场,露出对未来的期许且自信的神情
二次元,一个紫色短发小女孩穿着休闲运动装,双臂张开,面对着大海,闭着眼睛,感受海风,感受自由,背面
二次元,一个紫色中等长度头发小女孩穿着粉色吊带漏肩连衣裙,拖着行李,开心,即将迈入大学的校门,周围是来来往往的人
二次元,一个紫色长发小女孩穿着暖色系日常休闲服,在教室里做笔记,听老师讲课,认真思考
二次元,紫色长发少女,穿着黑色运动装,在操场上跑步锻炼身体
二次元,紫色长发少女,穿着黑色礼服,连衣裙,在礼堂主持

代码懵懵懂懂的跑下来,背后的逻辑不太明白,期待接下来的学习!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。