← all repositories
Geekgineer/YOLOs-CPP

Shipping YOLO models without shipping Python

A single C++17 API wraps detection, segmentation, pose, OBB, and classification across YOLOv5 through YOLO26, no Python runtime required.

YOLOs-CPP
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

YOLOs-CPP is a C++17 inference engine that runs the entire YOLO family—from v5 through YOLO26—through one consistent API. It covers detection, instance segmentation, pose estimation, oriented bounding boxes, classification, and even YOLOE open-vocabulary segmentation, all backed by ONNX Runtime and OpenCV. The library targets cross-platform deployment on Linux, Windows, macOS, and Docker with optional GPU acceleration and quantized models.

The interesting bit

Rather than fragmenting across version-specific C++ ports, the project abstracts every YOLO variant and task behind unified headers like yolos::det::YOLODetector and yolos::seg::YOLOSegDetector. It also claims results identical to Ultralytics Python, validated by 36 automated tests—an unusual level of regression testing for a C++ inference wrapper.

Key highlights

  • Single API surface for YOLOv5 through YOLO26, covering detection, segmentation, pose, OBB, classification, and YOLOE open-vocabulary tasks
  • Runs entirely without a Python runtime; self-contained binaries relying only on ONNX Runtime and OpenCV
  • Zero-copy preprocessing and batched NMS on both CPU and GPU
  • 36 automated tests and a CI pipeline backing its “production-ready” claim
  • Cross-platform builds for Linux, Windows, macOS, and Docker

Caveats

  • AGPL-3.0 license, which may complicate use in proprietary commercial products
  • Segmentation, pose, OBB, and classification are only available for YOLOv8, YOLOv11, YOLO26, and YOLOE; older versions such as YOLOv5 and YOLOv9 remain detection-only
  • YOLOE open-vocabulary support requires a specific ONNX export workflow (text-based or prompt-free checkpoints) rather than interactive prompting

Verdict

Worth a look if you need to embed YOLO inference into a C++ application without dragging along a Python environment. Give it a pass if your workflow depends on the full Ultralytics Python toolchain or if AGPL licensing conflicts with your project.

Frequently asked

What is Geekgineer/YOLOs-CPP?
A single C++17 API wraps detection, segmentation, pose, OBB, and classification across YOLOv5 through YOLO26, no Python runtime required.
Is YOLOs-CPP open source?
Yes — Geekgineer/YOLOs-CPP is open source, released under the AGPL-3.0 license.
What language is YOLOs-CPP written in?
Geekgineer/YOLOs-CPP is primarily written in C++.
How popular is YOLOs-CPP?
Geekgineer/YOLOs-CPP has 1k stars on GitHub.
Where can I find YOLOs-CPP?
Geekgineer/YOLOs-CPP is on GitHub at https://github.com/Geekgineer/YOLOs-CPP.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.