百度飞桨 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 PPStructureV3
pipeline = 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 PPChatOCRv4Doc
chat_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 的开源地址,获取更多详细信息。