explaingit

ultralytics/yolov3

10,568PythonAudience · researcherComplexity · 3/5LicenseSetup · moderate

TLDR

YOLOv3 is a real-time object detection model that identifies and locates objects in images and video by drawing bounding boxes around them, implemented in PyTorch with tools for training on custom datasets and exporting to mobile formats.

Mindmap

mindmap
  root((yolov3))
    What it does
      Object detection
      Real-time video
      Bounding boxes
    Tech Stack
      Python
      PyTorch
      ONNX export
    Use Cases
      Custom training
      Video inference
      Mobile deploy
    Setup
      Clone repo
      Install deps
      Run scripts
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Train a custom object detector on your own labeled images to identify specific items in photos or video

USE CASE 2

Run real-time object detection on a webcam feed to detect and label objects as they appear

USE CASE 3

Export a trained YOLOv3 model to TFLite or CoreML for deployment on a mobile device

Tech stack

PythonPyTorchONNXCoreMLTFLiteDocker

Getting it running

Difficulty · moderate Time to first run · 30min

GPU recommended for training, CPU inference is slow for video streams.

Free to use and modify as open source under AGPL-3.0, but any software you distribute that uses this must also be open source unless you purchase a commercial license.

In plain English

This repository is an implementation of YOLOv3, an object detection model, maintained by Ultralytics. Object detection is the task of having a computer look at an image or video frame and identify what objects appear in it and where they are, drawing bounding boxes around each one. YOLO, which stands for You Only Look Once, is a family of models known for doing this quickly enough to work on video in real time. YOLOv3 was a significant version in the YOLO series released in 2018, improving accuracy on small objects compared to earlier versions. This Ultralytics version reimplements it in PyTorch, a widely used Python library for building AI models, and adds tooling for training on custom datasets, running inference on images or video, and exporting the trained model to other formats including ONNX, CoreML, and TFLite. These export formats let you deploy the model on different platforms, including mobile devices. To use it, you clone the repository, install the Python dependencies, and then run command-line scripts for training or detection. Training requires providing labeled images where someone has already drawn the bounding boxes so the model can learn from them. After training, you run a detection script pointing it at an image, video file, or camera feed, and it outputs the image with boxes drawn around detected objects. The README notes that Ultralytics now recommends their newer model family, YOLO11, for new projects, as it is more capable. This YOLOv3 repository remains available for research, compatibility, and learning purposes. The repository includes a Docker image for running it in a container, integration with Google Colab and Kaggle notebooks for trying it without a local setup, and export support for deployment on edge hardware. The code is licensed under the AGPL-3.0 license for open-source use, with a commercial enterprise license available separately.

Copy-paste prompts

Prompt 1
Show me how to train a YOLOv3 model on my custom dataset of labeled images using this Ultralytics repo.
Prompt 2
Write a Python script using this YOLOv3 repo to run object detection on a local video file and save the output with bounding boxes drawn.
Prompt 3
How do I export a trained YOLOv3 model from this repo to ONNX format for deployment?
Prompt 4
Generate a Dockerfile setup to run YOLOv3 inference on images without installing Python dependencies locally.
Open on GitHub → Explain another repo

← ultralytics on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.