CivArchive
    ← All articles
    Published August 10, 2023by aigarlic

    你可能不知道的基础: 你知道SD也有midjourney的VARY功能么?

    392 views3 reactions0 comments on CivitAI4 collected
    variant seedbasic things you might not knowaigarlictool guide


    If you find our articles informative, please follow me to receive updates. It would be even better if you could also follow our ko-fi, where there are many more articles and tutorials that I believe would be very beneficial for you!

    如果你觉得我们的文章有料,请关注我获得更新通知,

    如果能同时关注我们的 ko-fi 就更好了,

    那里有多得多的文章和教程! 相信能使您获益良多.


    For collaboration and article reprint inquiries, please send an email to [email protected]
    合作和文章转载 请发送邮件至 [email protected]


    by: ash0080

    用过MJ的小伙伴都只能都知道,MJ有一个Vary功能,当我们对生成图觉得还不错,但又总觉得哪里不太满意,我们就用Vary(Subtle) 再生成4张画面构图差不多的再次挑选, 如果对所绘内容风格,线条,内容,大体满意,但对构图不满意,则可以使用Vary(Strong)来再生成4张变化较大的图片重新挑选。

    有时候,这确实是一个相当便利的功能,可是你知道,这个功能SD也有么?甚至更强大(难用?)

    今天,我要给大家讲讲variation seed, 我猜有很多人,可能从没用过它... 这确实应该算是A1111 UI设计的锅

    认识seed的好搭档 -- variant seed 

    先来让我们认识一下variant seed吧, 当你勾选seed旁边的 Extra选项框,就可以看到一组新的参数控制器, 事实上是两组, 第一组是variation seed, variation strength,第二组是 resize seed from width/height.

    这两组是完全不同的功能,所以让我们先把 resize seed 放到旁边, 只看 variation 组, 分别是一个随机种子(默认是-1,和 variation strength, 默认是 0

    插一句,我猜正是这个默认值0让很多人认为variation seed是个无用的功能,因为当strength为0时,不管你怎么随机variation seed,都是不起作用的,没有任何效果!如果你观察仔细,你会发现它根本不出现在图片.jpg info里!

    让我们通过一个plot来了解下这两个参数吧,

    我们讨论群组的成员有一个非常形象的比喻,seed就像掷骰子,variation seed则像是掷完了第一颗大骰子,又抛出一颗小骰子。我想这能很好的帮助大家加深variation seed的印象。

    是的,它跟我们开头提到的midjourney中的Vary功能很像!当var.strength比较小时候,它会倾向于生成与原图变化较小的图,当提高这个值时,它会对原图进行更大的改变!

    通过Batch实现类似Midjourney中的Vary功能

    值得一提的是,当你使用batch时,如果没有开启variation seed,则batch中的每张图,seed自增1

    而开启variation seed时,则seed不变, variation seed自增1,因此,我们就可以通过控制 var. strength的强度, 来实现类似Midjourney中 Vary的效果! 

    实用性

    variation seed的实用之处与Midjourney的类似,它比较适合配合batch对生成图片进行微调, 或不改变主体内容的重绘,比如,你也可以通过它来生成相似的图片来尝试修正手部。而高strength的改变不太可控,我并不是很推荐使用,比如,因为variation seed的原理是在原seed的基础上再插入一批noise,因此负面词或neg类embedding在这次重插的过程中似乎效果被减弱了。它似乎比单纯用seed更容易出现错误。不过, 在低strength的情况下,这些负面影响也没有那么明显,所以比较可用的。

    剩下的Resize组是什么?

    resize组其实实用性接近0,它原初的设计目的是为了让你在不同的画幅 (1:1, 3:2) 上作画时,可以保持画面的内容不变, 因此,它的意思其实非常简单,就是将指定尺寸 from width/ from height 的 noise, 拉伸,放进你要画的 width/height的画幅里去,这个本意是在你放大/缩小,改变画面比例的时候,保持绘画内容不变!但实际的效果,只能算是一种心理安慰罢了,所以可以不必太在意,至少目前我还没有想到它的具体应用价值。当然如果你有什么独到的应用场景,也可以与我们分享你的发现。

    有兴趣可以看看这个讨论帖

    https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/2841