pp-ocrv6-small-onnx

PaddleOCR's PP-OCRv6 small text detector and multilingual recogniser as ONNX, as RapidOCR 3.10.0 publishes them, for vinoSearch to read screenshots and scanned PDFs on the Intel NPU (karanshukla/vinoSearch#106).

Files

File What SHA-256
onnx/PP-OCRv6_det_small.onnx DB text detector, x [N, 3, H, W] → probability map [N, 1, H, W] 090f04ab…e1ff94f
onnx/PP-OCRv6_rec_small.onnx CTC recogniser, x [N, 3, 48, W] → [N, W/8, 18710] 6f327246…3c14884
ppocrv6_dict.txt The recogniser's 18,708 characters, one a line b5f2bfe2…77e401c5d

The two graphs are RapidOCR v3.10.0's byte for byte (the SHA-256s in its default_models.yaml). The dict is the character entry of the recogniser's own metadata, written out, and is identical to RapidOCR's ppocrv6_dict.txt. The recogniser's 18,710 classes are CTC blank at 0, the dict, then a space.

Languages, as RapidOCR lists them for this model: Chinese (simplified and traditional), Japanese, English and Latin-script languages (de, es, fr, it, nl, pl, pt, sv, tr, vi and others). Not Cyrillic, Arabic or Korean.

On the NPU

The graphs have dynamic inputs; reshape to static ones before compiling. Measured on an Intel Core 5 320 (Wildcat Lake) NPU, OpenVINO 2026.4.1, against the CPU on the same input:

Graph Shape NPU CPU NPU against CPU
detector [1, 3, 1088, 1920] 64 ms 200 ms mean |Δ| 2e-5
detector [1, 3, 736, 736] 21 ms 50 ms mean |Δ| 3e-5
recogniser [1, 3, 48, 320] 3 ms 10 ms argmax identical
recogniser [1, 3, 48, 1280] 11 ms 29 ms argmax identical

vinoSearch scales each image (aspect kept, padded with black) into one of two detector shapes, 1088×1920 landscape or 1920×1088 portrait, and pads each line to the smallest recogniser width of 320, 640 or 1280 that fits. On 1920×1080 browser screenshots that finds 96-98% of the words the page shows, in 0.3-0.4 s an image, against 86-94% in 1.7-2.9 s for RapidOCR's dynamic-shape pipeline on the CPU.

Preprocessing

  • Detector: BGR, (x / 255 - 0.5) / 0.5, CHW. Threshold the map at 0.3, dilate 2×2, keep regions scoring 0.5 or more, grow each by area × 1.6 / perimeter.
  • Recogniser: the line's crop scaled to height 48, aspect kept, BGR, (x / 255 - 0.5) / 0.5, padded with 0 on the right. Greedy CTC: argmax, collapse repeats, drop blanks.

Licence

Apache-2.0. The weights are Baidu's / PaddleOCR's; see MODEL_LICENSES.md (RapidOCR's notice) and LICENSE.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support