PP-OCRv5

PP-OCRv5 là pipeline phát hiện và nhận dạng văn bản của PaddleOCR: detector nhị phân hóa khả vi định vị các tứ giác văn bản và bộ nhận dạng SVTR/CTC đọc chúng. LibreYOLO chuyển mô hình sang PyTorch với hai tầng.

Tác vụ
ocr
Kích thước
t, l at 960 px
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
Thượng nguồn
PaddleOCR (PP-OCRv5) của PaddlePaddle Authors, Apache-2.0. Bài báo, mã nguồn
Giấy phép
Mã nguồn Apache-2.0, trọng số Apache-2.0. Sử dụng thương mại

Cài đặt

PP-OCRv5 không cần extra ngoài gói cơ sở.

bash
pip install libreyolo

Dự đoán

Trọng số được tải từ Hugging Face ở lần dùng đầu tiên và lưu vào bộ nhớ đệm cục bộ.

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
Tứ giác
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPOCRl-ocr.pt")result = model(SAMPLE_IMAGE) # Đa giác (N, 4, 2) theo thứ tự đọc: trên-trái, trên-phải,# dưới-phải, dưới-trái. Tứ giác phát hiện là đa giác thực# (văn bản xoay), nên nằm trong result.ocr chứ không phải result.boxes.print(result.ocr.data.shape)print(result.ocr.det_conf)

Mỗi checkpoint gói cả hai giai đoạn phát hiện và nhận dạng trong một tệp .pt, với bộ ký tự nhận dạng và giá trị mặc định của pipeline nằm trong metadata checkpoint. Bộ nhận dạng đọc tiếng Trung giản thể và phồn thể, tiếng Anh, tiếng Nhật và pinyin bằng một từ điển. result.ocr là payload OCRRegions: .data chứa các đa giác bốn điểm, .texts chứa văn bản nhận dạng, .conf chứa điểm nhận dạng theo vùng và .det_conf chứa điểm phát hiện. Nguồn nhiều ảnh chạy tuần tự: pipeline hai giai đoạn không tạo batch giữa các ảnh. Xem dự đoán để biết về nguồn, streaming và xử lý kết quả.

Các biến thể

Có hai tầng: t, xây dựng trên các backbone PP-LCNetV3/PP-OCRv5_mobile nhẹ hơn để dùng với CPU, và l, xây dựng trên backbone server PP-HGNetV2 để có độ chính xác cao hơn. Cả hai tầng chạy phát hiện với giới hạn cạnh dài cố định và nhận dạng các crop theo batch; rec_batch điều khiển số crop đi qua bộ nhận dạng trong mỗi forward pass.

Đánh giá

val() đo pipeline trên một thư mục ảnh cùng tệp labels/<split>.jsonl hoặc YAML tập dữ liệu tương đương; mỗi nhãn liệt kê các đa giác vùng văn bản và nội dung của chúng theo từng ảnh. Phương thức báo cáo hmean phát hiện (precision/recall/F1 được ghép theo IoU), F1 đầu cuối (hmean cộng với kết quả khớp chính xác văn bản sau chuẩn hóa, là chỉ số fitness của checkpoint) và 1-NED, tức khoảng cách chỉnh sửa chuẩn hóa trung bình trên các cặp đã ghép.

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

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
ocrocr to ONNX: không được hỗ trợocr to TorchScript: không được hỗ trợocr to ExecuTorch: không được hỗ trợocr to TensorRT: không được hỗ trợocr to OpenVINO: không được hỗ trợocr to Paddle: không được hỗ trợocr to MNN: không được hỗ trợocr to RKNN: không được hỗ trợocr to ncnn: không được hỗ trợocr to TFLite: không được hỗ trợocr to CoreML: không được hỗ trợocr to Core AI: không được hỗ trợ

PP-OCRv5 là pipeline hai mạng, trong đó phát hiện và nhận dạng di chuyển cùng nhau, không phải một đồ thị có thể truy vết; chức năng xuất chưa được triển khai: chưa hỗ trợ định dạng nào. Hãy tinh chỉnh trực tiếp mã huấn luyện thượng nguồn theo Apache-2.0 và chuyển đổi kết quả bằng weights/convert_ppocr_weights.py nếu bạn cần checkpoint ngoài định dạng này.

Checkpoint

Mọi tệp trọng số đã công bố cho họ này.

TệpĐầu vào (px)Giấy phép trọng số
ocr
LibrePPOCRt-ocr.ptapache-2.0
LibrePPOCRl-ocr.ptapache-2.0

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
PaddleOCR (PP-OCRv5), PaddlePaddle Authors
Giấy phép thượng nguồn
Apache-2.0
Nguồn thượng nguồn
github.com/PaddlePaddle/PaddleOCR
Mã nguồn LibreYOLO
MIT
Trọng số
Apache-2.0, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
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.

Trích dẫn

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

Được sao chép từ khối trích dẫn của tác giả tại github.com/PaddlePaddle/PaddleOCR#citation.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.