1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 人工智能AI > 正文

人工智能AI

有没有人能详细介绍一下StableDiffusionAI绘画?

1987web2023-08-14人工智能AI165

SD包括了:

  1. 程序
  2. 模型
  3. WebUI

如果你愿意,只需要程序+模型就能跑起来,麻烦的是程序是命令行下敲程序名+一大串各种很难理解的参数。所以要搞个UI界面,把参数都做成你在界面上方便选择/调整的按钮/滑动条/菜单选项啥的,然后点个生成按钮,这个UI就自动调用命令行下的命令,并且把结果显示在UI上。WebUI就是官方提供的这么一种UI。

其中模型分几个子模型,有主模型和若干打辅助的模型。

然后有人觉得官方提供的主模型不好,比如专门生成二次元的图效果不完美,于是这些人就在官方的主模型基础上再优化,是针对生成二次元图片的优化,就搞出了NovelAI的主模型。但它仍旧使用SD的程序。

再然后有人觉得官方的辅助模型也不咋滴,比如那个VAE模型,生成的人物眼睛怎么看都觉得瞳孔有点不精准,于是又优化了一下这个VAE模型,效果进一步得到了提升。

然后又有人觉得官方的WebUI不太方便,比如不方便换模型,有些参数不可调,他们就做了新的UI来改进用户的操作体验,比如automatic111这类。NovelAI也打造了自己的UI。有人弄到了NovelAI的UI代码,自己整了个Naifu。

但仅仅换UI和模型还不够,SD的官方程序跑起来特别吃显存,好多玩家显卡显存太小,跑不起来,于是又有一群人跳出来,修改了官方程序,大幅缩小了对显存的消耗。于是又冒出来了InvokeAI这种版本的程序,包括automatic111这类也顺手把这些显存优化整到了自己的程序里,搞出了新的程序,同样,NovelAI怎能不跟进呢。于是程序+模型+UI全都被各种发型版本给改了。

再后来,有人觉得光打造一个针对二次元的NovelAI模型太狭隘了,我们要打造自己的专用画面风格,我们还要把自己搞的人物造型添加到主模型里。于是好多人开始在SD官方模型的基础上训练自己的模型,纷纷发到Hugging Face上供众人乐乐。

强大的开发者们为了这些训练新模型的人整出了DreamBooth这个工具,专治SD官模的各种不服。

但事情还没结束,训练新模型的人发现:每一个主模型文件都有2GB多。整出来后传给亲朋好友们太费劲了,于是强大的开发者们又整出了Textual Inversion和LoRA,经过这两种工具生成的文件很小,既加强了模型的生成的可控性,还方便众乐乐。

DreamBooth,Textual Inversion,LoRA这类玩意被统称为Fine-tune工具。

目前又有新贵入场:ControlNet。看介绍是能通过其它工具更精细得调整画面造型,我还没折腾过,等有时间了再看看。

SD官方程序本身的参数其实很多,而且自带的小工具也很多,但大部分人都没用过,确实很难用,你用了后会发现画面有所改变,但是不是朝着你希望的方向变就难说了。SD从1.5到2.0也变化很大,开始支持用三维的深度图来控制造型了。外加这一堆的各种模型+UI魔改,你就别管它们的关系了,选一个自己的觉得顺手的,其它差别没想象得那么大。如果你学会了Fine-tune这类工具用法,基本上对这些发行版的依赖就很小了,因为打造模型就是给自己创造一个适合自己的工作环境,程序上的魔改往往只是优化显存消耗和性能,直观上看差别不大。


再补充一下,如果你希望打造自己的二次元或者三次元,实际上就是需要利用Fine-tune这类的工具来训练自己的模型。

根据我的经验,DreamBooth的效果最好,不仅适合添加新的画风,还适合添加人物/物体造型,DreamBooth效果好的原因是:它真的对主模型下手了,比如你想把自己的照片弄到模型里,经过DreamBooth的训练,它会把原有的很多人物信息给删除掉,腾出空间用于存放你的造型信息。

而TextualInversion走的是另外一种路线,它并不改动主模型,而是追加新的模型信息,说得更具体点,它会寻找主模型中各种已经存在的人物信息,看哪些最贴近你的造型(比如这个人的鼻子跟你的很像,哪个人的脸型跟你的很像),然后把这些信息对应的prompt(咒语)的文字搜集起来,融合成一个新的prompt特征字并且关联到你的名字上,训练好后你要生成图片时只要输入自己的名字,TextualInversion将你的名字分解为这些最贴近的prompt,最后利用这些prompt来生成图片。这也是为什么大家说SD是个缝合怪

所以对真正需要用SD来干活的人而言,模型才是最需要重视的部分,不同发行版的程序和UI的差异都不大。利用Fine-tune训练模型是个麻烦活,很讲技巧的,训练用的图片质量/构图/数量/prompt特征字的选择都很讲究,没有规范的模式,只能自己摸索。搞得好的话,对你的工作有很大的辅助作用。

有很多人都把自己做的模型发到了Hugging Face上,Models - Hugging Face

比如:aipicasso/cool-japan-diffusion-2-1-0 · Hugging Face

nitrosocke/Arcane-Diffusion · Hugging Face

nitrosocke/Future-Diffusion · Hugging Face

要注意这些模型对应的SD版本号,有的是SD1.*的,有的是SD2.0的,还有的是MJ的,有些需要定制版本的程序才能运行。


今天看了一下ControlNet,只是把原理过了一遍,没有实际尝试,等我的新机器配好后再干上一票。

这个工具和常规的Fine-tune差别很大了,一般Fine-tune都是对主模型进行修改(DreamBooth),或者追加(TextualInversion)或者定向裁剪(LoRA),而ControlNet是引导(Guided),通过输入一张框架图来诱拐SD在框架上充实内容,这样可以确保构图的准确性。这个功能很重要,构图是绘画的头等大事,色调其次,细节末之。一幅画所要表达的思想很大程度上在构图时就决定了。

对这个新工具的评价,我有两种观点,因为职业习惯,我通常都是从需求分析开始考虑问题。用SD或者说文生图AIGC的用户一般有两种类型:

  1. 没有绘画基础的人,想完全通过工具自动生成所需的图
  2. 有绘画基础的人,想借助工具来协助自己创作

对于第一类需求,你要做的事就是拼凑内容,你的创作实际上是基于记忆,你想要的一幅人物/景物画,大概率是你记忆中看过的某个电影/电视/动画/漫画片段里一个场景,那个场景就是你的构图,在SD里输入的prompt(咒语)就是试图用文字描述那个场景,可想而知,精准的描述非常困难,再加上SD生成的方式太自由,最终的画面距离你的记忆相差会很大,但也许它生成的效果会比你记忆中的场景更出色。

第二类需求,你希望的是:我直接用手绘速写出构图,然后辅助一些prompt在这个构图上充实细节,即使细节不完美,我也可以通过手绘再加工或者借鉴。比如很多漫画/动画/电影里做分镜的人,他们的构图能力很强,并不希望SD天马行空得布局画面。

基于这两种情况,ControlNet更适合第二类需求,它相对完美的解决了画家/画师/美工/设计者和AI的职业冲突如果一个以绘画为职业的人认为AI有擅长细节描绘的能力就能取代他/她的职业,而忽视了自身的构图/光/色调设计能力,那么大概率他/她不是个合格的从业者,被取代也没什么好抱怨的。

对于第一类需求,因为你必须从图库/电影/卡通等等素材中找到你所需的原图,才能借用ControlNet帮你换掉/充实细节,所以你对画面把控的程度是很低的。如果仅仅是玩玩,问题不大,如果是有特定的商业要求,要自由/完全得满足这些要求,光凭一幅原画是很麻烦的。

不过我可以给一些方法来辅助你,其实ControlNet原论文里就已经提到了:用人体的姿态(Pose)当作原画。当然,实际上不局限于人体,还可以有动物/物件/建筑。

说到这里,已经超出了SD的范畴了,甚至超出了基于扩散模型"(Diffusion)算法的:

Disco Diffusion

Midjourney

Dall.E2

Imagen

上面这些工具都是以2D图像作为处理的基础。AIGC还有一个子领域是3D的内容生成,涉及的工具集比Diffusion家族多出很多,也都是用AI驱动的。先放张动图:

0

这段动画我用了若干AIGC工具生成的,首先找一张Travolta的照片,然后利用AI抠图工具把人体搞出来,然后用2D转3D的AIGC工具从抠图上搞出3D模型,然后在Blender(一个3D建模/动画工具)里把抠出的2D画当作纹理搞到这个3D模型上,再把一段舞蹈的骨骼动画搞到这个3D模型上就做出上面这个视频;其实也可以用摄像机拍摄一段自己的动作,然后用AIGC的工具提炼出我的骨骼动画,这样就能把我的姿势/动作绑定到Travolta的3D模型上;还可以从电影/动画里截一段视频,按照这个方式把动作搞到3D模型上。

在这一串骚操作中,涉及到一类关键工具:如何从一张2D的人物图片或者一段视频上提取人物的姿态(Pose),一般有两种常见工具:

Mediapipe(google家的宝贝)

OpenPose

事先声明一下,它们都不太好操作,非技术人员一般会被劝退的(如果普通用户多了,也会有好事者做出易于操作的简化版本)。它们可以生成ConteolNet所需的Pose原图。这样就大大增加了非职业绘画者们构建人物构图的途径。

当然,不止人物,3D AIGC的工具家族里还有针对动物的姿态提取工具。可以看看我以前写的一个简介:

AIGC 能产出 3D 内容吗?难点在哪里?

说这类3D AIGC的工具不是想歪楼,而是想提醒一下各位:他山之石可以攻玉。真正要想在AIGC这个领域干,得拓宽自己的思路和工具储备。

之前发布过2篇动漫炼丹教程,使用的都是秋叶lora script 训练包。主要训练二次元动漫人物,还是蛮好用的。

AI绘画-SD三次元人物模型训练(炼丹)教程

头条创作挑战赛

  • 下一篇AI前沿速报0802:AI模型训练方式引发讨论

    AI前沿速报0802:AI模型训练方式引发讨论

    原标题:AI前沿速报0802:AI模型训练方式引发讨论