PP-OCRv5
PP-OCRv5 est le pipeline de détection et de reconnaissance de texte de PaddleOCR : un détecteur à binarisation différentiable localise les quadrilatères de texte et un module de reconnaissance SVTR/CTC les lit. LibreYOLO le porte vers PyTorch en deux niveaux.
- Tâches
- ocr
- Tailles
- t, l at 960 px
- Installer
pip install libreyolo- Niveau de support
- Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
- Licences
- Code Apache-2.0, poids Apache-2.0. Usage commercial
Installer
PP-OCRv5 ne nécessite aucun extra en plus du paquet de base.
pip install libreyoloPrédire
Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.
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) # Polygones (N, 4, 2) dans l'ordre de lecture : haut gauche, haut droit,# bas droit, bas gauche. Les quadrilatères de détection sont de vrais# polygones (texte pivoté), ils remplissent result.ocr, pas result.boxes.print(result.ocr.data.shape)print(result.ocr.det_conf)Chaque checkpoint réunit les deux étapes, la détection et la reconnaissance,
dans un seul fichier .pt, tandis que le jeu de caractères de reconnaissance et
les valeurs par défaut du pipeline figurent dans les métadonnées du checkpoint.
Le module de reconnaissance lit le chinois simplifié et traditionnel, l'anglais,
le japonais et le pinyin à l'aide d'un seul dictionnaire. result.ocr est une
charge utile OCRRegions : .data contient les polygones à quatre points,
.texts les transcriptions, .conf le score de reconnaissance de chaque région
et .det_conf le score de détection. Les sources contenant plusieurs images
s'exécutent séquentiellement : le pipeline à deux étapes ne forme pas de batch
entre les images. Consultez la prédiction pour les sources, le
streaming et le traitement des résultats.
Variantes
Deux niveaux sont proposés : t, construit sur les backbones plus légers
PP-LCNetV3/PP-OCRv5_mobile pour le CPU, et l, construit sur les backbones
serveur PP-HGNetV2 pour une meilleure exactitude. Les deux niveaux exécutent la
détection avec une limite fixe sur le côté long et reconnaissent les recadrages
par batch ; rec_batch contrôle le nombre de recadrages transmis au module de
reconnaissance à chaque passe.
Valider
val() mesure le pipeline sur un dossier d'images accompagné d'un fichier
labels/<split>.jsonl, ou sur le YAML de dataset équivalent. Chaque étiquette
répertorie les polygones des régions de texte et leurs transcriptions pour
l'image correspondante. La méthode rapporte la moyenne harmonique de détection
(précision/rappel/F1 associés par IoU), le F1 de bout en bout (moyenne harmonique
plus correspondance exacte de la transcription après normalisation, la métrique
fitness du checkpoint) et 1-NED, la distance d'édition normalisée moyenne sur
les paires correspondantes.
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"]) # métrique principaleprint(metrics["metrics/rec_1-NED"])libreyolo val model=LibrePPOCRl-ocr.pt data=my-datasetExporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ocr | ocr to ONNX : non pris en charge | ocr to TorchScript : non pris en charge | ocr to ExecuTorch : non pris en charge | ocr to TensorRT : non pris en charge | ocr to OpenVINO : non pris en charge | ocr to Paddle : non pris en charge | ocr to MNN : non pris en charge | ocr to RKNN : non pris en charge | ocr to ncnn : non pris en charge | ocr to TFLite : non pris en charge | ocr to CoreML : non pris en charge | ocr to Core AI : non pris en charge |
PP-OCRv5 est un pipeline à deux réseaux, où détection et reconnaissance se
déplacent ensemble, et non un graphe unique pouvant être tracé. L'export n'est
pas implémenté : aucun format n'est encore pris en charge. Effectuez directement
le fine-tuning du code d'entraînement amont Apache-2.0 et convertissez le résultat
avec weights/convert_ppocr_weights.py si vous avez besoin d'un checkpoint hors
de ce format.
Checkpoints
Tous les fichiers de poids publiés pour cette famille.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| ocr | ||
| LibrePPOCRt-ocr.pt | apache-2.0 | |
| LibrePPOCRl-ocr.pt | apache-2.0 | |
Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.
Licence
Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.
Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.
- Travail d'origine
- PaddleOCR (PP-OCRv5), PaddlePaddle Authors
- Licence du projet d'origine
- Apache-2.0
- Source du projet d'origine
- github.com/PaddlePaddle/PaddleOCR
- Code de LibreYOLO
- MIT
- Poids
- Apache-2.0, republiés sur huggingface.co/LibreYOLO
- Interprétation
- 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.
Citation
@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},
}Copié depuis le bloc de citation des auteurs sur github.com/PaddlePaddle/PaddleOCR#citation.