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
  • プロジェクト
  • プロジェクト