LibrePPOCRl-ocr
PP-OCRv5 server tier (quality tier) converted to the LibreYOLO checkpoint
format: one composite .pt bundling the DB text detector (det.*) and the
CTC text recognizer (rec.*) plus the PP-OCRv5 recognition dictionary as
charset metadata. Recognition covers Simplified Chinese, Traditional
Chinese, English, Japanese, and Chinese pinyin with one dictionary and one
model.
from libreyolo import LibreYOLO
model = LibreYOLO("LibrePPOCRl-ocr.pt")
r = model("receipt.jpg")
for poly, text, conf in zip(r.ocr.polygons, r.ocr.texts, r.ocr.conf):
print(text, float(conf))
Provenance
Converted with weights/convert_ppocr_weights.py from the official Apache-2.0
PP-OCRv5 training checkpoints released by the
PaddleOCR project
(paper: PaddleOCR 3.0 Technical Report):
| Upstream checkpoint | SHA-256 |
|---|---|
PP-OCRv5_server_det_pretrained.pdparams |
2802f7d4748ea592819ae4550c195c5bdb43755dfdb5ebd25e01bb4d885aebc9 |
PP-OCRv5_server_rec_pretrained.pdparams |
8ce5dfc1294af6ee680d562841a9909257d6a9a9242387c2e8dc50ea8f647143 |
This file: LibrePPOCRl-ocr.pt, SHA-256
6a58b6a2af947a40d48e50c2aa2f050b300d10367bdba5840993b900bf59358e.
The conversion is a name-mapped metadata wrap (batch-norm buffer renames,
Linear transposes, det./rec. namespacing); learned parameters are
unchanged. Stage parity vs the official PP-OCRv5 inference graphs on
identical input tensors: detection maps match to <= 1e-4 and recognition
probabilities to <= 6e-5 with identical argmax.
Code and weights are used under the Apache License 2.0. Copyright (c) 2020 PaddlePaddle Authors.