用自拍做动画-stable diffusion新手教学
hi,我是雪莉,今天转行教大家画个ai妆容,开个玩笑。其实这不是真的我,而是ai生成的我,而另一版是进一步加强了特效的我,有点游戏里神女的味道了吧。
这个就是我把自拍视频导入到stable diffusion里加上一些关键词制作的。虽然效果还是比不上一帧一帧去做的动画,但是我完全没有学动画制作的,只是花这一周研究了一下安装和调参数,ai就帮我做成了这个样子,甚至可以直接输入文字生成动画,比如这个是专业艺术家用stable diffusion配合其他软件做出来的动画-四季。虽然还是有一些失真, 但是已经可以感受到意境了。所以体验下来确实觉得stable diffusion可以大大降低普通人创作视觉作品的门槛。
其实我很早就听说这个工具,但是看到基本都是做二次元小姐姐的,我没有这方面需求,又看到按很麻烦的样子就觉得没必要花时间,但是后来看到其实它很全能,有很多模型可以生成各种风格的图像,甚至生成动画,更重要的是还是免费的,所以决定来使用下,所以这期节目就分享下我的从新手摸索它的一个过程,会介绍下stable difusion的基本原理,安装以及基本操作,最后会说一下我是怎么制作开头视频的。想要说透stable不是短短10分钟可以说完的,所以之后我会看情况再出后续,感兴趣就记得点赞订阅持续关注啦
首先介绍下我们要用的这个主角stable diffusion和它背后的公司,早期由Runway 这家视频编辑工具公司 和CompVis 大学里实验室共同研究的一个从文字生成图像的ai模型,这种模型已经研究了很多年也有很多实现类似功能的工具,向我们前面介绍过的midjourney,还有chatgpt那家公司openai在做的dall.E都是实现文字生成图像功能的。
但是Stable Diffusion能够脱颖而出,获得行业内外的一致好评,就不得不说他身后的中重要推手-stablilyy ai。
这家公司成立于2020年,非常的年轻,去年10月融资1.01亿美元,目前估值高达10亿美元,但是它早期不是一制作产品的公司,而是一家资助AI初创公司的机构,stable diffusion就是因为它的帮助从早期半封闭的研究型项目转变成了现在代码完全公开并且免费的实用工具。这家公司一直没有太多公开信息,它的创始人Mostaque也 有种少林寺扫地僧的感觉,毕业于牛津大学,数学和计算机硕士学位,之前是有十多年基金投资的工作经历,后来因为个人对AI 的兴趣创办了这家机构, 资助非盈利的AI研究 组织,早期资助企业的钱几乎都是他自掏腰包,它的初衷就是他希望将ai技术民主化,而不是被巨头垄断成果,为那些真正有才华的开发者利用技术自由创作,所以相比于现在喊着open但是代码不公开的openai,stablility ai是真的做到了开放的大格局,
去年8月它推出了第一个产品就是免费、开源的 Stable Diffusion 模型。这个模型它经过了大量的训练,根据文字就可以在几秒钟内生成高分辨率的图像,在普通配置的电脑上就可以运行,更重要的一点是,任何人都可以对代码进行二次改造,各路大神就在这个基础上开发了很多新功能训练了新的模型,使得stablediffusion在不到半年时间里快速发展。从一开始需要写代码执行命令,到现在有了ui操作界面,还有各种插件,模型可以容易安装使用,比如我后面用到的deforum就是基于stable diffusion开发的,可以文字直接生成动画。
总结来说,Stable Diffusion出图效果好,功能多,任何人都可以免费使用,这么好的事当然就会获得关注了,当然ai创作还是有很多争议,但是我们今天不去讨论伦理的问题,只是关注这个工具本身。
那么stable diffusion是怎么从文字就可以生成图片的呢?简单来说类似于一个修复文物的过程,比如一个壁画,被尘土掩埋完全看不出原来样子,但是有一些历史记载或者其他方法估算它的基本信息,那么考古学家就根据这些信息去清除泥土,还原这个文物本身。类比来说,考古学家就是ai,尘土就是噪音,ai就要根据已知信息一层一层地去除掉噪音,但是去除噪音用什么方法,去掉多少,重复多少次这些都还是有讲究的,也就是后面具体要调的一些参数,到具体操作我会更详细说明。
正因为stable diffusion是开源代码,不断有功能在扩展,所以新手刚接触的时候会觉安装也麻烦,参数又多,不知道该怎么下手,就好像摄影这件事,专业人士拿单反调参数排除很惊艳的作品,而手机就帮我们把参数设置好了,小白就可以一键出图。类比来看,midjourney就就像手机容易上手,效果不错,但是可控性比较差,stable diffusion就像单反,功能强大但是上手门槛稍微高一些。
不过Stability AI 也有一个在线的工具网站,叫 DreamStudio Lite,不需要安装,直接就可以使用 Stable Diffusion 模型。不过功能也比较简单,大家可以体验使用一下,这次我还是主要来说stable diffusion 。
首先来说安装,为什么很多人觉得stable安装很麻烦,因为我们习惯的app是程序员打包好的,所以一键下载直接就可以在不同的电脑环境上运行,但是stable diffusion是一个散装的代码集合,需要在特定环境里才能运行。
打个比方,我们习惯的一键下载的app就像你买的三明治,已经加了各种食材,拿在手上直接开吃;那没有stable diffusion这种没有打包的散装代码就好像你要自己做三明治,首先要准备锅碗瓢盆,然后把各种食材弄熟,最后一层层的叠加,撒上你喜欢的调料做成成品才可以吃。对应这个比喻,stable diffusion的安装过程就是3步:1)部署环境就是前期准备,2)安装stable基础代码就是把食材弄熟组装起来,3)最后在这个基础上再安装各种模型,就是根据你的喜好去加调料。
你可以选择把代码安装在本地,好处就是完全免费,可以随时随地出图,但是如果是电脑配置不高,有些高清的图片效果就实现不了,而且也比较占存储空间;另一个方法就是把代码安装到云端服务器上也就是用google colab,这样不占你的电脑而且还能跑出很好的效果,之后也可以训练模型,但缺点就是免费的云不稳定,一天可以用的时间有效,所以最好是付费。那安装在哪里就大家根据自己需求选择啦。
因为我是intel芯片的mac,所以我就简单的说下适合mac的安装方法,windows的朋友可以去看其他教程,不过思路还是一样。那mac很简单,推荐大家先安装homebrew这个工具,这是一个管理软件的神器,你只要输入简单的指令,它就会帮你快速安装,清理和管理软件,还会帮你检查安装错误,教你怎么修改。不过要注意全程联网。
这里有个英文版教程。https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/5461
大家在电脑应用里找到“终端”,打开就可以给你的电脑输入指令啦。这些命令我都放在下面了,大家看不懂没关系,知道是做什么的,复制粘贴就好。如果后面安装过程中出现问题,大家可以输入brew doctor指令,让homebrew帮你检查系统存在的问题,再不行就去谷歌出错的地方,一般来说你出现的问题,前人都踩过坑,应该都可以解决。
-简单说下本地安装的流程 ### 1)安装Homebrew工具:
命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
### 2)部署环境:安装python和git等工具
-Python-- Stable Diffusion的执行环境,必须要安装,这里我们安装适合stable difusion比较稳定的3.10版本:
命令:brew install cmake protobuf rust python@3.10 git wget
-安装git -- 管理代码的工具
命令: brew install git
### 3)安装基础模型:Stable-Difussion-WebUI
这是一位大神写的带有UI操作界面的代码集合。一般大家都是下载的就是这个
命令: git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
等它下载好了之后,输入运行指令
命令:cd stable-diffusion-webui
等电脑回应后再输入
命令:./webui.sh
它就会自动安装项目了,大概需要1小时
等窗口告知: Running on local URL: http://127.0.0.1:7860
往浏览器输入这个地址就可以使用了
### 4)安装其他模型:
上一步只是安装了基础的官方模型,想要做出我们在网上看到的各种效果的小姐姐,我们还可以安装其他的一些模型。这个你要自己去模型网站下载模型,hugging face和civitai这2个网站上有很多模型,大家可以自行探索。
选择什么模型要看你的需求。如果你主要是动漫人物,那么stable diffusion官方那种偏写实就不太适合,你就可以用lora或者anything这些模型,所以选择合适的模型是很重要的。
1)下载:到hugging face和civitai 网站寻找模型,这些模型点击files verson就会看到下载版本。点击就可以下载了。不过要注意有时它会结合多种模型,比如底层模型用的stable 1.5,上层模型用的lora,那么你想要达到同样的效果就尽量也这样使用。
网址如下:
https://civitai.com
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
2)安装:下载的不同模型要放到不同文件夹下才算安装成功,比如Stable Diffusion的模型是放在模型下的Stable-diffusion-webui>Models>Stable-diffusion文件夹下
LoRA模型要放在Lora文件夹下,其他类似的道理。
说完了本地,我们再来说云端怎么安装,云端更简单,而且运行速度更快。这里要用到谷歌colab,一个在云端运行的编程环境,只要你有浏览器就可以执行代码,不需要本地环境配置,不过缺点前面也说了,免费版不稳定,会有时候自己断掉,而且当你关掉浏览器,之前所有的操作就都清空,下一次又要重新操作。所以更推荐的方法是把colab复制安装到谷歌云端硬盘上,这样你的代码和模型就保存在云端,下次可以快速打开了,不过云端空间有限,要记得清理。
colab上运行的代码格式叫笔记本,你可以自己编写笔记本 ,也可以用别人编写好的,这里我用的github上大神直接写好的笔记本,[stable-diffusion-webui-colab](https://github.com/camenduru/stable-diffusion-webui-colab)
这里有包含了各种各样的模型和扩展,非常方便。
你可以挑选想要的包含不同模型的笔记本,点进去看效果,那我之前比较常用的是这个官方模型,比较通用型,这次我换个dreamlike模型体验一下,这里有三个版本:最简洁,最稳定,最新的,我选择了这个稳定版本。把它复制到谷歌硬盘里,这里保证他使用的是gpu处理图像,然后点击”小三角“符号执行代码就可以了。之后你就能在这里看到安装好的文件夹了。和我们本地安装的文件夹是一样的,不同模型也是放在不同文件夹里。
一般10分钟就装好了,这4个网页,一般会用gradio相对稳定一些。
(因为云端跑网络不稳定,有时候自动断掉,再重启又要等十分钟,这里有2行代码,当它中断的时候可以直接使用下面的命令快速启动, 见参考文章代码 https://atlassc.net/2023/02/18/stable-diffusion-webui-colab-guide-for-beginners))
说完了安装,可以开始使用了。如果大家看英文比较头大,可以安装中文插件,點選Extension → Available的`Load from:`,下面会列出可以下载安装的扩展,找到简体中文下载,然后setting里面找到user interface用户接口拉到最下面有语言选择,刷新一下就会看到你安装的中文了,记得安装玩扩展后都要点击Apply and restart WebU重新进入网页才会生效。那我是习惯用英文,其实用熟悉了也就知道了。
或者安装这个双语插件:https://github.com/journey-ad/sd-webui-bilingual-localization
(类似的,其他的扩展也可以用这个方法安装,不过有些比较新的扩展这里没有加载进来,需要你点击`Install from URL`粘贴github网址,他就会自动从github克隆过来代码。)
可以看到这个大神的代码包里已经下载了很多常用模型,比如lora,还有我这次要用的做动画的derom,
那首先说一下做动画的原理,其实这些道理我们小时候就知道了,在书的页码角那里画上连续动作的小人,书页翻动起来就小人就跑起来了。因为我们的肉眼看东西会短暂保留残影,所以当多张图片快速运动的时候,肉眼看起来就好像是连续的
那用ai工具做动画是一个道理,只不过ai会根据你输入的关键字生成图像,免去了我们手动画图的过程,然后它再把这些图连接起来,就形成了动画,但是ai还是没办法做到完全衔接自然,所以后期还需要专业人员去处理,让图像之间更平滑的过渡,
一般来看1秒钟里放24张图,就能骗过眼睛觉得它是连续的,这个就是视频每秒帧数24fps,这个帧数越高,表示每秒图片越多,当然视频会自然,但是也越耗时间了。
比如说我要做个10s的动画,每秒24帧图,那么算下来就要240张图,普通性能的电脑假如ai处理一张图20秒,算下来生成整个视频就要80分钟左右,所以后面我做的时候不需要它太惊喜,就会降低这个帧数,一般12-15fps就可以了。
说完了原理,就来说我具体怎么做的啦。首先因为做视频有很多帧,如果参数没调好测试一次就要花很长时间生成,所以我们先从视频里截取几张图片来测试下效果,这个在图生图的工具下面,上传你的原图,输入正向关键词,和反向关键词,反向关键词就是你不想要什么,这个一般都是通用的,比如我不想要奇形怪状的手,缺胳膊少腿,我不是画涩图,所以我不要暴露之类,然后调整参数。
这里简单介绍下这几个参数。前面我说过,diffusion出图就是个修复化石去除泥土的过程,这个过程专业来说就是去噪,但是除掉噪音的方法有很多种,这个就是采样方法,它们各有优劣,去噪速度各有快慢,而且配合不同模型会有不同效果,大家感兴趣可以保持其他参数不变,逐个去尝试下,再就是你在civil上看到喜欢的图,有些会列出来他用的是哪种采样方法,你直接套用。
再一个就重复多少次去躁过程,就是迭代步数,你清除的步数越多当然成品就会越精细,出图也会更慢,这个要配合取样方法参数一起调试。一般是25,我希望它精细一点所以调高了。
这里勾选上修复面容,效果会好一些,这个tilting是拼贴的就是像贴瓷砖一样给你重复展开,画人像一般就不需要。
这个尺寸很好理解就是出图的长宽,由于 Stable Diffusion 在 512×512 图像上做的训练,因此用更大的尺寸可能会出现重复图像,比如2个头3只手,所以尽量保持在512,后期再去改尺寸
batch size是批量出图数量,这里我只是测试单张图,所以都是1,如果我选了2,它就一次出2张图
下一个是cfg Classifier-free guidance,就是没有分类器的指导,从字面上理解外部的指导越少, ai就越自由发挥,所以这个参数一般就是7,数值越低,指导越少就越接近你的原图
denosie strength这个是清除噪音的强度,数值越大就越下狠手清理,出图会越精美,但是也会和你原始的图越偏离,一般就是0.65上下调整
最后就是seed,这个看过midjourney那期内容的朋友应该很熟悉了,它可以控制图像生成的初始方向,默认是随机变化的,但是如果我们想要和特定的出图效果,就要给定一个值。
其他的我这次都没有用,调好参数点击生成,你可以在代码执行的这边看到过程,一般一分钟内就得到了图。其实对比来看,我之前用diffusion 1.4版本比这个dream like 效果要好,因为dream like它的模型自身就带着一股欧美妆容,但是我的脸是亚洲人面向,提示语也是偏中式,所以结合在一起就有点违和。是再次告诉我们要根据需求选择合适的模型,然后配合适当的提示语和参数,最终达到多个因素协调的美感。
当你觉得几张图效果不错,就可以去deforum功能下面去做动画了。这里一打开也会看到很多参数,第一眼会觉得脑袋疼,但根据你的需求,每次只是用到部分。
首先run这页和图生图那里基本保持一致但是还是有点区别,比如说我一开始视频效果就比较弱,就好像在我的原生脸去加了欧美妆容,所以我就调了下参数,让它和原来视频差别更大,增加cfg和去躁强度,
那第二栏这里用到了输入视频的功能,所以选择video input,下面这些前三个参数前面也说到了,噪音强度,cfg和种子,注意这里的种子要选固定,这样每张图都用的同一个seed,就会尽量保持每一帧的连续性
第三栏关键词就是复制粘贴。
第四栏输入这里,你需要指定输入视频的位置,因为我是云端在跑代码,所以要把视频上传到云端上,然后复制地址粘贴过来,你也可以指定图像模板作为参考,也是要上传上去,粘贴到这里,调整这个影响参数。
下面2栏这次不需要,最后到“输出”这一栏,你可以添加音乐,直接输出就有配乐了,fps前面说过了就是每秒帧数,帧数越多,视频质量就越好,一般15就可以。
好的,那现在就生成视频啦,生成视频的时候大家也可以看到代码运行的情况,可以实时去看输出里的图,如果不满意效果,就中断再去调整。
最终生成的视频在个别图像位置还是有瑕疵,所以我们可以把它生成的这些图片打包下载下来,不过google colab本身是不能整个文件夹下载的,所以我们要单独执行一个代码(见参考文章代码 https://atlassc.net/2023/02/18/stable-diffusion-webui-colab-guide-for-beginners)
把这个文件夹里的图片打包放到了谷歌硬盘里,然后下载下来就会看到组成视频的这些图片了。然后把这些图片导入到ae里简单处理下,让它平滑一点。在这个基础上学过动画制作的人可以做更加精细的调整。
除了这个,我也尝试了动作更大的舞蹈视频,比如这个是冰雪奇缘的爱莎风格,还有这个是机器人风格,但是直接生成效果还不够好,需要更多后期处理,不过相信随着ai发展,类似像死亡机器人里这种女妖的舞蹈效果,也可能用ai实现了。
最后比较下midjourney和stable diffusion,如果你的需求比较大众化没有专业设计需求,那么midjourney就够用了,因为stable diffusion需要安装,摸索模型,参数,提示语等等,配合不好出来的效果就奇形怪状,而midjeounry很简单的关键词出来的效果就很精美。stable diffusion的优势就是它免费,而且不管本地还是云端运行,出图速度都很快,不用像midjourney要排队等着出图,而且可以搭载很多辅助工具,比如说制作动画deforum,控制人物骨架的controlnet,局部修改的inpaint,更适合有专业需求的设计者去精确控制出图效果。之后我也会进一步探索。
那这次的视频就说到这里,希望对大家有帮助,我是雪莉,主要关注web3一些商业热点,喜欢就记得持续关注啦。
一些参考文章:
https://atlassc.net/2023/02/18/stable-diffusion-webui-colab-guide-for-beginners
https://zhuanlan.zhihu.com/p/611492852

