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)的推論。它使用零複製技術處理複雜的預處理(如字母框化和歸一化)與後處理(如批次 Non-Maximum Suppression),以最大化速度。

適用對象

專為需要在 C++ 中部署 YOLO 模型進行物件偵測、分割、姿態估計或深度估計,且不依賴 Python 執行時的開發人員設計。

主要特色

  • 統一 API:支援從 YOLOv5 到 YOLO26 和 YOLOE 的單一介面。
  • 廣泛的任務支援:支援物件偵測、實例分割、姿態估計、方向性邊界框(OBB)、影像分類,以及單目度量深度估計。
  • 效能優化:具備零複製預處理、GPU 加速與批次推論,以提升吞吐量。
  • 彈性載入:模型可從檔案路徑或直接從記憶體緩衝區載入(適用於加密或嵌入式資源)。
  • 高保真度:透過全面的平行測試套件,與 Ultralytics Python 結果進行驗證。
  • 跨平台:相容 Linux、Windows 與 macOS。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案