Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
SimdPaddleOCR is a pure C# inference library for PP-OCRv6 text detection and recognition, published on NuGet by developer sdcb (Sdcb.SimdPaddleOCR), with the GitHub repository created on September 5, 2026. It ships a managed ONNX interpreter with hand-written SIMD kernels and GEMM routines, and does not depend on Paddle Inference, ONNX Runtime, or native OpenCV libraries. The core API accepts interleaved pixel buffers, BGR24 by default, with RGB24, BGRA32, and RGBA32 also first-class formats, and it does not decode images itself, so callers pair it with ImageSharp, SkiaSharp, OpenCvSharp, or System.Drawing.Bitmap. NuGet packages include a core inference library (net10.0, netstandard2.0), a model-contract package, and separate PP-OCRv6 model packages for tiny, small, and medium Chinese weights plus a shared PP-LCNet text-line-orientation classifier; models load from embedded assembly resources, and local DET, CLS, REC, and dictionary files can also be loaded from disk. .NET 10 is the recommended runtime for full x86 SIMD coverage and NativeAOT compatibility, while netstandard2.0 consumers such as .NET Framework 4.8 fall back to Vector or scalar code because AVX, AVX-512, and VNNI paths are excluded at compile time. CI covers Windows, Linux, and macOS on x64 and ARM64; at runtime the library probes AVX, then AVX2, then AVX-512/VNNI, falling back to Vector or scalar code when unavailable or on ARM; it is CPU-only with no GPU support. The README reports that v1.4.2, versus v1.3.0, cut the tiny four-worker configuration's peak working set by roughly 300 MB (817 to 515 MB on win-x64, 840 to 572 MB on linux-arm64); on the CI test set the tiny model recognized 767 of 1,032 text lines exactly, with a 2.36% character error rate. On a local Ryzen 7 5800X over the repository's 100-image dataset, the README reports mean per-image time falling from 86.0 to 63.1 ms for the tiny model between v1.3.0 and v1.4.2, with smaller gains for the small and medium models. Source and documentation are Apache-2.0; the PP-OCRv6 weights and text-line-orientation classifier originate from the PaddleOCR ecosystem and are marked Apache-2.0 in their own materials, and the README states the project is not an official PaddleOCR release and implies no endorsement.