Computer Vision

Pose Estimation & Keypoints

Detecting human body joints and skeletal keypoint coordinates in 2D and 3D space.

🔴 advanced5 min readvision
Pose Estimation is a computer vision task that detects anatomical keypoints (elbows, knees, eyes, wrists) to construct human skeletal body poses. Bottom Up approaches (OpenPose) detect all keypoints in an image first and group them into individuals using Affinity Fields. Top Down approaches (HRNet, AlphaPose) run an object detector first to crop individual humans, then predict keypoints per bounding box.

What is Pose Estimation?

Pose Estimation is a computer vision task that identifies spatial locations of specific anatomical joints (Keypoints) on humans or objects:

  Input Image ──► [ POSE ESTIMATION MODEL ] ──► Skeleton Graph (Nodes: Joints, Edges: Limbs)

Applications include motion capture in gaming, athletic performance tracking, ergonomic safety monitoring, and physical therapy analysis.

Top-Down vs Bottom-Up Pipelines

┌──────────────────────────┬──────────────────────────┐
│ 1. TOP-DOWN APPROACH     │ 2. BOTTOM-UP APPROACH    │
├──────────────────────────┼──────────────────────────┤
│ Step 1: Detect Human     │ Step 1: Detect ALL image │
│ Bounding Boxes (YOLO).   │ keypoints in one pass.   │
│ Step 2: Predict keypoints│ Step 2: Group keypoints  │
│ for each cropped box.    │ into skeletons (OpenPose)│
│ Scaling: O(People Count) │ Scaling: O(1) Constant!  │
└──────────────────────────┴──────────────────────────┘
  TOP-DOWN PIPELINE (HRNet / AlphaPose):
  Full Image ──► [ Human Detector ] ──► Box 1 (Person A) ──► [ Keypoint Net ] ──► Skeleton A
                                     ──► Box 2 (Person B) ──► [ Keypoint Net ] ──► Skeleton B

  BOTTOM-UP PIPELINE (OpenPose):
  Full Image ──► [ Joint Heatmap Detector ] ──► All Wrists, Knees, Elbows
             ──► [ Part Affinity Fields ]   ──► Group Joints into Skeletons A and B!

Heatmaps vs Direct Coordinate Regression

Should a neural network output raw coordinate numbers $(x = 245.2, y = 118.7)$ directly?

Direct coordinate regression performs poorly because loss gradients are unstable.

Modern networks output 2D Spatial Gaussian Heatmaps $H_k \in \mathbb{R}^{H \times W}$ for each keypoint $k$:

  Peak Probability (1.0) centered at true joint location (x, y)
  ──► Smooth 2D Gaussian falloff around the joint!

The keypoint position is extracted by finding the peak location $\arg\max_{(x,y)} H_k(x, y)$ or computing the center of mass.

High-Resolution Network (HRNet - Sun et al., 2019)

Traditional CNNs downsample feature maps to low resolutions to save memory.

HRNet maintains high-resolution spatial representations throughout the entire network while connecting multi-resolution sub-streams in parallel. This preserves precise spatial pixel locations critical for sub-pixel keypoint accuracy.

Say this out loud

Pose Estimation detects body joints and skeletal keypoint coordinates. Top Down approaches detect human bounding boxes first then predict keypoints per person. Bottom Up approaches (OpenPose) detect all keypoints image wide first, grouping them into individual skeletons using Part Affinity Fields. Networks output 2D Gaussian heatmaps to preserve spatial precision.

Followups to expect

  1. What are Part Affinity Fields (PAFs) in OpenPose? 2D vector fields that encode the degree of association and direction along limb connections between adjacent keypoint joints.
  2. What is Object Keypoint Similarity (OKS)? A metric measuring keypoint distance error normalized by person scale and joint specific visibility factors, used to calculate mAP for pose benchmarks.

Check yourself

Question 1 of 3

What primary operational difference separates Top Down Pose Estimation from Bottom Up Pose Estimation?

More in Computer Vision

See all →
Image Augmentation Strategies5 minResizing, Normalization & Colour Spaces4 minResNet, EfficientNet & Friends5 min