• 新技术前沿-2023-基于Stable Difussion体验AI绘画


    Stable Diffusion 入门简明教程
    耗时80小时!超详细的胎教级Stable Diffusion使用教程,看这一篇就够!
    基于ChatGPT+Stable Diffusion实现AI绘画

    1 简介

    近年来,AI生成内容(AIGC)领域发展迅猛,涌现出众多创新技术和应用。其中,AI绘画作为一个重要的分支,自2022年起取得了显著的进展,吸引了广泛关注。

    2022年2月初,备受瞩目的Disco Diffusion。
    2022年4月份,OpenAI发布的强大文本到图像生成模型DALL-E -2。
    2022年5月份,Google推出了Imagen模型。
    2022年8月份,初创公司StabilityAI发布并开源了卓越的AI绘画模型Stable Diffusion。
    2023年,令人惊叹且广受好评的Midjourney也成为了热门话题。

    这些技术和应用的快速发展充分展现了AI绘画领域的巨大潜力。目前,AI绘画模型中最受欢迎的无疑是Stable Diffusion和Midjourney。

    在AI绘画领域,Prompt(提示词)起着至关重要的作用。通常情况下,Prompt质量越高,生成的图片效果越令人满意。

    Stable Diffusion (扩散,以下简称 SD) 是一个文本到图像生成模型, 即通常所说的 AI 绘画。

    Stable Diffusion WebUI 是一个工具包, 为 SD 提供了一个便捷的交互界面。
    Stable Diffusion WebUI 需要 Git 和 Python 环境。

    2 单独安装

    Stable Diffusion 入门简明教程
    1、安装Git。
    2、安装Python,注意以管理员身份运行。
    3、配置 pip 国内镜像源。
    4、安装 Stable Diffusion WebUI。

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
    
    如果出现报错:
    No checkpoints found. When searching for checkpoints, looked at:
    - file /home/hys/stable-diffusion-webui/model.ckpt
    - directory /home/hys/stable-diffusion-webui/models/Stable-diffusion
    Can't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations. The program will exit.
    说明加载不到模型文件,
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5、下载并安装模型。

    在huggingface.co或civitai.com网站下载模型,比如我下载stable-diffusion-v1-4的模型文件,放到stable-diffusion-webui/models/Stable-diffusion文件夹下,就可以加载了

    基础模型 sd-v1-5-inpainting.ckpt
    真人亚洲模型 chilloutmix_NiPrunedFp32Fix.safetensors
    最新效果最好的亚洲真人模型 braBeautifulRealistic

    3 整合包安装

    耗时80小时!超详细的胎教级Stable Diffusion使用教程,看这一篇就够!

    01.电脑系统是Win10或者Win11。
    02.检查电脑性能。
    03.一键式安装SD本地部署。

    4 使用

    打开 SD WebUI 页面 http://127.0.0.1:7860, 在左上角可以选择安装的模型, 这里选择了 ChilloutMix。
    SD 需要一些关键词来描述要绘制的图画, 这些关键词称为 Prompt (可以当作是魔法的咒语),Prompt 有正向和负向, 负向表示绘画应当避免出现的内容。

    这里提供一个简单的示例 
    Prompt:
    best quality,ultra high res,photorealistic,an astronaut riding a horse
    
    Negative prompt:
    paintings, sketches, cartoons
    然后点击 Generate 即可开始绘制
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    绘画速度和硬件配置有关。
    在这里插入图片描述
    另外, 如果是 SD 绘制的图画, 可以在 SD WebUI 的 PNG Info 反向提取出 Prompt 和模型参数。

    4.1 选择合适的模型

    先确定我们画的是什么风格的画,是二次元动漫、三次元的现实照片、还是盲盒模型。确定了我们照片风格之后,就要去切换大模型(SD界面左上角的Stable Diffusion模型),不同的模型就代表着不同的照片风格。

    4.2 写好关键词

    关键词里写的就是你希望照片里会出现的内容,输入的关键词越准确,出来的照片就会越接近自己脑海里的画面。
    单词、词组、短句,这些单词用英文状态下的逗号隔开。

    4.2.1 正面关键词

    1女孩,漂亮,站着,大街1 girl, beautiful, standing on the street
    1漂亮女孩,站在大街上A beautiful girl,standing on the street
    1个漂亮女孩站在大街上A beautiful girl standing on the street
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    出来的照片有点不尽人意,那是因为我们上面输入的关键词太过于简略啦。
    (1)先写一些照片质量的词语,这样出来的照片会更加精致
    比如:最高质量,超高清画质,大师的杰作,8k画质等等
    Highest quality, ultra-high definition, masterpieces, 8k quality
    (2)再写照片的主体,和对主体的细节描写
    比如我们是要生成一个女孩,就要写出来一个女孩,以及这个女孩长什么样也可以写出来
    也就是:一个女孩,非常精致的五官,极具细节的眼睛和嘴巴,长发,卷发,细腻的皮肤,大眼睛
    1girl, very delicate features, very detailed eyes and mouth, long hair, curly hair, delicate skin, big eyes
    (3)然后人物穿什么衣服,裤子,或者加上帽子之类的配饰
    像裙子、毛衣、牛仔裤、比基尼都可以,还可以写上衣服的颜色
    比如:白色的毛衣、项链(white sweater, necklace)
    (4)最后写上背景、天气、照片姿势、构图等等
    比如说:在街上,阳光,上半身照片(street, Sunshine, upper body photos,)

    一定要注意每一行的最后要加上英文逗号,否则它就会跟下一个单词连起来变成一个新单词。
    总结一下我们写关键词的公式:
    画质+主体+主体细节+人物服装+其他(背景、天气、构图等)

    Highest quality, ultra-high definition, masterpieces, 8k quality,
    1girl, very delicate features, very detailed eyes and mouth, long hair, curly hair, delicate skin, big eyes,
    white sweater, necklace,
    street, Sunshine, upper body photos,
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    现在新生成了一张照片,但是发现她并没有关键词里的卷发,那怎样才能让“卷发(curly hair)”引起Stable Diffusion的注意呢?
    那就是给关键词加权重,加权重的方法有两种:
    (1)直接用括号把关键词括起来(curly hair)
    这样括号一次就是1.1倍权重,那括两次((curly hair))就是1.1×1.1=1.21倍,以此类推
    注意:这里的括号也是英文状态下的括号
    可以加权重,那我们也可以减权重
    减权重就是用"[]"把单词括起来,如:[curly hair]
    (2)(关键词:数值):(curly hair:1.3)
    这就是在第一种的基础上加上数值,直接一个curly hair是1,大于1就是加权重,小于1就是减权重。

    Highest quality, ultra-high definition, masterpieces, 8k quality,
    1girl, very delicate features, very detailed eyes and mouth, long hair, 
    (curly hair:1.3), delicate skin, big eyes,
    white sweater, necklace,
    street, Sunshine, upper body photos,
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.2.2 负面关键词

    当我们生成照片次数多了之后,渐渐的发现偶尔生成出来的照片多了几个手指,甚至会多了一只手,那怎么才能避免这些情况呢?
    那就是告诉SD,我不要那样的照片!
    所以,我们就可以通过输入负面关键词告诉SD,我不希望照片会出现什么内容。比如说我不希望照片出现:低质量,多余的手,多余的手指,不好看的脸等等…

    (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), bad anatomy,DeepNegative, skin spots, acnes, skin blemishes,(fat:1.2),facing away, looking away,tilted head, lowres,bad anatomy,bad hands, missing fingers,extra digit, fewer digits,bad feet,poorly drawn hands,poorly drawn face,mutation,deformed,extra fingers,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,teethcroppe,signature, watermark, username,blurry,cropped,jpeg artifacts,text,error
    
    • 1

    在这里插入图片描述

    4.3 固定特征Lora模型

    通过输入关键词,我们已经能够生成一张稍微好看一点的小姐姐的照片了,但是现在我想要生成多张照片,而且我要出来的照片都是同一张脸,这怎么办呢?这时候我们就要用到Lora模型。

    简单来说,Lora可以固定我们照片的特征:人物特征、动作特征、还有照片风格
    点击我们要用的Lora,就会自动添加到关键词的文本框里面。

    Lora之间一样用英文逗号隔开。
    每个Lora后面都有数字,这是用来调整这个Lora的权重的,正常情况下是1,我们一般只会去降低权重,因为增加权重照片可能就会变得奇奇怪怪。

    每个Lora设置的权重不一样,出来的照片就会不一样,想要生成一个好看的小姐姐,就要多去尝试不同的权重组合。

    Highest quality, ultra-high definition, masterpieces, 8k quality,
    1girl, very delicate features, very detailed eyes and mouth, long hair, (curly hair:1.3), delicate skin, big eyes,
    white sweater, necklace,
    street, Sunshine, upper body photos, 
    <lora:cuteGirlMix4_v10:0.6>,<lora:koreanDollLikeness_v10:0.2>,<lora:chilloutmixss30_v30:0.2>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.4 随机数种子

    为什么有时候我们跟别人用的大模型、关键词、Lora还有其他参数都一样,可偏偏生成出来的图就是不一样?
    那是因为影响照片的因素还有一个“随机数种子(Seed)”

    随机数种子控制的是最底层的形状,就相当于我们画画最开始的线稿,它会决定我们照片的基础轮廓,相当于决定了我们照片人物的外形轮廓,包括姿势和站位等。

    当随机数为“-1”的时候,SD就会随机给你的照片生成一个种子,这个种子就理解成不一样的线稿就可以。

    怎么看自己照片用的seed值(随机数种子)是什么呢?在我们点击生成的照片下面,有一大串英文,里面的seed值就是我们当前生成照片的seed值。
    在这里插入图片描述
    只有当我们所有参数,包括随机数种子跟别人的照片都一样时,我们才能生成跟别人差不多一样的照片。

    4.5 二次元造型

    (1)选一个能生成二次元照片的大模型
    在这里插入图片描述

    (2)关键词
    正面关键词
    只要输入照片质量和主体的关键词就可以
    比如这里输入的就是:高质量,高清画质,大师杰作,极致的细节,8k,主体就是一个女孩

    Highest quality, ultra-high definition, masterpieces, 8k quality,
    1girl, 
    
    • 1
    • 2

    负面关键词就复制前面的就可以啦。

    (3)在空白的地方点击上传自己需要生成的照片。

    (4)接着鼠标往下移,找到“重绘幅度”
    重绘幅度的意思就是你要改变你原来照片的程度,当你的重绘幅度拉到1,这时候就相当于要完全改变你的照片,生成出来的照片就跟原先的照片毫无关系了。

    这里如果是要生成二次元照片的,把重绘幅度拉到0.6~0.8就差不多了,使用0.35效果如下。
    在这里插入图片描述

    4.6 涂鸦

    SD图生图里的涂鸦功能,点击空白的地方上传一张纯白的图片,也就是你的画纸。
    右边的两个小按钮点开就可以调节画笔的大小和颜色。
    接着就在画纸上随便画画。
    在这里插入图片描述
    然后挑合适的大模型,想要什么画风就挑什么模型。
    接着输入关键词。
    再告诉SD,你画的是什么,比如我画的是一个男孩。

    Highest quality, ultra-high definition, masterpieces, 8k quality,
    1 boy, 
    
    • 1
    • 2

    最后我们把下面的重绘幅度拉到0.6~0.8,点击生成就可以啦!
    在这里插入图片描述

    4.7 局部重绘和涂鸦重绘

    假如我现在有一张非常好看的照片,唯独我觉得她的衣服不好看,那我要怎么在不改变其它地方的情况下,给她换上更好看的衣服呢?
    这里用到的是图生图中局部重绘的功能,导入要调整的照片。
    点击右边的画笔可以调整大小,把人物衣服部分全部涂黑。

  • 相关阅读:
    解析QAnything启动命令过程
    Alien Skin Exposure2023调色滤镜插件RAW后期处理软件
    游戏行业该如何应对DDoS攻击问题呢?
    图表控件LightningChart使用教程:多线程数据可视化应用程序介绍
    k8s单master--测试环境集群搭建
    feign结合hystrix的坑
    vant实现Select效果--单选和多选
    YOLOV8损失函数改进:SlideLoss,解决简单样本和困难样本之间的不平衡问题
    Html 之 fieldset legend details summary 试验2207281650
    干货带图:前端深浅拷贝的实现
  • 原文地址:https://blog.csdn.net/qq_20466211/article/details/132611316