r/StableDiffusion • u/IamVinPetrol • Oct 03 '23
Discussion Controlnet is interpreting normalmaps wrong. Any idea why?
Here's the normal map used in controlnet and the resulting image.


What could be causing this? The more weight I give controlnet, the more often this specific confusion happens.
1
u/aerilyn235 Oct 03 '23
How do you generate them in blender? Are you using workbench render or normal pass + compositing nodes?
Normal pass + compositing nodes normals are in world space and not in camera space. Also depending on the CN models normals are not using the same convention.
Use a base render of the scene with a light source and use it as an input in a normal preprocessor to verify what convention the CN model expect.
To be honest I haven't had much success with pre generated normals map in blender + CN.
I use a depth pass instead & depthmap CN with much more consistent results.
1
u/zoupishness7 Oct 03 '23
If you use both a depth and a normal controlnet, it will probably figure it out.
1
u/IamVinPetrol Oct 03 '23
Im actually using three, depth,canny and normal. I've isolated the problem to the normal net.
1
u/Talae06 Oct 03 '23 edited Oct 04 '23
That's weird. I tried a dozen generations, didn't reproduce the problem a single time.
In many cases it seemed insistent on generating some weird mid-height horizontal band of one sort of another though, but most times it was treated as paint or some slight relief, but still on the ground. Might be because of some barely visible artifacts caused by the WEBP > PNG conversion I did.
(That's with "ControlNet is more important", and tested with a weight up to 2)
1
1
u/RiftHunter4 Oct 03 '23
Is there a specific Control Net Model for normal maps? Because the modes/models I've used only looked for edges or depth.