File size: 4,730 Bytes
c41a1a5
5483d92
c41a1a5
5483d92
 
 
 
c41a1a5
 
83223b4
41df1ff
83223b4
5483d92
41df1ff
cc08afa
 
45b4580
2b2e5cf
 
cc08afa
 
2b2e5cf
 
f646984
 
2b2e5cf
 
22e458d
 
83223b4
32b7024
83223b4
 
cc08afa
83223b4
 
 
 
9fdbbd4
83223b4
cc08afa
 
 
 
 
 
 
83223b4
 
cc08afa
83223b4
cc08afa
 
 
83223b4
 
 
 
cc08afa
83223b4
076e48d
83223b4
f82c848
927d798
83223b4
2b88ee9
060acf3
98520ab
 
060acf3
 
 
 
5483d92
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
title: Boring_Embeddings
tags:
- textual inversion embeddings
- image-generation
- stable diffusion
- AI Art
license: apache-2.0
---

# Boring Embeddings Quick Start

These Stable Diffusion embeddings capture what it means for an image to be uninteresting.  
This is useful because it allows you to instruct your model NOT to produce images that look uninteresting.  
If you're using the [Automatic1111 Stable Diffusion WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui),  
just download one of the pt files into your stable-diffusion-webui\embeddings directory and use  
the embedding's name in your NEGATIVE prompt for more interesting outputs.  
<table>
  <tr>
    <td style="text-align: center;"><div style="text-align: center;"><img src="boring_folder.png" alt="Download a .pt file to stable-diffusion-webui\embeddings" style="max-height: 220px; display: inline-block;"></div></td>
    <td style="text-align: center;"><div style="text-align: center;"><img src="boring_automatic1111_interface.png" alt="Type the embedding's name (without the .pt extension) in your negative prompt" style="max-height: 220px; display: inline-block;"></div></td>
  </tr>
  <tr>
    <td style="text-align: center;"><strong style="font-size: larger;">Download a .pt file to stable-diffusion-webui\embeddings</strong></td>
    <td style="text-align: center;"><strong style="font-size: larger;">Type the embedding's name (without the .pt extension) in your negative prompt</strong></td>
  </tr>
</table>
<br>



## Model Description

The motivation for Boring Embeddings is that negative embeddings like [Bad Prompt](https://huggingface.co./datasets/Nerfgun3/bad_prompt), 
whose training is described [here](https://www.reddit.com/r/StableDiffusion/comments/yy2i5a/i_created_a_negative_embedding_textual_inversion/) 
depend on manually curated lists of tags describing features people do not want their images to have, such as "deformed hands".  Some problems with this approach are:
* Manually compiled lists will inevitably be incomplete. 
* Models might not always understand the tags well due to a dearth of training images labeled with these tags.
* It can only capture named concepts.  If there exist unnamed yet visually unappealing concepts that just make an image look wrong, but for reasons that cannot be succinctly explained, they will not be captured by a list of tags.

To address these problems, we employ textual inversion on a set of images automatically extracted from popular art sites  
such as e621.net, derpibooru.org, and danbooru.donmai.us.  Each of these sites is a rich resource of millions of  
hand-labeled artworks which allow users to express their approval of an artwork by either up-voting it or marking it as a favorite.  
The Boring embeddings were specifically trained on artworks automatically selected from these sites according to the criteria 
that no user has ever favorited them, and they have 0 or only a very small number of up or down votes.  The Boring embeddings 
thus learned to produce uninteresting low-quality images, so when they are used in the negative prompt of a stable diffusion image generator,  
the model avoids making mistakes that would make the generation more boring.
<br>


# Bias, Risks, and Limitations
* Using these negative embeddings sacrifices some fidelity to the prompt in exchange for improved overall quality.  For example, characters in the image may disappear or change eye/skin color.
* Using these negative embeddings may introduce unexpected or undesired content into the image to make it look less boring.  
* Unlike other negative embeddings, the Boring embeddings are not intended to fix problems like extra limbs or deformed hands.  They can be used alongside other negative embeddings to fix deformities.
<br>

# Evaluation

To qualitatively evaluate how well the Boring embeddings have learned to improve image quality, we apply them to simple sample prompts using the base Stable Diffusion 1.5 model.

![boring_e621 and boring_e621_v4 Performance on Simple Prompts](tmpoqs1d_vv.png)

As we can see, putting these embeddings in the negative prompt yields a more delicious burger, a more vibrant and detailed landscape, a prettier pharoah, and a more 3-d-looking aquarium.
<br>

## Other Models

Boring_e621 has been reported to work well with SD 1.4 or 1.5 models such as:
* https://civitai.com/models/18208?modelVersionId=68551
* https://civitai.com/models/12979/lawlass-yiffymix-20-furry-model
* https://civitai.com/models/4698/lawlass-yiff-mix
* https://civitai.com/models/15503/kavka-mix
* https://civitai.com/models/17649/bb95-furry-mix
* https://huggingface.co./Doubleyobro/yiffy-e18 .  This was the fine-tuned model used to train boring_e621.