프로젝트 소개
YoloDotNet은 ONNX로 내보낸 YOLO 모델을 실행하기 위한 모듈식 .NET 8 컴퓨터 비전 라이브러리입니다. C#으로 구현되었으며 ONNX Runtime과 SkiaSharp을 사용하므로 Python 런타임이나 OpenCV가 필요하지 않습니다. 이 라이브러리는 Windows, Linux, macOS에서 데스크톱 애플리케이션, 백엔드 서비스, 실시간 비전 파이프라인을 대상으로 합니다.
지원되는 추론 작업에는 이미지 분류, 표준 객체 탐지, 방향성 바운딩 박스 탐지, 세그멘테이션, 포즈 추정이 포함됩니다. 문서에는 YOLOv5u부터 YOLOv26, YOLO-World, YOLO-E, RT-DETR 모델 제품군에 대한 지원이 나열되어 있으며, 특정 분류, 탐지, 세그멘테이션, 포즈, OBB 변형을 다루는 검증된 모델 표가 포함됩니다. 이미지 및 비디오 스트림 사용법은 저장소의 데모 프로젝트에서 시연됩니다.
핵심 YoloDotNet 패키지는 공급자에 구애받지 않으며, 사용자는 정확히 하나의 실행 공급자 패키지를 설치합니다. 사용 가능한 공급자는 CPU, 선택적 TensorRT 지원이 있는 CUDA, OpenVINO, CoreML, DirectML입니다. 플랫폼 가용성은 다양합니다. CPU는 Windows, Linux, macOS에서 작동하며, CUDA와 OpenVINO는 Windows와 Linux를 지원하고, CoreML은 macOS를 지원하며, DirectML은 Windows를 지원합니다. README는 공급자를 혼합하면 네이티브 런타임 충돌이 발생할 수 있다고 언급합니다.
API는 모델 로딩, 전처리, 임계값, 메모리, 실행 동작에 대한 명시적 제어를 위해 설계되었습니다. 일반적인 객체 탐지 흐름은 YoloOptions와 실행 공급자로 Yolo 인스턴스를 생성하고, SkiaSharp로 이미지를 디코딩한 후, 신뢰도 및 IoU 설정으로 RunObjectDetection을 호출하고, 결과를 그린 후 출력을 저장합니다. IoU 매개변수는 NMS 기반 모델에 적용되며, YOLOv10 및 YOLOv26과 같이 관련 후처리를 내부적으로 처리하는 모델에서는 무시됩니다.
버전 4.2는 선택한 이미지 또는 비디오 영역에 대한 관심 영역 추론, 세그먼트된 객체에 선택적 가장자리 그리기, 정렬된 윤곽점 추출, ToJson 및 SaveJson 결과 도우미, YOLO 스타일 주석 생성을 위한 ToYoloFormat 및 SaveYoloFormat 도우미를 추가합니다. 다른 문서화된 기능으로는 엔진 캐싱과 구성 가능한 크기 조정 및 샘플링 설정이 있습니다.
사용자는 자체 ONNX 모델을 제공해야 하며, 프로젝트는 사전 훈련된 가중치를 다운로드, 포함 또는 번들로 제공하지 않습니다. README는 YOLOv5u부터 YOLOv12까지는 Ultralytics 내보내기 opset 17을, YOLOv26은 opset 18을 권장합니다. YoloDotNet 자체는 MIT 라이선스이지만, Ultralytics 도구로 생성된 모델은 AGPL-3.0이거나 상업용 라이선스가 필요할 수 있으므로 사용자는 모델 라이선스 준수를 확인할 책임이 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.