从零入门AI生图原理&实践#Datawhale X 魔搭 AI夏令营 #夏令营

从零入门AI生图原理&实践 是 Datawhale 2024 年 AI 夏令营第四期的学习活动(“AIGC”方向),基于魔搭社区可图Kolors-LoRA风格故事挑战赛开展的实践学习——

  • 适合想 入门并实践 AIGC文生图、工作流搭建、LoRA微调 的学习者参与

我们首先来看看这次的赛题解读--Task1

赛题解读表

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

赛事链接:  https://tianchi.aliyun.com/s/ce4dc8bf800db1e58d51263ff357d28f

赛事任务

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

  2. 基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义;基于8图故事,评估LoRA风格的美感度及连贯性 样例:偶像少女养成日记

评分规则介绍

1.主观评分

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

2.客观评分

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

任务提交格式说明

选手在天池平台后,需在魔搭平台上提交作品。步骤如下:

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

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

  • LoRA 上传地址:魔搭社区​​

2、作品发布在比赛品牌馆讨论区,https://modelscope.cn/brand/view/Kolors?branch=0&tree=11

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

赛程安排

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

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

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

奖项设置

奖项                             奖金

一等奖(第1名)     10000元*1

二等奖(第2-4名)   3000元*3

三等奖(第5-10名) 1000元*6

人气奖(10个)     500元天猫超市卡*10

数据集分析

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

文生图的历史

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

发展阶段

发展介绍

早期探索

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

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

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

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

基于统计模型的方法

(2000年代)

进入2000年代,随着统计模型和机器学习技术的发展,文生图技术开始得到更多关注。

研究者们开始利用概率图模型和统计语言模型来生成图像。尽管这一阶段的技术在生成图像的多样性和质量上有了一定提升,但由于模型的复杂性和计算资源的限制,生成的图像仍然较为粗糙,不够逼真。

深度学习的崛起

(2010年代)

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

大规模预训练模型

(2020年代)

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

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

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

文生图基础知识介绍

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

接下来,我们简单了解下提示词、lora、ComfyUI和参考图控制这些知识点。

提示词

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

举个例子

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

Lora

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

ComfyUI

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

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

参考图控制

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

参考图控制类型

简介

示例

OpenPose姿势控制

输入是一张姿势图片(或者使用真人图片提取姿势)作为AI绘画的参考图,输入prompt后,之后AI就可以依据此生成一副相同姿势的图片

Canny精准绘制

输入是一张线稿图作为AI绘画的参考图,输入prompt后,之后AI就可以根据此生成一幅根据线稿的精准绘制。

Hed绘制

Hed是一种可以获取渐变线条的线稿图控制方式,相比canny更加的灵活。

深度图Midas

输入是一张深度图,输入prompt后,之后AI就可以根据此生成一幅根据深度图的绘制。

颜色color控制

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

小白零基础 30 分钟 速通指南

Step0:开通阿里云PAI-DSW试用

链接:阿里云免费试用 - 阿里云

开通PAI-DSW 试用 ,获得 5000算力时!有效期3个月!

如果已经开通试用或试用已过期,可以跳过此步骤,使用魔搭免费GPU额度或寻找其他的算力方案

  • 注意多模态数据合成方向无法通过魔搭免费GPU执行

  • 开通免费试用

  • 魔搭社区进行授权

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

    如果这一步授权失败,可跳过此步骤,继续往下进行

  • 新用户需要先注册 & 绑定阿里云账号

  • 新用户需要先注册 & 绑定阿里云账号

Step1:报名赛事!(点击即可跳转)

赛事链接:https://tianchi.aliyun.com/competition/entrance/532254

点击报名比赛,即可报名成功

Step2:在魔搭社区创建PAI实例!(点击即可跳转)

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

创建实例,启动!

如果在上一步授权失败,可到阿里云控制台创建 & 打开实例,具体步骤详见下方子步骤

确认后,点击下一步

创建实例,会返回魔搭,自动开始启动

  • 如果 在魔搭无法授权 或 点击【打开】无法打开,可到阿里云控制台创建 & 打开实例

  • 创建实例

  • 打开实例

此处的【新建实例】与魔搭的【创建实例】效果相同,如果魔搭处无法执行,也可以从此处创建

到这个界面即为打开实例成功

  • 如果之前试用的额度已经过期,可使用魔搭的免费Notebook实例

    Step3:30 分钟体验一站式 baseline!

  • 1.下载baseline文件(大约需要2分钟)

    git lfs install   

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

2. 进入文件夹,打开baseline文件

3. 安装环境,然后重启kernel

安装 Data-Juicer 和 DiffSynth-Studio

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

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

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

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

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

5. 依次顺序运行剩余的代码块,点击代码框左上角执行按钮,最终获得图片(大约需要20分钟)

下面的代码块按照功能主要分成这几类

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

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

  3. 加载训练微调后的模型

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

Step4:微调结果上传魔搭(点击即可跳转)

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

1. 移动结果文件

创建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/

2. 下载结果文件

双击进入output文件夹,分别下载两个文件到本地

3. 创建并上传模型所需内容

  点击魔搭链接,创建模型,中文名称建议格式:队伍名称-可图Kolors训练-xxxxxx

这样就算创建完成并发布在创空间讨论区了。

4. 来到创空间,查看自己的模型是否发布

关闭PAI实例!!!!(点击即可跳转)

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

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

每小时消耗大概7个试用额度!(总共5000个,有效期三个月)

我的作品1

Diamond晨-可图Kolors训练-剑客

男孩在树下无聊的叼着一根狗尾草

男孩看到了剑客

男孩对于剑客感到了憧憬

男孩拿着树枝自己练剑

转眼间,男孩变成了少年,背负长剑,到了一家客栈门前

少年的剑放在桌上,吃着牛肉喝着酒

在门外一群黑衣人围住了少年

战胜了所有的敌人,少年在夕阳中前行

注:我的提示词是古装,希望是金庸、古龙这种的武侠风格,结果生成了日本武士,有点不太满意

书接上回,新的开始--Task2

本期我们将用到“通义千问”

学习说明:

我们计划使用通义千问大语言模型来告诉大家如何借助AI智能助手帮我们阅读代码。工欲善其事必先利其器,现在让我们请出今天的主角,通义千问(点击直达)。

📢:注意

  1. 使用大语言模型比较频繁的学习者可跳过这部分内容。

  2. 也可以自行选择其他的大语言模型使用,学习过程中不做限制。

  3. 通义系列产品也有文生图的工具:通义万相,大家感兴趣可以自己体验。

首先,我们来看下它的自我介绍。通义千问是具有信息查询、语言理解、文本创作等多能力的AI助手。我们可以看到,编程与技术支持能力是它的强项之一。(P1:通义千问自我介绍)

通义千问的自我介绍

接下来我们把场景聚焦到编程与技术支持这个方向,让他详细介绍下自己可以如何帮助大家编程。(P2:编程能力介绍)。

使用操作指南

官方链接:https://tongyi.aliyun.com/qianwen/

step1 注册账号

step2 通义主要功能模块

主要功能模块:

  1. 对话,支持文字输入,文件上传等模式,我们本次课程主要使用当前模块;

  2. 效率,各种学习办公小工具;

  3. 智能体,通义的智能体应用市场,大家可以根据自己的需求找到很多有意思的小应用。

精读baseline——从零入门AI生图

学习说明:

关于代码阅读和理解,我们今天尝试让AI助手从两个角度帮助我们:

  1. 分析代码的主题架构;

  2. 逐行代码解析。

📢:注意

  1. 以下代码为方便大家阅读理解,故放在了一起。但不能一键运行跑通,如何跑通代码,请直接参考task1中的内容。

在task1的任务中, 我们拿到baseline文件后, 根据教程指示顺畅通关, 似乎没有什么问题。但是可能有些同学看到这个baseline的代码会一脸懵,就很想知道某一个模块、某一行究竟是干啥的,下面我们就借助前面讲到的通义千问来精读这个代码。

首先我们来直观感知下这个文生图代码的框架结构:

1. 分析代码的主体架构

输入的问题

你是一个优秀的python开发工程师,现在我们需要你帮我们分析这个代码的主体框架,你需要把代码按照工作流分成几部分,用中文回答我的问题。{此处替换要解读的代码}

2. 逐行解释代码

输入的问题

你是一个优秀的python开发工程师,现在我们需要你帮我们逐行分析这个代码,用中文回答我的问题。{此处替换要解读的代码}

3. 代码还有疑问?

向AI追问

我对其中{替换成你的问题}还是不太理解,给我再详细介绍一下

实战演练一一基于话剧的连环画制作

1.数据准备​​​​

1.提示词

你是一个文生图专家,我们现在要做一个实战项目,就是要编排一个文生图话剧 话剧由8张场景图片生成,你需要输出每张图片的生图提示词 具体的场景图片

你是一个文生图专家,我们现在要做一个实战项目,就是要编排一个文生图话剧 话剧由8张场景图片生成,你需要输出每张图片的生图提示词 具体的场景图片(下面以我之前的作品为基础)

1、男主无聊在树下躺着

2、结果睡着了

3、进入梦乡,梦到自己在围观高手决斗

4、醒来后拿着树枝开始练剑

5、长大后,男主背剑走天涯

6、男主在一家客栈吃肉、喝酒

7、走出客栈被一群黑衣人包围

8、在夕阳下,男主踏向了下一个征程

生图提示词要求

1、风格为古风

2、根据场景确定是使用全身还是上半身

3、人物描述

4、场景描述

5、做啥事情

例子:

古风,水墨画,一个黑色短发少年,躺着树下,叼着狗尾草,双手抱头躺着,全身,中式粗布古装

2.询问通义

自己在通义的返回的基础上,多多调整,争取打磨出一个最佳的提示词

3.最后的话剧场景

结合AI内容,自己再对生成的提示词做出调整

2.执行Task1的30分钟速通Baseline

从零入门AI生图原理&实践

将task1中的提示词,换成我们刚刚修改好的提示词

我的作品2

Diamond晨-可图Kolors训练-剑侠

(中间又调整了几次提示词,因为生成的人总是不一致)

男孩在树下看书

不小心睡着了

梦游仙境(其实想看到剑侠决斗,但是一直生成不出来)

醒来后,少年练剑多年

练成之后,踏入江湖

在客栈里吃着饭

与黑衣人决斗(这个图也不好,黑衣人都背对主角了)

在夕阳中,踏上了新的征程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值