Opens in a new tab

Comparing Stable Diffusion Sampler Methods on Faces

What do the different Stable Diffusion sampling methods look like when generating faces? Here are faces generated using the same prompt, but different sampling methods including:

  • klms
  • plms
  • ddim
  • dpm2

  • dpm2 ancestral
  • heun
  • euler
  • euler ancestral

I used the amazing Riku.ai to do these experiments.

I used the same text prompt to generate every image: “curious young man, face”

Text prompt input for Stable Diffusion test in Riku.AI

The purpose of this experiment was not only to jusdge the realism of the faces generated, but mainly to see what effect the specific sampling method had on the output.

I wanted to keep it very broad, but I specified ‘face’ to avoid getting lots of full body shots.

I wanted to judge the interpretation of the prompt as well as the quality so I used the word curious in my prompt to give the image some ‘flavour’.

I chose to generate two images for each diffusion method and they are shown below, without any editing or selection. Its very tempting to hit regenerate to try again when AI gives you a bad image but for this test I decided not to edit the outcome. If a ‘bad’ image was generated I simply used it and moved on to the next model. 2 images for each model.

Here are the results:

KLMS Sampling method

AI face image generated using Stable Diffusion klms sampler
AI face image generated using Stable Diffusion klms
AI face image generated using Stable Diffusion model klms
AI face image generated using Stable Diffusion model klms

Plms sampler

AI face image generated using Stable Diffusion model plms
AI face image generated using Stable Diffusion model plms
AI face image generated using Stable Diffusion model plms
AI face image generated using Stable Diffusion model plms

Ddim sampler

AI face image generated using Stable Diffusion model ddim
AI face image generated using Stable Diffusion model ddim
AI face image generated using Stable Diffusion model ddim
AI face image generated using Stable Diffusion model ddim

Dpm2 sampler

AI face image generated using Stable Diffusion model dpm2
AI face image generated using Stable Diffusion model dpm2
AI face image generated using Stable Diffusion model dpm2
AI face image generated using Stable Diffusion model dpm2


Dpm2 ancestral sampling method

AI face image generated using Stable Diffusion model dpm2 ancestral
AI face image generated using Stable Diffusion model dpm2 ancestral
AI face image generated using Stable Diffusion model dpm2 ancestral
AI face image generated using Stable Diffusion model dpm2 ancestral


Heun sampler method

AI face image generated using Stable Diffusion model heun
AI face image generated using Stable Diffusion model heun
AI face image generated using Stable Diffusion model heun
AI face image generated using Stable Diffusion model heun


Euler sampler

AI face image generated using Stable Diffusion model euler
AI face image generated using Stable Diffusion model euler
AI face image generated using Stable Diffusion model euler
AI face image generated using Stable Diffusion model euler


Euler ancestral sampler

AI face image generated using Stable Diffusion model euler ancestral
AI face image generated using Stable Diffusion model euler ancestral
AI face image generated using Stable Diffusion model euler ancestral
AI face image generated using Stable Diffusion model euler ancestral

Takeaways

  1. Comparing the stable diffusion sampling methods used above, although the KLMS images do seem to be a noticeable notch above the rest in terms of realism and quality, with only 2 samples that could still be a coincidence but I don’t think so. I can’t say that there is much of a difference between most of the rest of the sampling algorithms. If there is, I have too few images here to be able to judge. I may do a bigger test with more images from each sampler but Im not sure if it’s the best use of time right now.
  2. The faces are overwhlemingly white and almost almost are without specifying an ethnicity. While using the recent MidJourney realistic beta generator I noticed that without specifying, generating a person tends to result in a face with asian features which would be more likely to happen if you picked someone at random out of the entire population of earth.