sdcb/SimdPaddleOCR
纯 C# PP-OCRv6 推理库:多平台手写 Kernel / GEMM 等算子、超高性能、低内存需求、超高准确率。 自带托管 ONNX 解释器,不依赖 Paddle Inference、ONNX Runtime 或 OpenCV 原生库。
해결하는 문제
SimdPaddleOCR은 PP-OCRv6용 고성능 순수 C# 추론 라이브러리입니다. Paddle Inference, ONNX Runtime, OpenCV 네이티브 라이브러리와 같은 무거운 네이티브 종속성에 의존하지 않고 .NET 개발자가 OCR(광학 문자 인식)을 애플리케이션에 통합할 수 있도록 합니다.
작동 방식
이 라이브러리는 손으로 작성한 SIMD 커널과 GEMM 연산자를 갖춘 관리형 ONNX 인터프리터를 구현하여 높은 성능과 낮은 메모리 사용량을 보장합니다. BGR24, RGB24, BGRA32, RGBA32 등 여러 픽셀 형식을 지원하며 감지, 분류, 인식 단계에 걸쳐 추론 프로세스를 처리합니다.
하드웨어 가속을 위해 AVX/AVX2/AVX-512/VNNI를 통한 CPU 지원과 Vulkan 및 Metal(특히 .NET 10용)을 통한 GPU 지원을 제공하며, 모두 순수 C#으로 구현되어 네이티브 바이너리를 포함하지 않습니다.
대상 사용자
빠르고 가볍고 크로스 플랫폼인 OCR 솔루션이 필요하고, 특히 Native AOT 배포를 쉽게 하고 네이티브 바이너리 종속성 관리의 복잡성을 피하려는 .NET 개발자.
주요 특징
- 순수 C# 구현: ONNX Runtime이나 OpenCV 같은 네이티브 라이브러리에 대한 의존성 없음.
- 고성능: 손으로 작성한 SIMD 커널과 GPU 백엔드(Vulkan/Metal)로 최적화.
- 광범위한 호환성: .NET 10 및 .NET Standard 2.0을 지원하여 .NET Framework 4.8과도 호환.
- 유연한 입력: 원시 픽셀 메모리를 허용하여 ImageSharp, SkiaSharp, OpenCvSharp 등 다양한 이미지 라이브러리와 연동 가능.
- AOT 친화적: 효율적인 배포를 위해 Native AOT와 완전 호환.
- 문자 수준 정밀도: CTC 정렬을 사용하여 개별 문자 경계 상자를 추정할 수 있음.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트