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.
Proyek upstream
PaddleOCR (PP-OCRv5) oleh PaddlePaddle Authors, Apache-2.0. Makalah, sumber
Lisensi
Kode Apache-2.0, bobot Apache-2.0. Penggunaan komersial

Instalasi

PP-OCRv5 tidak memerlukan komponen tambahan selain paket dasar.

bash
pip install libreyolo

Prediksi

Bobot diunduh dari Hugging Face saat pertama kali digunakan dan disimpan dalam cache lokal.

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
Kuadrilateral
from 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.

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

Ekspor

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

BerkasInput (piksel)Lisensi bobot
ocr
LibrePPOCRt-ocr.ptapache-2.0
LibrePPOCRl-ocr.ptapache-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
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.

Diverifikasi dengan LibreYOLO v1.5.0. Tabel dukungan, checkpoint, dan angka benchmark di halaman ini dihasilkan dari library yang telah dirilis dan bobot yang dipublikasikan, bukan ditulis manual.