PP-OCRv5

PP-OCRv5 ist die Pipeline von PaddleOCR für Texterfassung und -erkennung: Ein Detektor mit differenzierbarer Binarisierung lokalisiert Textvierecke, ein SVTR/CTC-Erkenner liest sie. LibreYOLO portiert zwei Tiers nach PyTorch.

Aufgaben
ocr
Größen
t, l at 960 px
Installation
pip install libreyolo
Supportstufe
Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
Upstream
PaddleOCR (PP-OCRv5) von PaddlePaddle Authors, Apache-2.0. Publikation, Quelle
Lizenzen
Code Apache-2.0, Gewichte Apache-2.0. Kommerzielle Nutzung

Installation

PP-OCRv5 benötigt neben dem Basispaket kein Zusatzpaket.

bash
pip install libreyolo

Vorhersage

Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.

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
Vierecke
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE) # Polygone der Form (N, 4, 2) in Lesereihenfolge: oben links, oben rechts,# unten rechts, unten links. Erkennungsvierecke sind echte Polygone# (gedrehter Text) und landen daher in result.ocr statt result.boxes.print(result.ocr.data.shape)print(result.ocr.det_conf)

Jeder Checkpoint bündelt beide Phasen, Erfassung und Erkennung, in einer .pt-Datei. Zeichensatz und Pipeline-Standardwerte des Erkenners stehen in den Checkpoint-Metadaten. Der Erkenner liest vereinfachtes und traditionelles Chinesisch, Englisch, Japanisch und Pinyin mit einem Wörterbuch. result.ocr ist eine OCRRegions-Nutzlast: .data enthält die Vierpunktpolygone, .texts die Transkripte, .conf den Erkennungs-Score pro Region und .det_conf den Erfassungs-Score. Quellen mit mehreren Bildern werden nacheinander verarbeitet. Die zweistufige Pipeline bildet keine Batches über mehrere Bilder. Unter Vorhersage findest du Quellen, Streaming und die Verarbeitung von Ergebnissen.

Varianten

Es gibt zwei Tiers: t verwendet leichtere PP-LCNetV3/PP-OCRv5_mobile-Backbones für CPUs, l PP-HGNetV2-Server-Backbones für höhere Accuracy. Beide Tiers führen die Erfassung mit einer festen Grenze für die lange Seite aus und erkennen Zuschnitte in Batches. rec_batch steuert, wie viele Zuschnitte pro Vorwärtslauf den Erkenner durchlaufen.

Validierung

val() misst die Pipeline anhand eines Bildverzeichnisses plus einer Datei labels/<split>.jsonl oder einer gleichwertigen Datensatz-YAML. Jedes Label führt die Polygone und Transkripte der Textregionen eines Bildes auf. Gemeldet werden Detection Hmean (Precision/Recall/F1 mit IoU-Abgleich), End-to-End F1 (Hmean plus exakte Übereinstimmung des normalisierten Transkripts, die Fitnessmetrik des Checkpoints) und 1-NED, die mittlere normalisierte Editierdistanz über zugeordnete Paare.

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"])       # Hauptmetrikprint(metrics["metrics/rec_1-NED"])
CLI
libreyolo val model=LibrePPOCRl-ocr.pt data=my-dataset

Export

AufgabeONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
ocrocr to ONNX: nicht unterstütztocr to TorchScript: nicht unterstütztocr to ExecuTorch: nicht unterstütztocr to TensorRT: nicht unterstütztocr to OpenVINO: nicht unterstütztocr to Paddle: nicht unterstütztocr to MNN: nicht unterstütztocr to RKNN: nicht unterstütztocr to ncnn: nicht unterstütztocr to TFLite: nicht unterstütztocr to CoreML: nicht unterstütztocr to Core AI: nicht unterstützt

PP-OCRv5 ist eine Pipeline aus zwei Netzwerken, Erfassung und Erkennung, die gemeinsam verschoben werden, und kein einzelner tracebarer Graph. Der Export ist nicht implementiert, noch wird ein Format unterstützt. Trainiere den Apache-2.0-Upstream-Code direkt nach und konvertiere das Ergebnis mit weights/convert_ppocr_weights.py, wenn du einen Checkpoint außerhalb dieses Formats benötigst.

Checkpoints

Alle veröffentlichten Gewichtsdateien dieser Familie.

DateiEingabe (px)Lizenz der Gewichte
ocr
LibrePPOCRt-ocr.ptapache-2.0
LibrePPOCRl-ocr.ptapache-2.0

Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.

Lizenzierung

Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.

Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.

Originalarbeit
PaddleOCR (PP-OCRv5), PaddlePaddle Authors
Upstream-Lizenz
Apache-2.0
LibreYOLO-Code
MIT
Gewichte
Apache-2.0, erneut unter huggingface.co/LibreYOLO veröffentlicht
Einordnung
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.

Zitieren

@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}, 
}

Aus dem Zitierblock der Autoren unter github.com/PaddlePaddle/PaddleOCR#citation kopiert.

Mit LibreYOLO v1.5.0 verifiziert. Supporttabellen, Checkpoints und Benchmarkwerte auf dieser Seite werden aus der veröffentlichten Bibliothek und den publizierten Gewichten generiert und nicht von Hand geschrieben.