模型概述
模型特點
模型能力
使用案例
🚀 PP-OCRv4_server_rec_doc
PP-OCRv4_server_rec_doc是基於PP-OCRv4_server_rec,在更多中文文檔數據和PP-OCR訓練數據的混合數據集上訓練得到的。它增強了對一些繁體字、日文字符和特殊符號的識別能力,支持超過15000個字符。除了提升與文檔相關的文本識別能力外,它還增強了通用文本識別能力。
🚀 快速開始
📦 安裝指南
1. 安裝PaddlePaddle
請參考以下命令,使用pip安裝PaddlePaddle:
# 適用於CUDA11.8
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# 適用於CUDA12.6
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# 適用於CPU
python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
PaddlePaddle安裝詳情請參考 PaddlePaddle官方網站。
2. 安裝PaddleOCR
從PyPI安裝最新版本的PaddleOCR推理包:
python -m pip install paddleocr
💻 使用示例
基礎用法
你可以使用單條命令快速體驗其功能:
paddleocr text_recognition \
--model_name PP-OCRv4_server_rec_doc \
-i https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/QmaPtftqwOgCtx0AIvU2z.png
你也可以將文本識別模塊的模型推理集成到你的項目中。在運行以下代碼之前,請將示例圖像下載到本地。
from paddleocr import TextRecognition
model = TextRecognition(model_name="PP-OCRv4_server_rec_doc")
output = model.predict(input="QmaPtftqwOgCtx0AIvU2z.png", batch_size=1)
for res in output:
res.print()
res.save_to_img(save_path="./output/")
res.save_to_json(save_path="./output/res.json")
運行後,得到的結果如下:
{'res': {'input_path': '/root/.paddlex/predict_input/QmaPtftqwOgCtx0AIvU2z.png', 'page_index': None, 'rec_text': 'the number of model parameters and FLOPs get larger, it', 'rec_score': 0.9796906113624573}}
可視化圖像如下:
使用命令和參數說明詳情請參考 文檔。
高級用法
單個模型的能力是有限的,但由多個模型組成的管道可以提供更強的能力來解決現實場景中的難題。
PP-OCRv4
通用OCR管道用於通過從圖像中提取文本信息並以字符串格式輸出,來解決文本識別任務。管道中有5個模塊:
- 文檔圖像方向分類模塊(可選)
- 文本圖像矯正模塊(可選)
- 文本行方向分類模塊(可選)
- 文本檢測模塊
- 文本識別模塊
運行單條命令快速體驗OCR管道:
paddleocr ocr -i https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/818ebrVG4OtH3sjLR-NRI.png \
--text_recognition_model_name PP-OCRv4_server_rec_doc \
--use_doc_orientation_classify False \
--use_doc_unwarping False \
--use_textline_orientation True \
--save_path ./output \
--device gpu:0
結果會打印到終端:
{'res': {'input_path': '/root/.paddlex/predict_input/818ebrVG4OtH3sjLR-NRI.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': True, 'use_textline_orientation': True}, 'doc_preprocessor_res': {'input_path': None, 'page_index': None, 'model_settings': {'use_doc_orientation_classify': False, 'use_doc_unwarping': False}, 'angle': -1}, 'dt_polys': array([[[ 0, 10],
...,
[ 0, 72]],
...,
[[189, 915],
...,
[190, 960]]], dtype=int16), 'text_det_params': {'limit_side_len': 64, 'limit_type': 'min', 'thresh': 0.3, 'max_side_limit': 4000, 'box_thresh': 0.6, 'unclip_ratio': 1.5}, 'text_type': 'general', 'textline_orientation_angles': array([1, ..., 0]), 'text_rec_score_thresh': 0.0, 'rec_texts': ['國8866', 'PPSS', '登機牌', 'BOARDING', '座位號', 'SEAT NO.', '艙位', 'CLASS', '序號', '日期DATE', 'SERIAL NO.', '航班FLIGHT', 'W', '035', 'MU237903DEC', '始發地', 'FROM', '登機口', 'GATE', '登機時間BDT', '目的地TO', '福州', 'TAIYUAN', 'G11', 'FUZHOU', '身份識別IDNO.', '姓名', 'NAME', 'ZHANGQIWEI', '票號TKTNO.', '張祺偉', '票價FARE', 'ETKT7813699238489/1', '登機口於起飛前1O分鐘關閉 GATESCLOSE1OMINUTESBEFOREDEPARTURETIME'], 'rec_scores': array([0.80317128, ..., 0.96791613]), 'rec_polys': array([[[ 0, 10],
...,
[ 0, 72]],
...,
[[189, 915],
...,
[190, 960]]], dtype=int16), 'rec_boxes': array([[ 0, ..., 72],
...,
[189, ..., 960]], dtype=int16)}}
如果指定了save_path
,可視化結果將保存在save_path
下。可視化輸出如下:
命令行方法用於快速體驗。對於項目集成,也只需要幾行代碼:
from paddleocr import PaddleOCR
ocr = PaddleOCR(
text_recognition_model_name="PP-OCRv4_server_rec_doc",
use_doc_orientation_classify=False, # 使用use_doc_orientation_classify啟用/禁用文檔方向分類模型
use_doc_unwarping=False, # 使用use_doc_unwarping啟用/禁用文檔矯正模塊
use_textline_orientation=True, # 使用use_textline_orientation啟用/禁用文本行方向分類模型
device="gpu:0", # 使用device指定GPU進行模型推理
)
result = ocr.predict("https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/818ebrVG4OtH3sjLR-NRI.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
管道中默認使用的模型是PP-OCRv5_server_rec
,因此需要通過參數text_recognition_model_name
指定為PP-OCRv4_server_rec_doc
。你也可以通過參數text_recognition_model_dir
使用本地模型文件。使用命令和參數說明詳情請參考 文檔。
✨ 主要特性
PP-OCRv4_server_rec_doc具有以下主要特性:
- 基於PP-OCRv4_server_rec在混合數據集上訓練,增強了對繁體字、日文字符和特殊符號的識別能力。
- 支持超過15000個字符,提升了文檔相關文本和通用文本的識別能力。
📚 詳細文檔
屬性 | 詳情 |
---|---|
模型類型 | PP-OCRv4_server_rec_doc |
訓練數據 | 更多中文文檔數據和PP-OCR訓練數據的混合數據集 |
📄 許可證
本項目採用Apache-2.0許可證。
🔗 相關鏈接
⚠️ 重要提示
如果一行中的任何字符(包括標點符號)識別錯誤,則整行將被標記為錯誤。這確保了在實際應用中具有更高的準確性。










