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.
- 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ở.
pip install libreyoloDự đ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ộ.
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) # Đ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.
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"])libreyolo val model=LibrePPOCRl-ocr.pt data=my-datasetXuất
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ocr | ocr 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.pt | apache-2.0 | |
| LibrePPOCRl-ocr.pt | apache-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.