百度飛槳 PaddleOCR 3.0 開源發布
2025 年 5 月 20 日,百度飛槳團隊正式發布了 PaddleOCR 3.0 版本,并將其開源。這一新版本在文字識別精度、多語種支持、手寫體識別以及高精度文檔解析等方面取得了顯著進展,進一步提升了 PaddleOCR 在 OCR 領域的技術實力和應用價值。
開源地址:
https://github.com/PaddlePaddle/PaddleOCR
技術亮點
全場景文字識別模型 PP-OCRv5
PP-OCRv5 是 PaddleOCR 3.0 的核心亮點之一,實現了單一模型支持簡體中文、繁體中文、中文拼音、英文、日文五種文字類型,以及手寫、豎版、拼音、生僻字等復雜文本場景的識別。與上一代相比,PP-OCRv5 的整體識別精度提升了 13 個百分點,達到了業界領先水平。通過統一模型架構,PP-OCRv5 簡化了部署流程,提升了識別的總體精度和速度。
通用文檔解析方案 PP-StructureV3
PP-StructureV3 增強了布局區域檢測、表格識別和公式識別的能力,增加了圖表理解和多列閱讀順序恢復的功能,并能夠將結果轉換為 Markdown 和 JSON 格式。在 OmniDocBench 基準測試中,PP-StructureV3 領先于許多開源和閉源解決方案,展現了其在多場景、多布局 PDF 高精度解析中的強大能力。
智能文檔理解方案 PP-ChatOCRv4
PP-ChatOCRv4 原生支持文心大模型 4.5 Turbo,關鍵信息提取的準確性相比前一代提高了 15 個百分點。它結合了大模型和小模型的優勢,支持多模態文檔理解模型 PP-DocBee2 的離線使用,為復雜文檔信息提取問題(如布局分析、生僻字、多頁 PDF、表格和印章識別)提供了一站式解決方案。
其他更新
PaddleOCR 3.0 還重構了部署能力,統一了推理接口,全面適配了飛槳框架 3.0 正式版,并優化了訓練流程。此外,它還新增了對昆侖芯、昇騰等國產硬件的支持。
? 快速開始
請參考安裝指南完成PaddlePaddle 3.0的安裝,然后安裝paddleocr。
# 安裝 paddleocr
pip install paddleocr==3.0.0
命令行方式推理
# 運行 PP-OCRv5 推理
paddleocr ocr -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False # 運行 PP-StructureV3 推理
paddleocr pp_structurev3 -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png --use_doc_orientation_classify False --use_doc_unwarping False# 運行 PP-ChatOCRv4 推理前,需要先獲得千帆API Key
paddleocr pp_chatocrv4_doc -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_certificate-1.png -k 駕駛室準乘人數 --qianfan_api_key your_api_key --use_doc_orientation_classify False --use_doc_unwarping False # 查看 "paddleocr ocr" 詳細參數
paddleocr ocr --help
API方式推理
PP-OCRv5 示例
from paddleocr import PaddleOCR
# 初始化 PaddleOCR 實例
ocr = PaddleOCR(use_doc_orientation_classify=False,use_doc_unwarping=False,use_textline_orientation=False)
# 對示例圖像執行 OCR 推理
result = ocr.predict(input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png")
# 可視化結果并保存 json 結果
for res in result:res.print()res.save_to_img("output")res.save_to_json("output")
PP-StructureV3 示例
from pathlib import Path
from paddleocr import PPStructureV3pipeline = PPStructureV3(use_doc_orientation_classify=False,use_doc_unwarping=False
)# For Image
output = pipeline.predict(input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png",)# 可視化結果并保存 json 結果
for res in output:res.print() res.save_to_json(save_path="output") res.save_to_markdown(save_path="output")
PP-ChatOCRv4 示例
from paddleocr import PPChatOCRv4Docchat_bot_config = {"module_name": "chat_bot","model_name": "ernie-3.5-8k","base_url": "https://qianfan.baidubce.com/v2","api_type": "openai","api_key": "api_key", # your api_key
}retriever_config = {"module_name": "retriever","model_name": "embedding-v1","base_url": "https://qianfan.baidubce.com/v2","api_type": "qianfan","api_key": "api_key", # your api_key
}mllm_chat_bot_config = {"module_name": "chat_bot","model_name": "PP-DocBee","base_url": "http://127.0.0.1:8080/", # your local mllm service url"api_type": "openai","api_key": "api_key", # your api_key
}pipeline = PPChatOCRv4Doc(use_doc_orientation_classify=False,use_doc_unwarping=False
)visual_predict_res = pipeline.visual_predict(input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_certificate-1.png",use_common_ocr=True,use_seal_recognition=True,use_table_recognition=True,
)visual_info_list = []
for res in visual_predict_res:visual_info_list.append(res["visual_info"])layout_parsing_result = res["layout_parsing_result"]vector_info = pipeline.build_vector(visual_info_list, flag_save_bytes_vector=True, retriever_config=retriever_config
)
mllm_predict_res = pipeline.mllm_pred(input="vehicle_certificate-1.png",key_list=["駕駛室準乘人數"],mllm_chat_bot_config=mllm_chat_bot_config,
)
mllm_predict_info = mllm_predict_res["mllm_res"]
chat_result = pipeline.chat(key_list=["駕駛室準乘人數"],visual_info=visual_info_list,vector_info=vector_info,mllm_predict_info=mllm_predict_info,chat_bot_config=chat_bot_config,retriever_config=retriever_config,
)
print(chat_result)
意義
PaddleOCR 3.0 的發布不僅展示了百度在 OCR 技術上的持續創新能力,也為開發者提供了更強大且用戶友好的工具,幫助他們快速實現 AI 應用。感興趣的開發者可以訪問 PaddleOCR 的開源地址,獲取更多詳細信息。