Geekgineer/YOLOs-CPP

Cross-Platform Production-ready C++ inference engine for YOLO models (v5-v12, YOLO26). Unified API for detection, segmentation, pose estimation, OBB, and classification. Built on ONNX Runtime and OpenCV. Optimized for CPU/GPU with quantization support.

它解决了什么问题

YOLOs-CPP 解决了 C++ 中 YOLO 生态系统的碎片化问题。它提供了一个统一的、可投入生产的推理引擎,取代了为不同 YOLO 版本和任务而存在的多个不一致的 C++ 实现,提供一致的 API 以及专业级别的错误处理和优化能力。

它如何工作

该库作为 ONNX Runtime 和 OpenCV 的高性能封装器。它提供了一个统一的 C++17 API,用于加载和运行广泛的 YOLO 模型(从 v5 到 YOLO26 和 YOLOE)。它使用零拷贝技术处理复杂的预处理(如字母填充和归一化)和后处理(如批处理非极大值抑制),以最大化速度。

适用于谁

专为需要在 C++ 中部署 YOLO 模型进行目标检测、分割、姿态估计或深度估计,且不依赖 Python 运行时的生产级计算机视觉应用开发者设计。

主要特性

  • 统一 API:适用于 YOLOv5 到 YOLO26 和 YOLOE 的单一接口。
  • 广泛的任务支持:支持目标检测、实例分割、姿态估计、定向边界框(OBB)、图像分类以及单目度量深度估计。
  • 性能优化:具备零拷贝预处理、GPU 加速和批处理推理功能,以实现更高的吞吐量。
  • 灵活加载:模型可从文件路径或直接从内存缓冲区加载(适用于加密或嵌入式资源)。
  • 高保真度:通过全面的对齐测试套件,与 Ultralytics Python 结果进行验证。
  • 跨平台:兼容 Linux、Windows 和 macOS。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目