Opencv
Open Source Computer Vision Library
C++ implementations of PP-OCRv3/4/5/6 using ncnn for inference.
This repository provides C++ implementations of PP-OCRv3/4/5/6, inspired by the official PaddleOCR project and using ncnn for inference.
The Release page contains a complete project archive that includes resources like models and images required to run the demo.
./main ../config.json ../images/ocr_img1.png
I ran benchmarks on a VPS using ocr_img1.png (simple) and ocr_img3.png (complex). You can find those images inside the release page archive.tar.gz.
CPU: 2 x Intel(R) Xeon(R) Platinum (2) @ 2.50 GHz
| Models | Latency / Peak memory for ocr_img1 | Latency / Peak memory for ocr_img3 |
|---|---|---|
| PP-OCRv3 mobile | 88.09 ms / 106.2 MB | 926.34 ms / 228.3 MB |
| PP-OCRv4 mobile | 90.44 ms / 97.57 MB | 1005.45 ms / 211.5 MB |
| PP-OCRv5 mobile | 92.17 ms / 106.1 MB | 1062.56 ms / 292.2 MB |
| PP-OCRv5 server | 3948.50 ms / 1.545 GB | 11172.83 ms / OOM |
| PP-OCRv6 tiny | 67.45 ms / 62.22 MB | 420.28 ms / 156.7 MB |
| PP-OCRv6 small | 139.36 ms / 127.7 MB | 1590.45 ms / 351.4 MB |
| PP-OCRv6 medium | 584.79 ms / 425.3 MB | 6298.11 ms / 706.2 MB |
Enabling FP16 may be faster but can cause NaN results on some devices. Edit config.json to enable or disable FP16.
It is recommended to use an ncnn version the same as or newer than the PNNX version used to convert the models.
https://github.com/nihui/ncnn-android-ppocrv5
Open Source Computer Vision Library
12 Weeks, 24 Lessons, AI for All!
Implement a ChatGPT-like LLM in PyTorch from scratch, step by step
OpenDataLoader PDF - Monorepo workspace
Nueva versión disponible.