PP-OCRv5
PP-OCRv5 adalah pipeline deteksi dan pengenalan teks milik PaddleOCR: detektor binarisasi terdiferensiasi menemukan kuadrilateral teks dan recognizer SVTR/CTC membacanya. LibreYOLO mem-porting-nya ke PyTorch dalam dua tier.
- Task
- ocr
- Ukuran
- t, l at 960 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial
Instalasi
PP-OCRv5 tidak memerlukan komponen tambahan selain paket dasar.
pip install libreyoloPrediksi
Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.
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) # Poligon (N, 4, 2) dalam urutan baca: kiri atas, kanan atas,# kanan bawah, kiri bawah. Kuadrilateral deteksi adalah poligon asli# (teks berotasi), sehingga mengisi result.ocr, bukan result.boxes.print(result.ocr.data.shape)print(result.ocr.det_conf)Setiap checkpoint menyertakan kedua tahap, deteksi dan pengenalan, dalam satu
berkas .pt, sedangkan set karakter pengenalan dan nilai default pipeline disimpan
dalam metadata checkpoint. Recognizer membaca bahasa Tionghoa Sederhana dan Tradisional,
Inggris, Jepang, serta pinyin dengan satu kamus. result.ocr adalah payload
OCRRegions: .data menyimpan poligon empat titik, .texts menyimpan
transkrip, .conf menyimpan skor pengenalan per wilayah, dan
.det_conf menyimpan skor deteksi. Sumber multi-gambar dijalankan secara berurutan:
pipeline dua tahap ini tidak melakukan batch lintas gambar. Lihat
prediksi untuk sumber, streaming, dan penanganan hasil.
Varian
Dua tier: t, dibangun pada backbone PP-LCNetV3/PP-OCRv5_mobile yang lebih ringan
untuk penggunaan CPU, dan l, dibangun pada backbone server PP-HGNetV2 untuk akurasi
lebih tinggi. Kedua tier menjalankan deteksi dengan batas sisi panjang yang tetap dan
mengenali crop dalam batch; rec_batch mengontrol jumlah crop yang melewati recognizer
per forward pass.
Validasi
val() mengukur pipeline terhadap direktori gambar beserta berkas
labels/<split>.jsonl, atau YAML dataset yang setara. Setiap label mencantumkan
poligon wilayah teks per gambar dan transkripnya. Metode ini melaporkan hmean deteksi
(presisi/recall/F1 yang dicocokkan dengan IoU), F1 end-to-end (hmean ditambah kecocokan
transkrip persis setelah normalisasi, yaitu metrik fitness checkpoint), serta 1-NED,
jarak edit ternormalisasi rata-rata pada pasangan yang cocok.
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"]) # metrik utamaprint(metrics["metrics/rec_1-NED"])libreyolo val model=LibrePPOCRl-ocr.pt data=my-datasetEkspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ocr | ocr to ONNX: tidak didukung | ocr to TorchScript: tidak didukung | ocr to ExecuTorch: tidak didukung | ocr to TensorRT: tidak didukung | ocr to OpenVINO: tidak didukung | ocr to Paddle: tidak didukung | ocr to MNN: tidak didukung | ocr to RKNN: tidak didukung | ocr to ncnn: tidak didukung | ocr to TFLite: tidak didukung | ocr to CoreML: tidak didukung | ocr to Core AI: tidak didukung |
PP-OCRv5 adalah pipeline dua jaringan, yaitu deteksi dan pengenalan yang bergerak
bersama, bukan satu graph yang dapat di-trace. Ekspor belum diimplementasikan untuknya:
belum ada format yang didukung. Lakukan fine-tuning langsung pada kode pelatihan upstream
berlisensi Apache-2.0 dan konversi hasilnya dengan weights/convert_ppocr_weights.py
jika memerlukan checkpoint di luar format ini.
Checkpoint
Setiap berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| ocr | ||
| LibrePPOCRt-ocr.pt | apache-2.0 | |
| LibrePPOCRl-ocr.pt | apache-2.0 | |
Setiap berkas di atas saat ini tersedia di organisasi LibreYOLO dan diunduh saat pertama kali digunakan.
Lisensi
Periksa lisensi di repositori Hugging Face untuk bobot tertentu yang diunduh. Setiap checkpoint di organisasi LibreYOLO memiliki lisensi, dan lisensinya tidak selalu sama dalam satu family. Repositori tersebut adalah sumber resmi. Ringkasan di bawah menjelaskan ketentuan yang berlaku saat halaman ini terakhir diverifikasi.
Ini adalah deskripsi lisensi yang terlibat, bukan nasihat hukum. Jika jawabannya penting secara komersial, baca sendiri lisensinya dan mintalah nasihat dari penasihat hukum Anda.
- Karya asli
- PaddleOCR (PP-OCRv5), PaddlePaddle Authors
- Lisensi upstream
- Apache-2.0
- Sumber upstream
- github.com/PaddlePaddle/PaddleOCR
- Kode LibreYOLO
- MIT
- Bobot
- Apache-2.0, dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- 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.
Sitasi
@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},
}Disalin dari blok sitasi penulis di github.com/PaddlePaddle/PaddleOCR#citation.