Images, language and games

Machine learning YOLO

YOLO is a family of fast object detectors that predict a class, a bounding box and a confidence score for each object in a single pass over the image. It is widely used for real-time detection in video, counting objects and spotting defects, and recent versions also handle segmentation and pose.

How YOLO is used in machine learning projects

Real-time object detection

YOLO predicts boxes and classes for the whole image in one network pass, which makes it fast enough for live video. It is a common choice for cameras, robots and drones.

Real exampleYou Only Look Once (original paper)The original YOLO paper framed object detection as a single regression from image pixels to bounding boxes and class probabilities.

Segmentation, pose and oriented boxes

Recent YOLO versions add heads for instance masks, body keypoints and rotated boxes, so one family covers several vision tasks. This is useful for measuring shapes and tracking body movement.

Real exampleUltralytics YOLO11Ultralytics documents YOLO11 support for object detection, instance segmentation, image classification, pose estimation and oriented object detection.

Wildlife monitoring

Conservation teams run detectors over millions of camera-trap images to find animals and filter out empty frames. This saves a large amount of manual review.

Real exampleMegaDetector (Microsoft AI for Good)MegaDetector detects animals, people and vehicles in camera-trap images, and its V6 release includes YOLOv9 and YOLOv10 variants.

Fast detection on limited hardware

Different YOLO sizes trade accuracy for speed, so the same approach runs on a server GPU or an edge device. Teams choose a variant by measuring speed and accuracy on their own hardware.

Real exampleYOLOv7The YOLOv7 paper reports a real-time detector evaluated across a range of speeds from 5 to 160 frames per second.

Can you learn YOLO object detection?

Yes. With basic Python you can run a pretrained YOLO model in minutes and train it on your own labelled images within a day. To use it well, learn image handling, detection metrics and how to build a clean labelled dataset.

  1. Python basicsInstall packages, run scripts and work with file paths and lists of results.Learn it in Python
  2. How neural networks learnUnderstand CNN backbones, loss functions and overfitting so training curves make sense.Learn it in Deep Learning
  3. Labelling a datasetDraw boxes in CVAT or Label Studio, write clear labelling rules, and keep a separate validation set.
  4. Training and evaluating YOLOFine-tune a pretrained Ultralytics model, then read precision, recall and mAP50-95 per class.
  5. DeploymentExport to ONNX, measure speed on the target device, and track objects across frames with Supervision.

Where to go next with YOLO

If you already work in the field

If you already have a detection problem, such as counting stock, spotting defects or monitoring animals, start by labelling a few hundred of your own images and fine-tuning a small YOLO model. Then study its errors to decide what data to label next.

If you come from data science or ML

If you know machine learning but not detection, learn anchor-free box prediction, non-maximum suppression, IoU and mAP. Then compare YOLO with another detector family on the same data.

Roles that do this workComputer vision engineerMachine learning engineer, edge AIRobotics perception engineerData annotation lead

Tools you will use

ToolWhat you use it for
UltralyticsTrain, validate and export YOLO detection, segmentation and pose models from Python or the command line.
CVATDraw and review bounding-box annotations and export them in YOLO format.
Label StudioOpen-source labelling tool for boxes and other annotations, with exports for detector training.
SupervisionFilter, track, count and visualise detections from YOLO and other models.
ONNX RuntimeRun exported detectors on CPUs, GPUs and edge devices to measure real deployment speed.

Public data to practise on

  • COCO: Everyday scenes with object boxes and masks, the benchmark YOLO models report their accuracy against.
  • Open Images V7: Large image collection with object boxes across many classes, useful for picking a few classes to train on.

Your first project

Download COCO val2017, run a pretrained small Ultralytics YOLO model, and compare it with the nano variant using mAP50-95 and measured images per second on your hardware.

Common questions

Which YOLO version should I use?

Use a recent, actively maintained release with good documentation for your task. Compare two model sizes on your own data and hardware rather than relying on headline benchmarks.

How many images do I need to train YOLO?

Fine-tuning a pretrained model can work with a few hundred labelled images per class for simple scenes. Small, rare or varied objects need more.

Is YOLO free for commercial use?

It depends on the implementation. Ultralytics releases are under the AGPL-3.0 licence with a separate commercial licence, while some other YOLO implementations use different licences, so check before shipping a product.

Can YOLO run on a Raspberry Pi or phone?

Small YOLO variants can run on edge devices after export to formats such as ONNX, TFLite or CoreML. Measure frames per second on the actual device.

Courses for these skills

New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.