You have seen the trick by now. Someone uploads a photo of a dancer frozen mid-spin, and a minute later an AI generated character is holding the exact same pose, arms, fingers and all. The tool doing the heavy lifting in that workflow is usually dwpose, a pose estimation model that reads a picture and pinpoints where every part of a person’s body is. It does not generate anything itself. It simply looks at an image and answers one question in remarkable detail: where exactly is this person, joint by joint? That answer then gets handed to tools like ControlNet, which use it to steer image generation.
Where DWPose Comes From
DWPose is a whole-body pose estimation model created by researchers at IDEA-Research, including Yang, Zeng and colleagues. It was introduced in a 2023 paper called “DWPose: Effective Whole-body Pose Estimation with Two-stage Distillation”, and it builds on the MMPose and RTMPose ecosystem, a well known family of pose estimation tools. The two-stage distillation in the name describes how it was trained: a large, powerful teacher model first learns to estimate poses as accurately as possible, and then a smaller, faster student model is trained to copy the teacher. You end up with most of the teacher’s accuracy in a model that runs far quicker on ordinary hardware. That balance of speed and precision is exactly why dwpose spread so fast once people started plugging it into creative tools.
The 133 Keypoints, Explained Simply
When dwpose looks at a person, it marks 133 keypoints on them, following a layout called COCO-WholeBody. The breakdown goes like this:
- 17 body points: shoulders, elbows, wrists, hips, knees, ankles, plus eyes, ears and nose.
- 6 feet points: toes and heels, so foot direction and stance come through properly.
- 68 face points: a detailed map of the jaw, eyes, brows, nose and lips.
- 42 hand points: 21 per hand, covering every finger joint from knuckle to fingertip.
The hands and face are the headline feature. Older pose tools often treated hands as a single blurry point at the end of each arm, which is why AI characters copied from those tools ended up with vague, mitten-like hand positions. With 21 points per hand, dwpose can capture a pointed finger, an open palm or a peace sign, and pass that detail on to whatever generates the final image.
How DWPose Reads a Picture
The process runs in two steps, and it mirrors how you would scan a photo yourself. First, a detector model (usually a YOLOX model) scans the whole image and draws a box around each person it finds. Then the pose model zooms into each box and predicts all 133 keypoints for that person. Those points get joined up into a stick-figure style skeleton map: lines for limbs, dots for joints, little fans of lines for fingers. That skeleton map is the actual output of dwpose. Everything after that, the pretty generated artwork, is somebody else’s job.
Where You Will Actually Meet It
Most people never run dwpose on its own. They meet it as a preprocessor inside AI image tools. In ComfyUI, the popular custom node pack called comfyui_controlnet_aux (made by Fannovel16) includes a node named DWPose Estimator. In AUTOMATIC1111, the sd-webui-controlnet extension by Mikubill includes dwpose preprocessors with names like dw_openpose_full. In both cases your workflow looks the same: you feed in a reference photo, dwpose produces the skeleton map, and a ControlNet OpenPose model reads that map and guides Stable Diffusion so your generated character copies the pose. The guides on this site walk you through both setups step by step.
Why It Beat the Older Tools
Before dwpose took over, the default choice was OpenPose, an older and much heavier C++ framework. OpenPose still works, but dwpose beats it in the areas people care about most in practice: hand and finger keypoints are far more reliable, face landmarks are much richer, and it stays accurate on awkward poses, tilted bodies and partially visible people where older tools tend to guess wildly. It is also faster in everyday use and far easier to install, since it arrives inside node packs and extensions rather than asking you to build a big framework yourself. There is a full comparison article below if you want the details.
One Naming Trap to Avoid
Here is the confusion that trips up almost every beginner. DWPose outputs an OpenPose-style skeleton. “OpenPose” in this world can mean the old estimator program, or it can mean the skeleton format and the ControlNet models built around it. DWPose is the estimator, the thing that looks at your photo. The OpenPose ControlNet model is a separate component that consumes the skeleton map during generation. You need both halves, and they are not interchangeable. Once that clicks, the rest of the tutorials make a lot more sense.
How Accurate Is It, Honestly?
No estimator is perfect, and dwpose has the same honest limits as the rest of the field. Very fast motion blur, extreme close-ups where most of the body is out of frame, and poses where limbs hide completely behind the torso can all produce a few wrong or missing points. What surprises most first-time users is how rarely that happens on ordinary photos. Clear, well-lit reference images with the full person in frame give dwpose everything it needs, and the skeletons it returns are usually faithful down to individual fingers.
What DWPose Is Not
It helps to be clear about the boundaries. Dwpose does not draw, paint or generate pictures; it only measures them. It does not track you through a webcam in real time for animation either, at least not in the way most people use it inside ComfyUI or AUTOMATIC1111. Its job in these workflows is done the moment the skeleton map exists. It also does not understand the scene around the person. Furniture, props and other people in the background only matter if they confuse the detector, and a second person in the frame simply gets a skeleton of their own. Think of dwpose as a very precise measuring instrument, one that happens to measure people.
Who Uses It, and What For
The biggest crowd is AI image creators who want control over poses: character artists reproducing a reference stance, designers placing a model in an exact product-photo pose, illustrators who sketch with their own photos. Because the skeleton includes fingers and facial landmarks, people also use dwpose for expressive work, sign-language style hand shapes, dramatic facial angles and dance poses that older estimators would flatten into guesswork. Video creators use it too, extracting pose sequences frame by frame to drive generated animations, which gets its own guide below. Underneath all of these, researchers and app developers use the same model family for fitness tracking, motion analysis and accessibility tools, since reliable whole-body keypoints are useful far beyond image generation.
Conclusion
Dwpose is a fast, accurate whole-body pose estimator from IDEA-Research that maps 133 keypoints across the body, feet, face and hands, then hands that skeleton to ControlNet so generated images can copy real poses. Its two-stage distillation training keeps it quick, its hand and face detail puts it ahead of classic OpenPose, and its built-in presence in ComfyUI and AUTOMATIC1111 means you are probably already a few clicks away from using it. Start with the install guide, run it on one photo you like, and watch how faithfully the skeleton follows the original.
Read next:
Pingback: DWPose vs OpenPose: Which Pose Estimator Is Better?
Pingback: DWPose Models Explained: Files You Actually Need