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를 감싸는 고성능 래퍼(wrapper) 역할을 합니다. v5부터 YOLO26 및 YOLOE에 이르기까지 광범위한 YOLO 모델을 로드하고 추론을 실행할 수 있는 통합된 C++17 API를 제공합니다. 속도를 극대화하기 위해 제로 카피(zero-copy) 기술을 사용하여 복잡한 전처리(letterboxing 및 정규화 등)와 후처리(배치형 Non-Maximum Suppression 등)를 처리합니다.

대상 사용자

Python 런타임에 의존하지 않고 객체 탐지, 세그멘테이션, 포즈 추정 또는 깊이 추정을 위해 YOLO 모델을 배포해야 하는, C++ 기반의 프로덕션 컴퓨터 비전 애플리케이션을 구축하는 개발자를 위해 설계되었습니다.

주요 특징

  • Unified API: YOLOv5부터 YOLO26 및 YOLOE까지 단일 인터페이스를 제공합니다.
  • Broad Task Support: 객체 탐지, 인스턴스 세그멘테이션, 포즈 추정, 회전된 경계 상자(OBB), 이미지 분류 및 단안 미터법 깊이 추정(monocular metric depth estimation)을 지원합니다.
  • Performance Optimizations: 더 높은 처리량을 위해 제로 카피 전처리, GPU 가속 및 배치 추론 기능을 갖추고 있습니다.
  • Flexible Loading: 모델을 파일 경로 또는 메모리 버퍼에서 직접 로드할 수 있습니다(암호화된 리소스나 임베디드 리소스에 유용합니다).
  • High Fidelity: 포괄적인 패리티 테스트(parity tests)를 통해 Ultralytics Python 결과와 일치함을 검증했습니다.
  • Cross-Platform: Linux, Windows 및 macOS와 호환됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트