Repository navigation
SimdPaddleOCR 2.0
第一次升大版本号:1.x 在 CPU SIMD 上打磨,2.0 加上了 GPU 后端 —— Vulkan / Metal,从算子内核到驱动互操作全部是 C#,仓库里依然没有一行 C/C++。
GPU 后端
OcrBackend.Auto/Cpu/Vulkan/Metal,检测、方向、识别三个模型可分别指定,默认Auto(仅 .NET 10 目标可用)- medium 模型端到端实测(相对同机 CPU):RTX 3080 Ti 14.4×、Intel Arc B580 9.6×、Apple M4 Metal 6.47×、AMD Radeon 880M 核显 4.3×、骁龙 8 Gen 3 / Adreno 750 约 2.2×
- 无协作矩阵或实测慢于 CPU 的设备(如 Intel UHD 770)
Auto默认留在 CPU,仍可显式指定OcrBackend.Vulkan
CPU 路径
- CTC ArgMax 并行化 + 动态 intra-op 线程预算,普遍再快 4–15%
- ARM64 手写 AdvSIMD MatMul
- DET 后处理 flood-fill 重写(5.4 → 2.2 ms)
WebAssembly
browser-wasm多线程 Web Workers + SharedArrayBuffer + LLVM AOT,tiny 中位 103 ms/张,详见docs/wasm.md
新 API
returnCtcAlignment: true→PaddleOcrLine.EstimateCharacterBoxes()返回逐字符四边形PaddleOcrCharacterBox[](CTC 对齐估算,空白按中点切)CtcSpans/RecognitionTimeSteps/RecognitionTensorWidth等公开属性
包版本
Sdcb.SimdPaddleOCR2.0.0(net10.0+netstandard2.0)ModelProvider与四个模型包维持 1.0.0,无破坏性 API 变更
性能报告
每台设备的完整跑分、精度和复现命令:docs/perf.md、docs/vulkan-*.md、docs/metal-m4.md、docs/wasm.md