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の高性能なラッパーとして機能します。v5からYOLO26、YOLOEに至るまで、幅広いYOLOモデルをロードして推論を実行するための、統一されたC++17 APIを提供します。複雑な前処理(レターボックス化や正規化など)や後処理(バッチ化されたNon-Maximum Suppressionなど)を、速度を最大化するためのゼロコピー技術を用いて処理します。

対象ユーザー

Pythonランタイムに依存することなく、物体検出、セグメンテーション、ポーズ推定、または深度推定のためにYOLOモデルをデプロイする必要がある、C++でプロダクションレベルのコンピュータビジョンアプリケーションを構築している開発者向けに設計されています。

ハイライト

  • Unified API: YOLOv5からYOLO26およびYOLOEまでの単一のインターフェース。
  • Broad Task Support: 物体検出、インスタンスセグメンテーション、ポーズ推定、回転境界ボックス(OBB)、画像分類、および単眼メトリック深度推定をサポート。
  • Performance Optimizations: 高いスループットを実現するための、ゼロコピー前処理、GPU加速、およびバッチ推論を搭載。
  • Flexible Loading: モデルはファイルパスまたはメモリバッファから直接ロード可能(暗号化されたリソースや組み込みリソースに有用)。
  • High Fidelity: 包括的なパリティテストスイートを通じて、Ultralytics Pythonの結果との整合性を検証済み。
  • Cross-Platform: Linux、Windows、およびmacOSと互換。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト