cyrusbehr/YOLOv8-TensorRT-CPP
YOLOv8 TensorRT C++ Implementation
What it solves
이 프로젝트는 YOLOv8 모델을 실행하기 위한 고성능 C++ 구현을 제공합니다. Python 기반 추론에서 컴파일 언어로 전환함으로써 속도와 효율성을 향상시키며, TensorRT API를 사용하는 NVIDIA GPU를 목표로 합니다.
How it works
프로젝트는 PyTorch 모델(.pt)을 ONNX 형식으로 변환한 뒤 TensorRT C++ API를 사용해 GPU용 최적화 엔진 파일을 생성합니다. 전처리와 후처리(바운딩 박스 디코딩 및 Non-Maximum Suppression 등)는 모델 내부가 아니라 C++에서 수행됩니다. FP32, FP16, INT8(정확도를 유지하기 위해 캘리브레이션 데이터 필요) 등 여러 정밀도 모드를 지원합니다.
Who it’s for
NVIDIA 하드웨어가 장착된 Ubuntu 시스템에서 실시간 객체 탐지, 의미 분할 또는 인체 포즈 추정을 배포하려는 개발자 및 엔지니어를 위해 설계되었습니다.
Highlights
- Multi-task Support: 객체 탐지, 세그멘테이션, 포즈 추정 모델을 지원합니다.
- Hardware Optimization: TensorRT를 활용한 GPU 가속 추론.
- C++ Implementation: Python 구현에 비해 오버헤드가 감소합니다.
- Precision Flexibility: FP32, FP16, INT8 양자화를 지원하여 속도‑정확도 트레이드오프에 대응합니다.
- Real-time Capability: 이미지 처리 및 실시간 웹캠 피드를 위한 실행 파일을 포함합니다.