PP-OCRv5 VoiceBridge β€” Snapdragon 8 Elite NPU (int8 TFLite)

PP-OCRv5 text detection and recognition for industrial ZH/KO safety signage, compiled to int8 TFLite via Qualcomm AI Hub for the Snapdragon 8 Elite (SM8750) Hexagon V79 HTP NPU.

Built for VoiceBridge β€” an offline VN↔EN/KO/ZH speech + sign translator for the OneVoice AI Challenge 2026 (Saigon AI Hub + Qualcomm).

Models

File Description Size NPU latency (S25 Ultra)
pp_ocrv5_det_mobile.tflite Text detection (PP-HGNetV2 + DB++) 807 KB 1.23 ms
pp_ocrv5_zh_rec.tflite Chinese text recognition (SVTR/CTC) 22 MB 0.99 ms
pp_ocrv5_ko_rec.tflite Korean text recognition (SVTR/CTC) 3.9 MB 0.49 ms
pp_ocrv5_lat_rec.tflite Latin text recognition (SVTR/CTC) 2.2 MB 0.31 ms
zh_dict.txt 18 383-char ZH dictionary β€” β€”
ko_dict.txt 11 945-char KO dictionary β€” β€”

Full ZH/KO sign pipeline β‰ˆ 2.2 ms on Hexagon NPU. 100% NPU β€” zero CPU fallback.

Performance

Latency β€” Samsung Galaxy S25 Ultra (SM8750, Android 15)

Measured via Qualcomm AI Hub cloud-hosted real device. Bench date: 2026-06-06. Tool: qai-hub==0.50.0, qairt==2.45.0.

model NPU ms NPU ops vs ORT CPU
det 1.23 156/156 (100%) 105Γ— faster
zh rec 0.99 219/219 (100%) 180Γ— faster
ko rec 0.49 223/223 (100%) 86Γ— faster
lat rec 0.31 223/223 (100%) 148Γ— faster

AI Hub job IDs: det=jg98xw1qp, zh=jp38we2x5, ko=jgnx7evm5, lat=jgj1wln8g

Accuracy β€” public dataset (ChineseOCRBench / ReCTS, Apache-2.0)

Real store-front signage photos (200 scored), standard ChineseOCRBench substring matching.

metric value
recall@full (answer fully recognized) 48.5%
mean char-recall 66.0%

ReCTS is VQA-style (ground truth = one region; full-image OCR is substring-matched), so recall@full understates pure recognition; char-recall reflects character-level quality on real, cluttered, perspective-distorted signs. Eval script in the VoiceBridge repo (benchmarks/ocr/bench_public.py).

Vietnamese: PP-OCRv5's Latin dictionary has no precomposed Vietnamese tone-mark vowels (verified by byte-level grep). Do not use this for Vietnamese β€” use a Vietnamese-specialized recognizer (e.g. VietOCR) or ML Kit.

Usage

# Download models
from huggingface_hub import hf_hub_download
det = hf_hub_download("nrl-ai/pp-ocrv5-voicebridge-snapdragon", "pp_ocrv5_det_mobile.tflite")
rec = hf_hub_download("nrl-ai/pp-ocrv5-voicebridge-snapdragon", "pp_ocrv5_zh_rec.tflite")

On-device (Flutter/Android + LiteRT + QNN delegate):

// See lib/pp_ocrv5.dart in vietanhdev/voicebridge for the full integration.
final engine = PpOcrV5Engine();
final results = await engine.recognize(imagePath, 'zh');

Source models & compilation

  • Source: PaddleOCR 3.x (Apache-2.0) β€” https://github.com/PaddlePaddle/PaddleOCR
  • ONNX exports: monkt/paddleocr-onnx (Apache-2.0, no pickle)
  • Compiled: qai-hub submit_compile_job(..., options="--target_runtime tflite --quantize_full_type int8") with random PTQ calibration data (100 samples per model)

Script: benchmarks/ocr/compile_aihub.py in https://github.com/vietanhdev/voicebridge

Citation

@software{voicebridge2026,
  author    = {Nguyen, Viet-Anh and {Neural Research Lab}},
  title     = {{VoiceBridge}: Offline On-Device Speech and Sign Translator},
  year      = {2026},
  url       = {https://github.com/vietanhdev/voicebridge},
  note      = {OneVoice AI Challenge 2026, Saigon AI Hub + Qualcomm}
}
Downloads last month
69
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support