Home

Awesome

depthmap2mask

Made as a script for the AUTOMATIC1111/stable-diffusion-webui repository.

💥 Installation 💥

Copy the url of that repository into the extension tab :

image

OR copy that repository in your extension folder :

image

You might need to restart the whole UI. Maybe twice.

if you are on colab you can also add this line in a code block before starting the UI/after the installation cells :

!git clone https://github.com/Extraltodeus/depthmap2mask.git /content/stable-diffusion-webui/extensions/depthmap2mask

The look

image

What does this extension do?

It creates masks for img2img based on a depth estimation made by MiDaS.

smallerone5050

Where to find it after installing it?

Go to your img2img tab then select it from the custom scripts list at the bottom.

Explanations of the different UI elements

image

This slider is purely optional. The depthmap is in levels of gray. Each pixel has a value in between 0 and 255 depending if they are black (0) or white (255). That threshold slider will cut to black every pixel below the selected value and scale from black to white what is above its value.

Or in a more human language, it will give more depth to your depthmaps while removing a lot of information.

Example before/after with the slider's value around 220 and using the MiDaS-Large model:

00073--1 0- sampler -85-8 1-ac07d41f-2022112517485300074--1 0- sampler -85-8 1-ac07d41f-20221125174934

Using the MiDaS small model will give you similar if not more interesting results.

smallerone5050

So that's more of an extra-extra option or a way to make sure that your backgrounds are untouched by using a low value (like 50).

image

Match input size (On by default) will make the depth analysis at the same size as the original image. Better not to touch it unless you are having performance issues.

The sliders below will be the resolution of the analysis if Match input size is turned off.

You can also just use these functionalities to test out different results.

image

image

This option will cut out the background of an image into pure black and make the foreground pure white. Like a clean cut.

Alpha Cropping

You can also save a version of the input image which has had all the masked content replaced with transparent pixels. This is useful when extracting the subject from the background, so that it can be used in designs.

Image

Simply check the "Save alpha mask" option before generating.

Tips

Credits/Citation

Thanks to thygate for letting me blatantly copy-paste some of his functions for the depth analysis integration in the webui.

This repository runs with MiDaS.

@ARTICLE {Ranftl2022,
    author  = "Ren\'{e} Ranftl and Katrin Lasinger and David Hafner and Konrad Schindler and Vladlen Koltun",
    title   = "Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-Shot Cross-Dataset Transfer",
    journal = "IEEE Transactions on Pattern Analysis and Machine Intelligence",
    year    = "2022",
    volume  = "44",
    number  = "3"
}
@article{Ranftl2021,
	author    = {Ren\'{e} Ranftl and Alexey Bochkovskiy and Vladlen Koltun},
	title     = {Vision Transformers for Dense Prediction},
	journal   = {ICCV},
	year      = {2021},
}

Bug reporting

Examples using different MiDaS models and denoising strength

00056-589874964- sampler -32-7-ac07d41f-2022112517401700064-1584461722- sampler -32-7-ac07d41f-2022112517432800100-717650490- sampler -84-8 1-ac07d41f-20221125175700

<sub>I forgot my settings but in the end it's all pretty easy to guess what you need.</sub>