Overview:
The Loopback Scaler is an Automatic1111 Python script that enhances image resolution and quality using an iterative process. The code takes an input image and performs a series of image processing steps, including denoising, resizing, and applying various filters. The algorithm loops through these steps multiple times, with user-defined parameters controlling how the image evolves at each iteration. The result is an improved image, often with more detail, better color balance, and fewer artifacts than the original.
Note: This is a script that is only available on the Automatic1111 img2img tab.
Key features:
Iterative enhancement: The script processes the input image in several loops, with each loop increasing the resolution and refining the image quality. The image result from one loop is then inserted as the input image for the next loop which continually builds on what has been created.
Denoise Change: The denoising strength can be adjusted for each loop, allowing users to strike a balance between preserving details and reducing artifacts.
Adaptive change: The script adjusts the amount of resolution increase per loop based on the average intensity of the input image. This helps to produce more natural-looking results.
Image filters: Users can apply various PIL Image Filters to the final image, including detail enhancement, blur, smooth, and contour filters.
Image adjustments: The script provides sliders to fine-tune the sharpness, brightness, color, and contrast of the final image.
Recommended settings for img2img processing are provided in the script, including resize mode, sampling method, width/height, CFG scale, denoising strength, and seed.
Please note that the performance of the Loopback Scaler depends on the gpu, input image, and user-defined parameters. Experimenting with different settings can help you achieve the desired results.
Tips, Tricks, and Advice:
Do NOT expect to recreate images with prompts using this method.
You can start from txt2img with a prompt. Generate your image and then send it over to img2img. When creating images for this process, shoot for lower resolution images (512x768, 340x512, etc)
ALWAYS have a prompt in your img2img tab when doing this process, unless you are interested in creating choas :D. Your results will usually be poor, but you CAN put a different prompt in img2img than what you created the source image with. Pretty interesting results come from this method.
When using models that require VAE keep the # of loops lower than normal because it will cause the image to fade each iteration. Luckily you can add Color and Sharpness back in with the PIL enhancements if you need.
Don't set your maximum Width/Height higher than what you can normally generate. This script is not an upscaler model and isn't intended to make giant images. It is intended to give you detailed quality images that you can send to an upscaler.
Once installed there is an Info panel at the bottom of the script interface to help you understand the settings and what they do.
Manual Installation:
Unzip the
loopback_scaler.py
script.Move the script to the
\stable-diffusion-webui\scripts
folder.Close the Automatic1111 webui console window.
Relaunch the webui by running the
webui-user.bat
file.Open your web browser and navigate to the Automatic1111 page or refresh the page if it's already open.
Automatic1111 Extension Installation:
In Automatic1111 navigate to your 'Extensions' tab
Click on the 'Install from URL' sub-tab
copy/paste https://github.com/Elldreth/loopback_scaler.git into the 'URL for extension's git repository' textbox
Click on the 'Install' button and wait for it to complete
Click on the 'Installed' sub-tab
Click the 'Apply and Restart UI' button
Description
New and Improved!
A huge thank you to drjkl for helping with refactoring and implementing some new features.
What's new in v1.2?
NEW Scaling option so you don't have to use the sliders for max dimensions
NEW Cleaner layout with updated help text
NEW Dimension increase options
Linear (Default) for even dimensional increases throughout the looping
Ease In (Sine, Cubic, Quint, Circ) for slower increments early in the looping
Ease Out (Sine, Cubic, Quint, Circ) for slower increments later in the looping
Ease InOut (Since, Cubic, Quint, Circ) for faster increments in the middle and slower at the beginning and end of the looping
Bug fixes to fix dimension increments and the 'Resize and Fill' img2img option