Mikubill / sd-webui-controlnet

WebUI extension for ControlNet
GNU General Public License v3.0
16.58k stars 1.92k forks source link

Previous Commit Degraded ControlNet Performance #2981

Open fractalfantasy opened 3 weeks ago

fractalfantasy commented 3 weeks ago

Is there an existing issue for this?

What happened?

There was a change to controlnet-webui on April 15, 2023 (https://github.com/Mikubill/sd-webui-controlnet/commit/3d000778ea90b53b4734f4f3c0aa310c49e5febf) that made it more unwieldy and difficult to use. The results after this commit were much different when using the exact same models and params. Before this commit, it didnt require as much strength and was easier to control - for me the results were much better before.

here's an image showing the difference in results between the 2 commits: image

Steps to reproduce the problem

TO REPRODUCE:

  1. go to "sd-webui-controlnet" folder
  2. git checkout 3b7e49197478e21c589a0c614d2268a7e578aa4e
  3. run any prompt with control_depth-fp16 and use the attached image as depthmap
  4. check out the commit right after and run the prompt again: git checkout 3d000778ea90b53b4734f4f3c0aa310c49e5febf

here is the depth input I used: ff logo blur black

What should have happened?

They should look the same...There is a major difference in between controlnet results with the exact same models and params.

Commit where the problem happens

I did some hunting to find the exact commit where the problem started and this is it: https://github.com/Mikubill/sd-webui-controlnet/commit/3d000778ea90b53b4734f4f3c0aa310c49e5febf

What browsers do you use to access the UI ?

Google Chrome

Command Line Arguments

--api

List of enabled extensions

asymmetric-tiling-sd-webui sd-webui-controlnet

Console logs

Startup time: 15.9s (prepare environment: 3.5s, import torch: 5.4s, import gradio: 1.3s, setup paths: 1.5s, initialize shared: 0.4s, other imports: 0.9s, load scripts: 1.6s, create ui: 0.7s, gradio launch: 0.5s).
Applying attention optimization: xformers... done.
Model loaded in 5.5s (load weights from disk: 0.7s, create model: 0.5s, apply weights to model: 3.3s, load textual inversion embeddings: 0.3s, calculate empty prompt: 0.4s).
Loading model: control_depth-fp16 [400750f6]
Loaded state_dict from [E:\A1111 Web UI Autoinstaller\stable-diffusion-webui\models\ControlNet\control_depth-fp16.safetensors]
ControlNet model control_depth-fp16 [400750f6] loaded.
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.48it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.21it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.38it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.47it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.19it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.42it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.48it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.04it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.26it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.43it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  2.91it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.27it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.58it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.10it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.26it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.60it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.07it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.20it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.50it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  2.87it/s]
Loading model from cache: control_depth-fp16 [400750f6]████████████████████████████████| 10/10 [00:03<00:00,  4.09it/s]
Loading preprocessor: none
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00,  3.59it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  3.04it/s]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 10/10 [00:03<00:00,  4.23it/s]

Additional information

Initially i thought it was an upgrade from Controlnet 1.0 to 1.1 but they stated there were no architectural changes between the 2 so the results shouldnt differ, therefore I presume it's an issue with the changes that were made in this commit.

sdbds commented 3 weeks ago

It looks like only the hires pass part was modified. Do your other plugins have conflicts?

fractalfantasy commented 3 weeks ago

It looks like only the hires pass part was modified. Do your other plugins have conflicts?

Hmm I don't think theres plugin conflicts, and experienced this issue on other machines/with different configurations. Rolling back to the previous commit fixes it for me.

By "hires pass" do you mean "hires fix"? or is it something more engrained in controlnet processor? would like to find a way to get the previous behaviour on the latest version.

Thanks so much!