Melody-Zhou/tensorRT_Pro-Vision
This repository is forked from shouxieai/tensorRT_Pro, extending it to support a wide range of vision models with high-performance TensorRT C++ inference.
해결하는 문제
NVIDIA GPU에서 다수의 비전 모델을 배포할 때는 일반적으로 작업별로 별도의 프로젝트를 유지 관리해야 하며, CPU와 GPU 간의 데이터 이동으로 인해 성능이 저하됩니다. 이 프레임워크는 20개 이상의 작업(탐지, 분류, 세그멘테이션, 포즈, 회전 박스, 깊이, OCR, 차선 탐지, 다중 객체 추적)을 단일 C++ 실행 파일에 통합하고 모든 전처리 및 후처리를 GPU에서 실행함으로써 이 문제를 해결합니다.
작동 방식
이 프로젝트는 TensorRT C++ API를 기반으로 구축되었습니다. 모든 모델은 비동기 추론 스켈레톤을 공유하며, 차이점은 전처리 및 후처리뿐입니다. 모델을 ONNX(동적 배치 지원)로 내보내고 워크스페이스 폴더에 배치한 다음, 워크스페이스에서 ./pro
대상 사용자
NVIDIA GPU에서 낮은 지연 시간과 높은 처리량으로 비전 모델을 배포해야 하는 C++ 개발자 및 엔지니어, 특히 여러 가지 비전 작업을 포함하는 제품을 개발하는 분들에게 적합합니다. CUDA, TensorRT 및 Makefile이나 CMake 경로 수정에 익숙해야 합니다. 또한 단일 코드베이스에서 YOLO 변형, OCR, 차선 탐지, 깊이 추정 등을 빠르게 벤치마킹하거나 배포하려는 연구자에게도 유용합니다.
주요 특징
- 20개 이상의 모델, 단일 실행 파일: 작업 이름으로 전환 가능하며 작업별 프로젝트 유지 관리가 필요 없음.
- 전체 GPU 파이프라인: 리사이즈, 정규화, 디코드, NMS 및 깊이 리사이즈가 모두 CUDA 커널로 구현되어 CPU↔GPU 왕복을 방지.
- TensorRT 8.x/10.x 적응형: 조건부 컴파일을 통해 protobuf 없이 두 API 세대 모두 지원.
- 동적 배치 및 세 가지 정밀도: FP32, FP16, INT8 지원 및 Entropy와 MinMax 캘리브레이터 내장.
- 모듈식 확장: 작업 추가 시 preprocess(), worker() 및 후처리 커널만 구현하면 됨.
- 폭넓은 작업 범위: 탐지(YOLOv3–v13, v26, DETR), 분류, 세그멘테이션, 포즈, OBB, 깊이, OCR, 차선, ByteTrack 추적.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트