百度飞桨PaddleOCR 3.0开源发布 OCR精度跃升13%

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值