← AI Terminology

YOLO - You Only Look Once

YOLO (You Only Look Once) is a real-time object detection architecture that frames detection as a single regression problem — predicting bounding boxes and class probabilities directly from the full image in one forward pass, rather than using a region-proposal stage.

Introduced by Redmon et al. (2015); now in version 11 with dominant deployment in production systems.
Why It Matters in AI
Two-stage detectors (Faster R-CNN) generate region proposals then classify each — accurate but slow. YOLO unified these into a single network pass, achieving 45+ FPS at launch versus ~5 FPS for competitors. This made real-time detection practical: autonomous vehicles, traffic cameras, robotics, and edge devices all rely on YOLO variants. The YOLO family has iterated rapidly — YOLOv8/v11 (Ultralytics) achieve near state-of-the-art accuracy at inference speeds that two-stage models cannot match.
Key Points
Aspect Description
Variants YOLOv5 (PyTorch), YOLOv8/11 (Ultralytics), RT-DETR, YOLO-NAS, Gold-YOLO
One-stage No region proposal — detection and classification in a single forward pass
Anchor-free YOLOv8+ predicts box directly from centre point — no anchor tuning required
Anchor boxes Prior boxes at multiple scales and ratios; predicted as offsets from anchors (v2–v7)
Architecture Single CNN: divide image into S×S grid; each cell predicts B boxes + C class probabilities
Speed vs acc YOLOv8n: 3ms/frame; YOLOv8x: 14ms/frame — scale model to fit latency budget
Simple Analogy
A hawk scanning a field: instead of first identifying "likely prey areas" and then examining each one (two-stage detector), the hawk processes the entire visual field at once and immediately knows where the mouse is. One glance, one answer — that is YOLO's approach, trading the methodical two-pass search for a single, fast, holistic prediction.
Common Usage Examples
  • from ultralytics import YOLO; model = YOLO("yolov8n.pt"); results = model("image.jpg")
  • Training: model.train(data="coco.yaml", epochs=100, imgsz=640, batch=16)
  • Export: model.export(format="onnx") — deploy to TensorRT, OpenVINO, CoreML, TFLite
  • Real-time: model.predict(source=0, stream=True) — webcam inference at 30+ FPS
  • results[0].boxes.xyxy — bounding box coordinates; .conf — confidence scores; .cls — class IDs
Summary
In short: YOLO turned object detection into a single regression pass — trading two-stage accuracy for real-time speed, and through rapid iteration across 11 versions has become the dominant production detector for applications requiring both throughput and accuracy.