PP-OCRv5
PP-OCRv5 è la pipeline di rilevamento e riconoscimento del testo di PaddleOCR: un rilevatore a binarizzazione differenziabile individua i quadrilateri di testo e un riconoscitore SVTR/CTC li legge. LibreYOLO la porta su PyTorch in due livelli.
- Task
- ocr
- Dimensioni
- t, l at 960 px
- Installa
pip install libreyolo- Livello di supporto
- Solo inferenza, dalla v. Solo predizione, validazione ed esportazione. Le funzionalità di addestramento non si applicano.
- Licenze
- Codice Apache-2.0, pesi Apache-2.0. Uso commerciale
Installazione
PP-OCRv5 non richiede nessun extra oltre al pacchetto base.
pip install libreyoloPredizione
I pesi vengono scaricati da Hugging Face al primo utilizzo e restano in cache in locale.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE, save=True) for text, conf in zip(result.ocr.texts, result.ocr.conf): print(text, float(conf))libreyolo predict model=LibrePPOCRl-ocr.pt source=receipt.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE) # Poligoni (N, 4, 2) in ordine di lettura: alto-sinistra, alto-destra,# basso-destra, basso-sinistra. I quadrilateri di rilevamento sono veri# poligoni (testo ruotato), quindi popolano result.ocr, non result.boxes.print(result.ocr.data.shape)print(result.ocr.det_conf)Ogni checkpoint racchiude entrambi gli stadi, rilevamento e riconoscimento, in
un unico file .pt, con il charset di riconoscimento e i valori predefiniti
della pipeline conservati nei metadati del checkpoint. Il riconoscitore legge
cinese semplificato e tradizionale, inglese, giapponese e pinyin con un unico
dizionario. result.ocr è un payload OCRRegions: .data contiene i poligoni
a quattro punti, .texts le trascrizioni, .conf il punteggio di
riconoscimento per regione e .det_conf il punteggio di rilevamento. Le
sorgenti multi-immagine vengono eseguite in sequenza: la pipeline a due stadi
non raggruppa in batch fra immagini diverse. Vedi
predizione per sorgenti, streaming e gestione dei risultati.
Varianti
Due livelli: t, costruito sui backbone più leggeri PP-LCNetV3/PP-OCRv5_mobile
per l'uso su CPU, e l, costruito sui backbone server PP-HGNetV2 per
un'accuratezza maggiore. Entrambi i livelli eseguono il rilevamento con un
limite fisso sul lato lungo e riconoscono i ritagli in batch; rec_batch
controlla quanti ritagli passano nel riconoscitore a ogni forward pass.
Validazione
val() misura la pipeline su una directory di immagini più un file
labels/<split>.jsonl, oppure sull'equivalente YAML del dataset, dove ogni
etichetta elenca i poligoni delle regioni di testo per immagine e le loro
trascrizioni. Riporta l'hmean di rilevamento (precisione/recall/F1 con match su
IoU), l'F1 end-to-end (l'hmean più una corrispondenza esatta della trascrizione
dopo normalizzazione, la metrica di fitness del checkpoint) e 1-NED, la
distanza di edit normalizzata media sulle coppie corrispondenti.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePPOCRl-ocr.pt")metrics = model.val(data="my-dataset") print(metrics["metrics/det_hmean"])print(metrics["metrics/e2e_f1"]) # metrica principaleprint(metrics["metrics/rec_1-NED"])libreyolo val model=LibrePPOCRl-ocr.pt data=my-datasetEsportazione
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ocr | ocr to ONNX: non supportato | ocr to TorchScript: non supportato | ocr to ExecuTorch: non supportato | ocr to TensorRT: non supportato | ocr to OpenVINO: non supportato | ocr to Paddle: non supportato | ocr to MNN: non supportato | ocr to RKNN: non supportato | ocr to ncnn: non supportato | ocr to TFLite: non supportato | ocr to CoreML: non supportato | ocr to Core AI: non supportato |
PP-OCRv5 è una pipeline a due reti, rilevamento e riconoscimento che si muovono
insieme, non un unico grafo tracciabile, e l'esportazione non è implementata:
nessun formato è ancora supportato. Fai fine-tuning direttamente sul codice di
addestramento upstream con licenza Apache-2.0 e converti il risultato con
weights/convert_ppocr_weights.py se ti serve un checkpoint fuori da questo
formato.
Checkpoint
Tutti i file di pesi pubblicati per questa famiglia.
| File | Ingresso (px) | Licenza dei pesi |
|---|---|---|
| ocr | ||
| LibrePPOCRt-ocr.pt | apache-2.0 | |
| LibrePPOCRl-ocr.pt | apache-2.0 | |
Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.
Licenze
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- PaddleOCR (PP-OCRv5), PaddlePaddle Authors
- Licenza upstream
- Apache-2.0
- Sorgente upstream
- github.com/PaddlePaddle/PaddleOCR
- Codice LibreYOLO
- MIT
- Pesi
- Apache-2.0, ripubblicati su huggingface.co/LibreYOLO
- Interpretazione
- Apache-2.0 is a permissive license: the architecture, the officially released PP-OCRv5 checkpoints this port converts, and LibreYOLO's own PyTorch port may all be used, modified and redistributed, including commercially, provided the license text and attribution notices travel with any copy. It grants a patent license and places no obligation on your own application code.
Citazione
@misc{cui2025paddleocr30technicalreport,
title={PaddleOCR 3.0 Technical Report},
author={Cheng Cui and Ting Sun and Manhui Lin and Tingquan Gao and Yubo Zhang and Jiaxuan Liu and Xueqing Wang and Zelun Zhang and Changda Zhou and Hongen Liu and Yue Zhang and Wenyu Lv and Kui Huang and Yichao Zhang and Jing Zhang and Jun Zhang and Yi Liu and Dianhai Yu and Yanjun Ma},
year={2025},
eprint={2507.05595},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2507.05595},
}Copiato dal blocco di citazione degli autori disponibile su github.com/PaddlePaddle/PaddleOCR#citation.