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

从零入门AI生图原理&实践 是 Datawhale 2024 年 AI 夏令营第四期的学习活动(“AIGC”方向),基于魔搭社区可图Kolors-LoRA风格故事挑战赛开展的实践学习,适合像我这样对AIGC文生图感兴趣但零基础的小白。

了解文生图

文生图技术(Text-to-Image Generation),也称为文本到图像生成技术,近年来成为了人工智能领域的研究热点。它通过将自然语言描述转化为图像,实现了人类创造力的自动化和智能化。

文生图技术原理

文生图技术主要依赖于深度学习模型,特别是生成对抗网络(GAN)和变分自编码器(VAE)等。这些模型通过学习大量图像数据,从中提取出图像的内在结构和特征,并根据自然语言描述的信息,生成与之相匹配的图像。

GAN由两个部分组成:生成器和判别器。生成器的任务是根据输入的随机噪声生成图像,而判别器的任务则是判断生成的图像是否真实。通过不断地训练和优化,GAN能够学习到从文本描述到图像生成的映射关系。

VAE则是另一种基于编码-解码结构的模型。它将图像压缩为潜在空间的高维表示,并根据自然语言描述的信息解码出相应的图像。VAE通过最小化重构误差和潜在空间的KL散度来学习图像和文本之间的联合分布。

文生图的历史

发展阶段

发展介绍

早期探索

(20世纪60年代-20世纪90年代)

文生图的概念最早出现于计算机视觉和图像处理的早期研究中。

早期的图像生成技术主要依赖于规则和模板匹配,通过预定义的规则将文本转换为简单的图形。

然而,由于计算能力和算法的限制,这一阶段的技术能力非常有限,生成的图像质量较低,应用场景也非常有限。

基于统计模型的方法

(2000年代)

进入2000年代,随着统计模型和机器学习技术的发展,研究者们开始利用概率图模型统计语言模型来生成图像。但由于模型的复杂性和计算资源的限制,生成的图像仍然较为粗糙,不够逼真。

深度学习的崛起

(2010年代)

2010年代是文生图技术发展的一个重要转折点。随着深度学习,尤其是卷积神经网络(CNN)和生成对抗网络(GAN)的发展,文生图技术取得了突破性进展。2014年,Goodfellow等人提出的GAN模型通过生成器和判别器的对抗训练,极大地提升了图像生成的质量。随后,各类变种GAN模型被提出,如DCGAN、Pix2Pix等,使得文生图技术在生成逼真图像方面达到了前所未有的高度。

大规模预训练模型

(2020年代)

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

文生图基本结构

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

提示词

提示词的作用可以理解为搜索关键词,帮助你找到SD库中最匹配你各个提示词的图片,然后模仿这些图片的绘画方式画一张图出来。

提示词分为正向提示词和反向提示词。正向提示词指画面中需要出现的内容;反向提示词指画面中不应出现的内容。从语义上,提示词可分为图片品质(如高画质)、图片结构(如全景)、图片内容、图片风格(如写实、水墨)。

Lora

Stable Diffusion中的Lora(LoRA)模型是一种轻量级的微调方法。Lora不是指单一的具体模型,而是指一类通过特定微调技术应用于基础模型的扩展应用。在Stable Diffusion这一文本到图像合成模型的框架下,Lora被用来对预训练好的大模型进行针对性优化,以实现对特定主题、风格或任务的精细化控制。

参考图控制

ControlNet是一种用于精确控制图像生成过程的技术组件。它是一个附加到预训练的扩散模型(如Stable Diffusion模型)上的可训练神经网络模块。扩散模型通常用于从随机噪声逐渐生成图像的过程,而ControlNet的作用在于引入额外的控制信号,使得用户能够更具体地指导图像生成的各个方面(如姿势关键点、分割图、深度图、颜色等)。

实践过程

了解了文生图的基础知识后,我开始了AI生图之旅。

Step1:开通PAI-DSW试用后创建实例

阿里云PAI-DSW免费试用:https://free.aliyun.com/?productCode=learn

在上述链接中开通试用后,在魔塔社区进行授权:

https://www.modelscope.cn/my/mynotebook/authorization

然后在魔塔社区中创建实例并打开,打开界面如下:

Step2:环境搭建

1.下载baseline文件

打开终端(Terminal),输入代码:

git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors.git
2.打开baseline文件

接下来的步骤代码已经打包好了,只需点击执行即可。

3.安装 Data-Juicer 和 DiffSynth-Studio然后重启

Step3:调整提示词

但是,在实践过程中我发现了几个注意事项:


1.AI 不是什么词都懂。比如我输入“身材姣好”,但AI画出来的是断臂人物。

2.提示词会相互污染,所以提示词不是越多越好。

Step4:点击执行按钮依次运行代码块

最后生成的图片如下:

Step5: 赛题上交并关闭PAI实例

将微调结果上传魔搭

链接:https://www.modelscope.cn/models/create

执行代码后,将模型文件和示例图下载到本地

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/

运行完成后,别忘了回到魔搭,【关闭】实例,否则会一直消耗你的试用额度!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值