Beginner's Guide to Stable Diffusion Steps Parameter

We explore role of steps in Stable Diffusion image generation and how to effectively use it for better results.

Beginner's Guide to Stable Diffusion Steps Parameter

Generative models have witnessed remarkable advancements over the past few years, enabling users to create highly creative and realistic art. From DALL-E, Midjourney to Stable Diffusion each day there are variations of diffusion models out there in the market trying to improve upon the work of the previous model that has been released.

Stable Diffusion and its variants have been at the forefront of open-source image generation and its model has gained widespread popularity. While various parameters affect the image generation process, however, the most important aspect which is looked for is the quality of the image generated which is primarily controlled by the “number of steps” parameter.

Diffusion models are an iterative process that starts with random input noise that is generated for a random input text. This cycle continues until the number of steps is given as input earlier, where the noise generated is refined and cleaned resulting in a higher-quality image.  While in previous blog posts, we got to deep dive into the architecture and best settings, in this blog post, we will understand the role of the "number of steps" parameter and how it can be optimized to produce a better-quality image.

Role of the steps parameter:

The  “number of steps” parameter plays a pivotal role in dictating the iteration count during the image generation process. An iteration in this context refers to the generation of random noise based on the text input to create an image. As the process takes place, each step progressively diminishes the presence of noise. Notably, as the steps increase there is an enhancement in the quality of images generated.

The selection of an optimal number of steps is important in achieving the desired output. While too few steps may result in images of less quality with more noise, an excessive number can lead to a prolonged image generation process without any significant changes or visual clarity.

Once the pre-determined number of steps has been generated the iteration process stops and the final image is a result of the iterative refinement cycle.

http://jalammar.github.io/illustrated-stable-diffusion/
The process of addition of noise and removal of it leads to image generation

Problems with a higher number of steps:

While the inclination might be to opt for a higher number of steps under the assumption that it would inherently result in more detailed and superior-quality images, However, that isn’t true. there are a few factors that one needs to consider before proceeding to set the value for the “number of steps” parameter

  • A higher number of steps leads to a long generation time
  • After reaching a certain point, the incremental addition of steps does not necessarily contribute to a proportional increase in image detail or quality. In fact, beyond this threshold, the surplus steps might lead to a diminishing return and potentially degrade the image quality.

It is also important to note the fact that few samplers achieve high-quality images in fewer steps. Therefore, the choice of sampler can also play a significant role.

How to effectively use steps parameter:

  • Find the purpose of image generation

The primary objective dictates the choice of parameters in the image generation process. If the goal is to produce a clear and highly detailed image, opting for larger values of the steps parameter is advisable. If the aim is to create a smaller, image with fewer details then choosing smaller values is advisable.

  • Desired level of details

The intricacy of details desired in the generated image is a crucial factor influencing the parameter choices. Large values of the steps parameter are well-suited for scenarios where intricate details are a priority. This extended iterative process enables the model to capture and refine finer nuances, resulting in a visually rich output.

  • Understand time constraint

Acknowledging the time constraint is pivotal for optimizing the image generation process. Smaller values for the step parameters result in quick image generation. This approach is beneficial in scenarios where time is a limiting factor. Balancing the desired image quality with the available time resources is an effective approach to the process.

Optimizing the steps parameter:

Since the number of steps has a direct relationship to the processing time for image generation, it is important to minimize them while still getting the output image quality and detail you want. Here are a few basic tricks that can be used

  • Gradual step increment

Initializing the process with a conservative number of steps is not the most efficient approach. Start with a lower count such as 15 or 20, this provides you an initial glimpse into the image composition. This serves as a check too, allowing you to assess the alignment between the image generated and the prompt. Once this gives a satisfactory result, incrementally increase the step count. This gradual progression ensures that the additional steps serve a purpose focusing on refining finer details.

  • Guidance Scale Adjustment

This setting controls how closely the image generated has followed the text prompt, It's common for users to assume that amplifying this scale offers greater control over the generation process. experiment with lower Guidance Scale values to strike a balance regarding the alignment of the prompt to the image.

  • Experiment with various samplers

The choice of sampler plays a pivotal role in influencing the generative outcome. Notably, different samplers exhibit distinct behaviors and efficiencies at various steps in the iteration process. For instance, samplers like UniPC showcase remarkable proficiency with a minimal number of steps. Conversely, samplers like DDPM may require a higher step count to produce undistorted, high-quality images.

Let us take a few example scenarios where we get to explore how the steps parameter affects the image generation process

Prompt: In Enchanted Library, a mysterious girl with flowing hair, reading an ancient tome, surrounded by floating books, illuminating runes, and curious magical creatures, depicted in Anime style, with soft, radiant glow, intricately patterned magical symbols, and the girl's expressive eyes capturing a sense of wonder.
Prompt : Seaside Town, clay boats bobbing on the gentle waves, fisherfolk mending nets, seagulls overhead , painting by casper david friedrich
Prompt : Flamenco dancer in mid-twirl, vivid reds, and blacks of her attire, passion captured in her posture, warm oranges, and yellows of stage lights, intense and dynamic, movement captured in swirling colors.

Through these examples, we get to see the impact of the steps parameter. As we increment the number of steps, there is an enhancement in details within the generated images which leads to improved visual quality. However, a crucial observation surfaces beyond a certain threshold of steps. Once we reach this point, the benefits in terms of image quality become less pronounced, while the generation time noticeably escalates.

Thus by navigating a delicate balance between precision, detail, and time constraints, users can achieve the desired outcome.