OD-01Beginner 60 min
Image Classification, Localization & Object Detection
Establish the full task taxonomy — classification, localization, and detection — and survey the benchmark datasets and output formats that underpin every detector covered in this series.
PythonMatplotlibNumPy
Code Structure Note
These notes are provided only to help students understand the code structure. Students should review, optimize, and adapt the code before using it in assignments, projects, or experiments.
Topics Covered
- 1Classification vs. localization vs. object detection vs. instance segmentation
- 2Single-label vs. multi-label vs. multi-object output formats
- 3Benchmark datasets: PASCAL VOC, MS-COCO, Open Images
- 4Annotation formats: XML (VOC), JSON (COCO), YOLO txt
- 5Two-stage vs. one-stage detector families: high-level overview
Learning Objectives
- Define and distinguish the four core vision tasks with concrete input/output examples
- Explain what multi-object detection requires that single-label classification does not
- Describe the COCO annotation format and load ground-truth boxes from a JSON file
- Classify well-known models (ResNet, Faster R-CNN, YOLOv8, DETR) into their task category
Key Takeaways
- Detection = classification + localisation for every object in the scene, at arbitrary scale
- COCO has 80 object categories, ~118 K training images, and ~5 annotations per image
- Two-stage detectors (R-CNN family) propose regions first; one-stage detectors (YOLO, SSD) skip that step
- Understanding the task formulation before the architecture is essential — it defines what the head must output
Tutorial Infographic
Notebook Resources
Jupyter Notebook
Use this section to practice the tutorial code. Kaggle opens the prepared notebook, Colab lets you experiment in your own runtime, and the .ipynb download is best for local editing or submission.
Kaggle: follow the official tutorial notebook.
Colab: modify and rerun quickly.
IPYNB: keep a local copy.
Hands-On Exercises
- 1Load COCO val2017 annotations and visualise bounding boxes for 5 images with category labels
- 2Count the distribution of objects-per-image in COCO and plot a histogram
- 3Convert 10 COCO annotations from JSON format to YOLO txt format and back
- 4List 3 models for each task level (classification / detection / segmentation) with their publication year
Tools & Libraries
PythonMatplotlibNumPy