Giter Site home page Giter Site logo

depthmap2mask's Introduction

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

  • Contrasts cut level

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).

  • Match input size/Net width/Net height

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.

  • Misc options

image

  • Override options :

    These two options simply overrides the inpainting Masked content method and mask blur. I added these because using "original" for Masked content and Mask Blur at 0 just works better. This saves you the clics needed to switch to the intpaint tab/reupload the image to that tab and select the right options.

  • MiDaS models :

    I'll let you try what suits your needs the most.

  • Turn the depthmap into absolute black/white

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

  • Avoid using Euler a or you might get really bad results. Usually DDIM works best.

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

  • Please check if similar issues exist before creating a new one.
  • Make sure to do a "git pull" from your webui folder in order to have your webui up to date
  • Provide as many details as possible when creating a new issue.

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

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

depthmap2mask's People

Contributors

extraltodeus avatar 474172261 avatar lewington-pitsos avatar tingtingin avatar jwvanderbeck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.