Hi everyone,
I’m sharing an engineering paper about getting a PP-OCRv6-based RapidOCR pipeline running on the Orange Pi Zero 3W’s Allwinner A733 / Vivante VIP9000 NPU, integrated into Visual AI.
Full paper: https://github.com/sog777/orange-pi-zero-3w-rapidocr-npu
The tests used the Orange Pi Debian 12 Bookworm image and its vendor NPU stack, not Armbian. This is an engineering case study, not an Armbian support request or a claim that the same binaries work on an Armbian image.
The paper covers the ONNX → ACUITY → NBG → VIPLite conversion path, static model shapes, targeted convolution and LayerNorm graph rewrites, quantization, simulator-versus-hardware checks, and physical-board validation.
The selected system remains hybrid: text detection and eligible recognition attempts run on the NPU, while canonical ONNX Runtime CPU recognition checks every crop and supplies the final text and confidence scores. Wide lines, orientation classification, preprocessing, and post-processing also use CPU execution.
A repeated reference recognizer test passed 100 runs, with a median call of 13.36 ms. A CPU-verified 18-line page took approximately 1.64–1.66 seconds, including 18 NPU recognition attempts and 18 CPU checks. These are different benchmark scopes; reference agreement does not establish perfect transcription, and no matched CPU-only speed advantage has been established.
The paper also describes higher-resolution tiled detection and rejected full-NPU experiments. One candidate reduced aggregate CPU consumption by approximately 77.65%, but increased processing time by approximately 79.34% and regressed accuracy, so it was not promoted.
I’m posting this for SBC developers interested in the practical limits of accelerator conversion and validation. This is a paper-only publication, without commands, a source-code release, or model downloads. Feedback on the methodology is welcome.