lllyasviel / stable-diffusion-webui-forge

GNU Affero General Public License v3.0
8.49k stars 830 forks source link

[Feature Request]: Integrate --sd-webui-ar-plusplus #586

Open altoiddealer opened 8 months ago

altoiddealer commented 8 months ago

Is there an existing issue for this?

What would your feature do ?

One of the primary elements in image generation is resolution.

Image models are trained on various sized images, but "bucketing" has them trained on 64px increments, which is why ideal image generation resolutions are also in 64px increments.

Most people do not understand this, and do not connect popular aspect ratios to values which are rounded to that precision.

Last week, I found myself wanting an extension that provides ideal image resolutions and found that there are currently none.


My findings:

The Aspect Ratio / Resolution extensions in the current list of Available Extensions https://github.com/xhoxye/sd-webui-ar_xhox - Makes an enormous panel of user configured static resolutions https://github.com/bit9labs/sd-ratio-lock - Lets you select an aspect ratio from a dropdown list and locks the sliders to it. - Rounds to increment of 2px https://github.com/thomasasfk/sd-webui-aspect-ratio-helper - Lets you select an aspect ratio from a dropdown list and locks the sliders to it. - Rounds to increment of 1px - Has an extremely verbose configuration https://github.com/alemelis/sd-webui-ar - Adds a few aspect ratio buttons and static resolution buttons. - Built in 4px rounding precision. - Does not have any toggles. https://github.com/LEv145/--sd-webui-ar-plus - Same as above, but improves upon it with: - Toggle to switch from Width or Height being updated. - A verbose calculator tool that is not particularly helpful

In my opinion: The fork by LEv145 is the best of these, but none of these are satisfactory.

I made an issue in regards to their calculation method and rounding precision, and they were not bothered to do anything about it.

I decided I would fork that project and try to resolve the issues I perceived.

As I was nearing completion, I thought the features of this extension could be useful for everyone. I'm suggesting that you take a look and consider integrating this.

If you are interested, but do not like one feature or another, please let me know.


Default view

1

With Information panel toggled open

2

Proposed workflow

https://github.com/altoiddealer/--sd-webui-ar-plusplus

Additional information

No response

catboxanon commented 8 months ago

Last week, I found myself wanting an extension that provides ideal image resolutions and found that there are currently none.

This extension might suit your needs? It allows for any arbitrary resolution to be provided and it will automatically convert to the best fit. It's only meant for SDXL bucket sizes currently. The readme doesn't mention webui support but I PR'd it in a bit ago. imo, it's the simplest solution to this problem.

https://github.com/marhensa/sdxl-recommended-res-calc https://github.com/marhensa/sdxl-recommended-res-calc/pull/3

altoiddealer commented 8 months ago

This extension might suit your needs? It allows for any arbitrary resolution to be provided and it will automatically convert to the best fit. It's only meant for SDXL bucket sizes currently. The readme doesn't mention webui support but I PR'd it in a bit ago. imo, it's the simplest solution to this problem.

https://github.com/marhensa/sdxl-recommended-res-calc marhensa/sdxl-recommended-res-calc#3

Appreciated - however, I’m sure it is using the exact same math as in this extension since I sourced the equations from StableSwarm. The only difference is that I assume the input value from the average of the current dimensions - from a 1:1 resolution or any relatively correct resolution for the model, it will result in an ideal resolution.

Please, try it out :D

altoiddealer commented 8 months ago

Bonus - figured out how to update all the AR buttons dynamically to match current orientation

Screenshot 2024-03-21 124735