Day 46: Object detection landscape: two-stage vs one-stage
From "what" to "what and where"
Stage 1's classifier answers *what* is in an image. The Measurement Engine needs *where* — locate the person and each garment, as boxes, before you can measure anything. That's object detection: predict a bounding box plus a class label for every object. This stage builds one production pipeline — detection → pose → segmentation → parsing → measurement — the way real systems are built, not as four disconnected demos.
The two families
- Two-stage detectors (Faster R-CNN) first propose candidate regions, then classify each — more accurate historically, slower.
- One-stage detectors (YOLO, SSD) predict boxes and classes in a single forward pass over a grid — faster, and now competitive on accuracy.
- FitXpert uses YOLO (one-stage) in the production path: real-time-capable, well-tooled via Ultralytics, and plenty accurate for person + garment detection.
The pipeline mindset
Detection alone doesn't give measurements — it gives boxes that feed the next stage. Every model here is a component in one pipeline with a single output: {pose, measurements_cm, size, confidence}. Keeping the end goal in view is what stops this stage from becoming a tour of disconnected papers.
Key terms
- Object detection
- Predicting a bounding box and class label for every object of interest in an image.
- Bounding box
- A rectangle (x, y, width, height) localizing an object in an image.
- Two-stage detector
- A detector that first proposes candidate regions, then classifies/refines them (e.g. Faster R-CNN).
- One-stage detector
- A detector predicting boxes and classes in a single forward pass (e.g. YOLO); faster.
Why does the Measurement Engine need object detection, not just the Stage 1 classifier?