DistanceSampler

A custom experimental sampler based on relative distances. The first few steps are slower and then the sampler accelerates (the end is made with Heun).

The idea is to get a more precise start since this is when most of the work is being done.

Pros:

  • Less body horror / merged fused people
  • Little steps required (4-10, recommanded general use: 7 with beta or AYS)
  • Can sample simple subjects without unconditional prediction (meaning with a CFG scale at 1) with a good quality.

Cons:

  • Slow, which is also a plus. Relax, the image is generating ⛱

Variations:

  • The variation having a "n" in the name stands for "negative" and makes use of the unconditional prediction so to determin the best output. The results may vary depending on your negative prompt. In general it seems to make less mistakes.

  • The "p" variation uses a comparison with each previous step so to enhance the result. In general things become smoother / less messy.

Comparisons

Examples below are using the beta scheduler. The amount of steps has been adjusted to match the duration has this sampler is quite slow, yet requires little amounts of steps.

left: Distance, 7 steps

right: dpmpp2m, 20 steps

combined_side_by_side

Distance, 10 steps:

distance_10_steps

Distance n, 10 steps:

distance_n_10_steps

DPM++SDE (gpu), 14 steps:

dpmppsder_14steps

Disabled Guidance (CFG=1)

CFG scale at 1 on a normal SDXL model (works for simple subjects):

ComfyUI_00645_

ComfyUI_00640_

ComfyUI_00632_

Distance p with a CFG at 1 and 6 steps:

ComfyUI_00695_

ComfyUI_00692_

S
Description
No description provided
Readme Apache-2.0
189 KiB
Languages
Python 100%