CSE445Computer Vision
Tutorials/Object Detection/Image Classification, Localization & Object Detection
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
  1. 1Classification vs. localization vs. object detection vs. instance segmentation
  2. 2Single-label vs. multi-label vs. multi-object output formats
  3. 3Benchmark datasets: PASCAL VOC, MS-COCO, Open Images
  4. 4Annotation formats: XML (VOC), JSON (COCO), YOLO txt
  5. 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

Student action area

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

  1. 1Load COCO val2017 annotations and visualise bounding boxes for 5 images with category labels
  2. 2Count the distribution of objects-per-image in COCO and plot a histogram
  3. 3Convert 10 COCO annotations from JSON format to YOLO txt format and back
  4. 4List 3 models for each task level (classification / detection / segmentation) with their publication year

Tools & Libraries

PythonMatplotlibNumPy