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.
Origine
PaddleOCR (PP-OCRv5) di PaddlePaddle Authors, Apache-2.0. Articolo, sorgente
Licenze
Codice Apache-2.0, pesi Apache-2.0. Uso commerciale

Installazione

PP-OCRv5 non richiede nessun extra oltre al pacchetto base.

bash
pip install libreyolo

Predizione

I pesi vengono scaricati da Hugging Face al primo utilizzo e restano in cache in locale.

Python
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))
CLI
libreyolo predict model=LibrePPOCRl-ocr.pt source=receipt.jpg save=True
Quadrilateri
from 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.

Python
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"])
CLI
libreyolo val model=LibrePPOCRl-ocr.pt data=my-dataset

Esportazione

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
ocrocr to ONNX: non supportatoocr to TorchScript: non supportatoocr to ExecuTorch: non supportatoocr to TensorRT: non supportatoocr to OpenVINO: non supportatoocr to Paddle: non supportatoocr to MNN: non supportatoocr to RKNN: non supportatoocr to ncnn: non supportatoocr to TFLite: non supportatoocr to CoreML: non supportatoocr 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.

FileIngresso (px)Licenza dei pesi
ocr
LibrePPOCRt-ocr.ptapache-2.0
LibrePPOCRl-ocr.ptapache-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
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.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.