Human Pose Estimation
What pose estimation actually predicts
Human pose estimation is the task of locating a fixed set of anatomical keypoints — typically things like nose, shoulders, elbows, wrists, hips, knees, and ankles — in an image, and often connecting them into a skeleton that represents body structure. Unlike object detection, which draws a box around 'a person,' pose estimation describes *how* that person's body is arranged: standing, crouching, reaching, mid-stride. This is the backbone technology behind fitness apps that check exercise form, motion capture for animation, sports analytics, and gesture-based interfaces.
Keypoints as heatmaps, not coordinates
A naive approach would have a network directly output (x, y) coordinates for each keypoint. In practice, almost all modern pose estimators instead predict a heatmap per keypoint: a 2D grid the same resolution as the feature map, where each pixel's value represents the probability that keypoint is located there. The final coordinate is simply the pixel with the highest value in that heatmap. Heatmaps work far better than direct coordinate regression because they let the network express positional uncertainty smoothly, and because convolutional networks are naturally suited to producing spatial, image-shaped outputs rather than compressing everything down to a handful of numbers.
Top-down: detect people first, then pose
The top-down approach splits the problem into two stages. First, an object detector finds every person in the image and draws a bounding box around each one. Second, each cropped box is fed independently into a pose estimation network that predicts keypoints for the single person inside it. This is conceptually simple and tends to be very accurate per-person, because the pose network only ever has to deal with one isolated, roughly-centered body. The cost is that runtime scales with the number of people in the image — ten people means running the pose network ten times.
Bottom-up: find all keypoints first, then group them
The bottom-up approach runs in a single pass over the whole image: it detects every keypoint of every type anywhere in the frame first (e.g. every wrist, every elbow, regardless of which person they belong to), then solves a separate grouping problem to figure out which keypoints belong to the same person. OpenPose, a landmark bottom-up method, solves the grouping step using Part Affinity Fields — additional output maps that encode the direction and association strength between pairs of keypoints, which get used to match, say, the correct elbow to the correct shoulder. Bottom-up methods scale much better with crowd size since the expensive feature extraction happens once regardless of how many people are present.
Note
Top-down vs. bottom-up pose estimation
| Property | Top-down | Bottom-up |
|---|---|---|
| Pipeline | Detect people, then pose-estimate each crop | Detect all keypoints at once, then group them |
| Runtime scaling with crowd size | Roughly linear — one pass per person | Roughly constant — one pass total |
| Per-person accuracy | Generally higher — isolated, centered input | Can degrade with occlusion and overlapping people |
| Failure mode | Depends entirely on the upstream detector | Grouping (association) errors in dense crowds |
| Example methods | AlphaPose, most high-accuracy benchmarks | OpenPose, some real-time mobile systems |
Beyond 2D: depth, occlusion, and video
2D pose estimation only gives pixel coordinates, which ambiguates depth — a limb extended toward the camera looks similar to one held still. 3D pose estimation extends the task to predict depth per keypoint, often using multi-camera setups, depth sensors, or learned priors about plausible human skeletal structure to resolve the ambiguity from a single 2D view. Pose estimation applied across video frames also enables action recognition and gesture tracking, where the sequence of poses over time — not just a single frame — carries the meaningful signal.
What's next
Pose estimation is a specialized form of keypoint detection built on the same CNN feature-extraction backbones used throughout computer vision. Continue to video action recognition to see how sequences of frames — including sequences of poses — get classified into actions over time.
I build these systems professionally.
Whether it's a RAG pipeline, analytics migration, or AI workflow — let's talk.