lllyasviel / ControlNet

Let us control diffusion models!
Apache License 2.0
28.97k stars 2.62k forks source link

Openpose Face thinks that each "dot" from the pose is a face #607

Closed tamerkalieh closed 6 months ago

tamerkalieh commented 6 months ago

Hello! I described my issue here as well:

https://www.reddit.com/r/StableDiffusion/comments/18gm4z3/openpose_face_gives_always_multiple_people_in/

When I'm trying to use Openpose with "Face" or "Face-Only", I'm getting an image generated with multiple people always. And it seems like each "dot" from the face pose is getting translated to a single face.

As you can see in this gif: ezgif com-video-to-gif-converted

Settings:

Reference Image: https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2F1lty7i8u8v5c1.jpg%3Fwidth%3D1280%26format%3Dpjpg%26auto%3Dwebp%26s%3D9f5438f212dc0e44d96ce01e1a0178f0ace4eeb9

Openpose Generated Face Pose: https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2F6o30c8eo9v5c1.png%3Fwidth%3D1280%26format%3Dpng%26auto%3Dwebp%26s%3Dd5a3070dd360c78c76b4d0d6fcac1186b9716075

Output Image: https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2Ffqupwixr8v5c1.png%3Fwidth%3D1280%26format%3Dpng%26auto%3Dwebp%26s%3D258acc1baae3b924866039181f79443e1cfe1624

geroldmeisinger commented 6 months ago

the preprocessor is only required if you need to derive a pose image from an existing image. if you already have your "pose" you don't need to pre-process it. can you post the model link please. it seems you are also using the pose-only model, whereas you need the one which supports face (which I think is only available for SD 2, edit: I meant CN 1.1).

tamerkalieh commented 6 months ago

the preprocessor is only required if you need to derive a pose image from an existing image. if you already have your "pose" you don't need to pre-process it.

But I don't have the pose "yet", assuming that I just uploaded a face image (source image), which then extracts the pose and applies it to the newly generated image. Sure, after I did that once, even if it failed I would have the pose and wouldn't need to preprocess it again. However, whenever I use the pose to generate images, it adds many people to the generation. Also, I think the GIF that I posted plays a big part in why there are so many faces.

can you post the model link please. it seems you are also using the pose-only model, whereas you need the one which supports face (which I think is only available for SD 2).

I was following exactly each step this YouTuber did here while he using SD 1.5.

The OpenPose model I am using is: https://huggingface.co/lllyasviel/ControlNet-v1-1/blob/main/control_v11p_sd15_openpose.pth

My checkpoint is: https://civitai.com/models/25694/epicrealism

Or if you mean the

geroldmeisinger commented 6 months ago

you wrote "the preprocessor is not working" which got me confused. the model seems right. can you try to reduce the width and height to 512x512 for testing please.

tamerkalieh commented 6 months ago

Hello!

Same settings as before but with 512x512 And ControlNet:

image

you wrote "the preprocessor is not working" which got me confused. the model seems right. can you try to reduce the width and height to 512x512 for testing please.

tamerkalieh commented 6 months ago

As an addition: If I am using "mediapipe_face" which is another model, it works like a charm. However, I am interested in Openpose because I can also use "face" and get the shoulders, while this is not possible in mediapipe.

Openpose "full" works also perfectly fine.

geroldmeisinger commented 6 months ago

please double-check if you are really using the v1.1 version of openpose and not v1 for the link you provided I get the hash cab727d4(!)

I just tested on a vanilla installation and it works. I know this doesn't help but it should work at least... image

can you also try with vanilla SD, no checkpoints, no VAEs, no loras

tamerkalieh commented 6 months ago

Hello! You were completely right. I downloaded the wrong model as it seems. With the correct one it worked! I thought it would be the right model, cause it worked great with Openpose Full.

Thanks a lot @geroldmeisinger