From db52991b9d987ac1e5111beab1629753d6aaf12f Mon Sep 17 00:00:00 2001 From: Peter Baylies Date: Sat, 10 Sep 2022 08:10:58 -0400 Subject: [PATCH] Update README.md Add descriptions for truncation and perlin noise, and link to a graphic. --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 8aa98d5b8b..68f1f6ed0a 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,18 @@ cat aspect of the image and 75% on the white duck aspect use any combination of integers and floating point numbers, and they do not need to add up to 1. +## Thresholding and Perlin Noise Initialization Options + +Two new options are the thresholding (`--threshold`) and the perlin noise initialization (`--perlin`) options. Thresholding limits the range of the latent values during optimization, which helps combat oversaturation with higher CFG scale values. Perlin noise initialization starts with a percentage (a value ranging from 0 to 1) of perlin noise mixed into the initial noise. Both features allow for more variations and options in the course of generating images. + +For better intuition into what these options do in practice, [here is a graphic demonstrating them both](static/truncation_comparison.jpg) in use. Perlin noise at initialization is varied going across by 0.0, 0.1, 0.2, 0.4, 0.5, 0.6,, 0.8, 0.9, 1.0; and the threshold is varied going down from 0, 1, 2, 3, 4, 5, 10, 20, 100. The other options are fixed, so the initial prompt is as follows: + +``` + a portrait of a beautiful young lady -S 1950357039 -s 100 -C 20 -A k_euler_a --threshold 0 --perlin 0 +``` + +Note: currently the thresholding feature is only implemented for the k-diffusion style samplers, and empirically appears to work best with `k_euler_a` and `k_dpm_2_a`. Using 0 disables thresholding. Using 0 for perlin noise disables using perlin noise for initialization. Finally, using 1 for perlin noise uses only perlin noise for initialization. + ## Personalizing Text-to-Image Generation You may personalize the generated images to provide your own styles or objects by training a new LDM checkpoint