Sign In

Basic things you might not know: Do you know SD has VARY function just like Midjourney?

Basic things you might not know: Do you know SD has VARY function just like Midjourney?


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

Those who have used midjourney will know that it has a feature called "Vary." When we find a generated image to be quite good but still feel that something is not quite satisfactory, we can use "Vary (Subtle)" to generate four more images with similar compositions for further selection. If we are generally satisfied with the style, lines, and content of the depicted subject but not happy with the composition, we can utilize "Vary (Strong)" to generate four images with more significant variations, allowing us to choose again.

Sometimes, this can indeed be a very convenient feature. However, are you aware that SD (presumably referring to another software or tool) also possesses this functionality? And perhaps it is even more powerful (albeit more challenging to use)?

Today, I want to talk to you about "variation seed." I guess many people may have never used it before... and this can indeed be attributed to the UI design of A1111.

Meet the Perfect Companion of Seed -- Variant Seed

Let's start by getting acquainted with variant seed. When you check the "Extra" checkbox next to the seed option, you will see a new set of parameter controllers, actually two sets. The first set is the variation seed and variation strength, while the second set is the resize seed from width/height.

These two sets serve completely different purposes, so let's put the resize seed aside for now and focus on the variation group. It consists of a random seed (default is -1) and variation strength (default is 0).

By the way, I guess it's the default value of 0 that made many people think that variation seed is a useless feature. When the strength is set to 0, no matter how you randomize the variation seed, it has no effect whatsoever! If you observe closely, you'll notice that it doesn't even appear in the PNG info of the image.

Let's understand these two parameters through a plot.

We have a very illustrative metaphor used by members of our discussion group: the seed is like rolling a dice, and the variation seed is like rolling a smaller dice after the first one. I believe this analogy can help deepen your understanding of the variation seed.

Yes, it's very similar to the Vary feature we mentioned at the beginning from Midjourney! When the var.strength is low, it tends to generate images with minor variations from the original. But as you increase the value, it introduces more significant changes to the original image!

Achieving a Vary-Like Functionality with Batch

It's worth noting that when you use batch processing, if the variation seed is not enabled, each image in the batch will have its seed incremented by 1.

However, when the variation seed is enabled, the seed remains the same while the variation seed increments by 1. Therefore, we can achieve a similar effect to Midjourney's Vary functionality by controlling the strength of var.strength!

Practical Applications

The practical utility of variation seed is similar to that of Midjourney. It is particularly useful for fine-tuning generated images in batch processing or for making redraws without changing the main subject. For example, you can use it to generate similar images and attempt to correct the hand pose. However, I don't highly recommend using high strength values because the changes become less controllable. It seems that the effectiveness of negative words or embeddings related to negative concepts is diminished during the process of injecting noise based on the original seed. It appears to be more error-prone compared to using just the seed. Nevertheless, in low-strength scenarios, these negative effects are not as pronounced, making it relatively usable.

What about the Resize Group?

The resize group has a practicality close to zero. Its original design purpose was to maintain the content of an image when working with different aspect ratios (e.g., 1:1, 3:2). Essentially, it means taking noise from the specified "from" width/height and stretching or fitting it into the desired width/height of the canvas you're working on. The intention was to keep the content of the artwork unchanged when scaling up or down or changing the aspect ratio. However, in practice, the effect is merely a psychological comfort, and it's not something you need to pay much attention to. At least for now, I haven't come across any specific practical applications for it. Of course, if you have any unique use cases, feel free to share your discoveries with us.

If you're interested, you can refer to this discussion thread for more information.

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

6

Comments