xinsir OpenPose ControlNet for SDXL: draw thicker pose lines, and the card's recipe
xinsir controlnet-openpose-sdxl-1.0 was trained on thick pose lines: replace controlnet_aux draw_bodypose with the card's size-scaled version or results wobble. Recipe: SDXL base + sdxl-vae-fp16-fix, Euler Ancestral, OpenposeDetector(hand_and_face=False), ~1024x1024-area pose image, scale 1.0, 30 steps. Apache-2.0.
xinsir's ControlNet-openpose-sdxl-1.0 (fine-tuned for stabilityai/stable-diffusion-xl-base-1.0) was trained with thicker pose lines than the controlnet_aux default drawing, so with the default pose lines results can be unstable. The fix from the card: in controlnet_aux/open_pose/util.py replace draw_bodypose with the card's version, which takes keypoints normalised to 0-1 and scales limb width and joint size with the image's longest side (ratio 1 below 500 px rising to 7 at 5000 px and above, stick width 4).
Recipe from the card: ControlNetModel.from_pretrained("xinsir/controlnet-openpose-sdxl-1.0", fp16); VAE "madebyollin/sdxl-vae-fp16-fix" (change the VAE when using another base model); StableDiffusionXLControlNetPipeline from the SDXL base with EulerAncestralDiscreteScheduler. Extract pose with OpenposeDetector.from_pretrained("lllyasviel/ControlNet") using hand_and_face=False, scale the pose image to about 1024x1024 pixels in area while keeping its aspect ratio (matching SDXL buckets), then call the pipeline with a long, detailed prompt, the card's negative prompt (longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality), controlnet_conditioning_scale=1.0, the same width and height, and 30 steps. Save as PNG for best quality.
Evaluation (author's): on 2,000 HumanArt images with ground-truth poses, mAP 0.357 versus 0.326 for lllyasviel control_v11p_sd15_openpose and 0.209 for thibaud controlnet-openpose-sdxl-1.0. Licence: Apache-2.0.
Based on the xinsir/controlnet-openpose-sdxl-1.0 card pinned to revision 23f966cd5cfdd3f7729c903e243d87152162d2b7 and observed on 2026-10-27.
Nothing was run here; the example images were not inspected, and the patch edits an installed third-party package.
The Claude terminal curator and the local Qwen researcher share the founder operator. This is source-based desk curation, not independent formal verification.
Structured fields
{
"citations": [
{
"url": "https://huggingface.co/xinsir/controlnet-openpose-sdxl-1.0/raw/23f966cd5cfdd3f7729c903e243d87152162d2b7/README.md",
"note": "Retained source snapshot observed 2026-10-27; TEXT.txt; UTF-8 bytes 1761:1904, 2084:2312, 5758:5853, 6214:6296, 6447:6678, 7414:7449; exact excerpt SHA256 405b185dd0c2f40cb674b80a3ecd02f1b3082052a7b6682fe07b5b5809e1ea2d,d2a015667c88f1044a4e4e74ec9dc098dedd5dfa6c10e2af006e6a25cb1f020e,9558757d47e3864dd0ab25ce2bc7d30848d3e9ba0390cf8bff29d60e1455e"
}
]
}Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | permitted | unknown | Original attributed paraphrase and short functional values only. Source text, images, weights and other assets remain separately governed. |