从效果看Stable Diffusion中的采样方法

从效果看Stable Diffusion中的采样方法
2023年03月08日 22:26 什么值得买

作者:AnyInk

Stable Diffusion中提供了19种采样方法(Sampler)可以选择,Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS这19种采样方法看着名字就觉得比较头晕,当然他们背后都是有科学的解释,但是想要都搞明白原理并不是很切合实际。还不如直接看看实际效果来感受一下,然后选觉得最合适的来用就好了。

下面分别是使用了chilloutmix_Ni,anything-v4.5-pruned,dreamshaper_33,protogenV22Anime_22,artErosAerosATribute_aerosNovae,cheeseDaddys_35这几个模型下分别用10、20和30三个采样迭代步数(Steps)生成的图片,每个采样方法都有例子。其中还是可以看出一些采样方法的特点。另外生成的图片都有经过脸部修复处理(restore faces)。

Chilloutmix

Chilloutmix是一个比较火的写实风的模型,大概大部分网图都是在这个模型上来的。

  1. Euler a:10步开始成型,但20步时的五官还是有瑕疵,30步就没什么问题了。

  2. Euler:10步开始已经不错,但五官有问题,20步已经没什么问题,往后看不出变化。

  3. LMS:到30步还是十分抽象,色块较多。

  4. Heun:10步开始成型,五官有瑕疵,20步效果没问题,30步主体细节上有变化。

  5. DPM2:10步开始成型,五官有瑕疵,20步效果没问题,30步背景细节上有变化。

  6. DPM2 a:都比较抽象,而且整体变化很大。

  7. DPM++ 2S a:10步开始成型,20步和30步效果都不错,而且画面变化幅度不少。颜色饱和度较低。

  8. DPM++ 2M:10步的色块还是挺严重,20步基本成型,30步的细节有了进一步的提高。

  9. DPM++ SDE:10步开始定型,20步成型,30步背景变化和主体细节增加。

  10. DPM fast:抽象派大师

  11. DPM adaptive:10步已经做好了,后面变化十分微小。

  12. LMS Karras:到30步还是有点挣扎。

  13. DPM2 Karras:10步还是有点抽象,20步成型,30步的主体细节又有了变化。

  14. DPM2 a Karras:10步还是很抽象,20步继续走样,30步成型但脸部还是有点崩。

  15. DPM++ 2S a Karras:10步的脸和颜色都不对,20步开始成型,30步细节上又有了变化,整体颜色饱和度低

  16. DPM++ 2M Karras:10步还是有点破碎,20步基本成型,30步在背景细节上有变化。

  17. DPM++ SDE Karras:10步虽然颜色不对,但除了脸都挺成熟了,20步成型,30步细节进一步加强。

  18. DDIM:10步成型,20步仍有微瑕,30步成熟。

  19. PLMS:一个逐步迈向现实的抽象派大师。

以上是一个写实模型搭配写实的提示词所产生的图,30步基本都成型的采样办法对写实风来说效果都挺不错。其中DPM adpative最快成型,但后面就缺乏变化,感觉适合快速试验提示词组合,其他20步成型的梯队中带DPM字样的和Euler和Heun基本都不错,不过带DPM2字样的就要去到30步了。到了30步效果不错的都不少,选那个还真的难从这个结果里面选择。至于那些抽象派大师,大概是不适合写实风吧。

生成参数:

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,photorealistic,masterpiece,highres,8k,character concept,depth of field,perfect pupils,perfect smiles,blurry background,heart shape face, outdoors,,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 7234b76e42, Model: chilloutmix_Ni, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

另外有留意的其实可以发现这个提示词里面有错字,但貌似Stable Diffusion里面的容错还是不错啊。

Anything-v4.5

尝试过写实风的Chilloutmix后就想看看采样办法对动画风的模型有什么效果,然后就换上了Anything 4.5这个动漫风的模型,但是提示词也相应删除了部分写实风的。

  1. Euler a:10步开始成型,但20步时的五官还是有瑕疵,30步就没什么问题了,而细节也有一定的改变。

  2. Euler:10步开始成型,20步有细节改变,30步基本同20步。

  3. LMS:到30步还是十分抽象,色块较多。

  4. Heun:10步开始成型,20步有细节改变,30步基本同20步。

  5. DPM2:10步开始成型,但有瑕疵,20步成型,30步主体细节上有变化。

  6. DPM2 a:10步有点惊吓,20步除了脸都好了,30步成型细节更多。

  7. DPM++ 2S a:10步开始成型,20步和30步效果都不错,而且画面变化幅度不少。

  8. DPM++ 2M:10步的色块还是挺严重,20步基本成型,30步的细节又有较大的变化。

  9. DPM++ SDE:10步开始定型,20步成型,30步背景变化和主体细节增加。

  10. DPM fast:抽象派大师

  11. DPM adaptive:10步已经做好了,后面变化十分微小。

  12. LMS Karras:10步有点惊吓,20步成型,30步变化看不见。

  13. DPM2 Karras:10步还是有点抽象,20步成型,30步的主体细节又有了变化。

  14. DPM2 a Karras:10步还是很抽象,20步继续走样,30步成型画面跟前面联系不大。

  15. DPM++ 2S a Karras:10步已经成型,20步细节进化,30步细节上又有了变化。

  16. DPM++ 2M Karras:10步还是有点缝合,20步成型,30步有微小细节变化。

  17. DPM++ SDE Karras:10步除了脸都挺成熟了,20步成型,30步细节进一步加强。

  18. DDIM:10步成型,20步的变化不小,30步细节又有了改变。

  19. PLMS:一个逐步迈向现实的抽象派大师。

换成漫画风之后DPM adaptive依旧最速,euler和heun继续是十分接近,其他的相比写实风还是有了一定加速。细节效果变化上也是挺特别。抽象派的大概还是想保持抽象30步依然故我。

生成参数

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,masterpiece,highres,8k,character concept,depth of field,perfect pupils,perfect smiles,blurry background,heart shape face, outdoors,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 6e430eb514, Model: anything-v4.5-pruned, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

dreamshaper_33

Dreamshaper_33也是一个动漫风的模型,这次在去除写实风的提示词之外,还增加了动漫风提示词(anime)。整体效果就更加动漫了,不过大部分的采样方法的变化跟前面的不大,反而是那些抽象派大师的画作在保持抽象风格的同时变得更加实体化,看来模型、提示词和采样方法的搭配是密不可分的。

生成参数

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,masterpiece,highres,8k,character concept,depth of field,anime,blurry background,heart shape face, outdoors,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 08acb74861, Model: dreamshaper_33, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

PhotogenV22anime

这里使用另外一下不同动漫风的模型,那一批抽象派大师又开始抽风,印证了模型和采样方式搭配需要尝试后再搭配,就是这样比较花时间。

生成参数

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,masterpiece,highres,8k,character concept,depth of field,anime,blurry background,heart shape face, outdoors,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 1254103966, Model: protogenV22Anime_22, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

artErosAeroATribute

还是用一个动漫风的模型,这会部分抽象派大师就变得比较具象了但又不都是有这个趋向,所以还是离不开搭配,尝试找到自己喜欢的画风其实也不容易啊。

生成参数

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,masterpiece,highres,8k,character concept,depth of field,anime,blurry background,heart shape face, outdoors,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 70346f7a1e, Model: artErosAerosATribute_aerosNovae, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

cheeseDaddys_35

最后使用的还是一个动漫风的模型,抽象派大师们又再次显现出具象化的趋向,其他倒是保持挺一致的,其中DPM adaptive和DDIM两个比较突出,前者是快速成型,后者成型虽然略逊前者,但是再迭代上的变化丰富得多。

生成参数

coral full dress,((collagreen botton shirt)),(upper body),bob cut hair,1gir,tall,skinny,masterpiece,highres,8k,character concept,depth of field,anime,blurry background,heart shape face, outdoors,side light, morning,high heel,detailed clothing,ultra details,earring

Negative prompt: (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples

Steps: 10, Sampler: Euler a, CFG scale: 9, Seed: 2099585751, Face restoration: CodeFormer, Size: 512x512, Model hash: 98084dd1db, Model: cheeseDaddys_35, Script: X/Y/Z plot, X Type: Steps, X Values: “10,20,30”, Y Type: Sampler, Y Values: “Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS”

后记

其实这些都是个人的主观感受,所以其实并不能很好说明采样办法的差别,但是还是能看出一定的规律,例如想快速生成选DPM apadtive,想要迭代间变化较多选DDIM,真实画风的话Euler和Euler a在迭代细节上有细微变化,DPM++ SDE Karras在迭代下好像细节更丰富。不过这些在30步采样迭代下观察可能还是会存在不足,只有花时间继续鼓捣了。

不过想要花更少的时间还是有办法的,只不过需要花钱,那就是买最好的显卡4090,更甚者可以买Tesla计算卡。 

 同时要记得电源也要跟上,毕竟4090无论在性能、价钱、能耗和电源要求上都是高人一等的。 

 当然,要性价比的还是可以选择3060,不过就是运算时间就比较长了,而且3060也是建议12g显存的版本。 

 当然,矿卡也是个性价比选择,就是要选靠谱的,还有就是显存多多益善。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部