PaddleOCR 3.0重磅发布!OCR精度跃升13%,多场景文档解析全面升级

PaddleOCR 作为百度开源的OCR(光学字符识别)工具包,自2020年发布以来,凭借其强大的多语言识别能力、高精度的文本解析能力以及良好的扩展性,迅速在全球范围内获得广泛认可。2025年5月20日,PaddlePaddle团队正式发布了PaddleOCR 3.0版本,标志着其在OCR技术领域的又一次重大突破。
PaddleOCR 3.0不仅在模型性能上实现了显著提升,还新增了对多种文本类型、手写体识别的支持,并引入了ERNIE 4.5 Turbo等大模型技术,进一步增强了智能文档理解能力。

一、项目概述
PaddleOCR 3.0是基于PaddlePaddle 3.0框架推出的全新一代OCR工具包,旨在为开发者提供高效、准确、易用的文本识别与文档解析能力。该版本支持五种语言的文本识别,包括简体中文、繁体中文、简体中文拼音、英文和日文,并且能够处理复杂的手写体文本。此外,PaddleOCR 3.0还引入了PP-StructureV3和PP-ChatOCRv4等新模型,实现了对PDF、图片等多格式文档的高精度解析与智能理解。

二、技术特点
1. 多场景支持
PaddleOCR 3.0支持多种文本类型和场景,包括:
- 通用文本识别:支持五种语言(简体中文、繁体中文、简体中文拼音、英文、日文)的文本识别。
- 手写体识别:显著提升了对复杂草书和非标准手写体的识别能力。
- 文档解析:PP-StructureV3模型支持多布局、多场景PDF的高精度解析,优于许多开源和闭源解决方案。
- 智能文档理解:PP-ChatOCRv4模型支持关键信息提取,准确率较上一代提升15个百分点。
2. 高精度模型
PaddleOCR 3.0引入了多个高性能模型,包括:
- PP-OCRv5:支持五种语言的通用文本识别,准确率较上一代提升13个百分点。
- PP-StructureV3:支持多布局PDF解析,准确率在多个基准测试中领先。
- PP-ChatOCRv4:基于ERNIE 4.5 Turbo,支持大模型部署,实现智能文档理解。
3. 多语言支持
PaddleOCR 3.0支持多种编程语言的调用,包括C++、Java、Go、C#、Node.js和PHP,方便开发者根据项目需求选择合适的语言进行开发。
4. 易用性与部署灵活性
PaddleOCR 3.0提供了丰富的工具和接口,支持从模型训练、推理到服务部署的全流程开发。此外,还支持Android平台的PP-OCRv5模型,进一步拓展了应用场景。

三、主要功能
1. 文本识别
PaddleOCR 3.0支持多种文本识别任务,包括:
- 通用文本识别:支持五种语言的文本识别。
- 手写体识别:支持复杂草书和非标准手写体的识别。
- 多语言支持:支持简体中文、繁体中文、简体中文拼音、英文和日文。
2. 文档解析
PP-StructureV3模型支持多布局、多场景PDF的高精度解析,包括:
- 表格识别:支持嵌套公式和图片的表格识别。
- 图表识别:支持图表转表格。
- 垂直文本识别:支持从PDF中提取垂直方向的文本。
- 复杂文档结构分析:支持对复杂文档结构进行解析。
3. 智能文档理解
PP-ChatOCRv4模型支持关键信息提取,包括:
- 文本识别:支持从PDF、PNG、JPG等格式中提取文本。
- 关键信息提取:支持从文档中提取关键信息,如车辆准乘人数等。
- 多模态支持:支持与大模型(如ERNIE 4.5 Turbo)集成,实现更智能的文档理解。
四、应用场景
1. 企业文档管理
- PDF解析:支持从PDF中提取文本、表格、图表等信息。
- 文档分类:支持对文档进行分类和标签化。
- 自动化处理:支持批量处理文档,提高工作效率。
2. 金融行业
- 发票识别:支持从发票中提取关键信息,如金额、日期、供应商等。
- 合同解析:支持对合同文本的自动识别和结构化处理。
- 报表分析:支持对财务报表的自动识别和分析。
3. 医疗行业
- 病历识别:支持从病历中提取关键信息,如患者姓名、诊断结果等。
- 处方识别:支持对处方文本的自动识别和结构化处理。
- 医疗记录管理:支持对医疗记录的自动识别和分类。
4. 教育行业
- 试卷识别:支持从试卷中提取题目和答案。
- 作业批改:支持对作业文本的自动识别和批改。
- 学习资料管理:支持对学习资料的自动识别和分类。
5. 政务与法律行业
- 公文识别:支持从公文、法律文件中提取关键信息。
- 合同管理:支持对合同文本的自动识别和结构化处理。
- 政策解读:支持对政策文件的自动识别和解读。
五、快速使用
1. 安装与依赖
首先,确保已安装PaddlePaddle 3.0框架,然后通过以下命令安装PaddleOCR:
pip install paddleocr
2. PP-OCRv5 示例
from paddleocr import PaddleOCR ocr = PaddleOCR( use_doc_orientation_classify=False, use_doc_unwarping=False, use_textline_orientation=False ) result = ocr.predict( input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png" ) for res in result: res.print() res.save_to_img("output") res.save_to_json("output")
3. PP-StructureV3 示例
from pathlib import Path from paddleocr import PPStructureV3 pipeline = PPStructureV3( use_doc_orientation_classify=False, use_doc_unwarping=False ) output = pipeline.predict( input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png" ) for res in output: res.print() res.save_to_json(save_path="output") res.save_to_markdown(save_path="output")
4. 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 } 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, ) mllm_predict_info = None use_mllm = False # If a multimodal large model is used, the local mllm service needs to be started. You can refer to the documentation: https://github.com/PaddlePaddle/PaddleX/blob/release/3.0/docs/pipeline_usage/tutorials/vlm_pipelines/doc_understanding.en.md performs deployment and updates the mllm_chat_bot_config configuration. if use_mllm: 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 } mllm_predict_res = pipeline.mllm_pred( input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_certificate-1.png", key_list=["驾驶室准乘人数"], mllm_chat_bot_config=mllm_chat_bot_config, ) mllm_predict_info = mllm_predict_res["mllm_res"] 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 ) 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工具包,凭借其强大的多语言识别能力、高精度的文本解析能力以及良好的扩展性,正在成为企业智能化转型的重要工具。无论是金融、医疗、教育还是政务行业,PaddleOCR 3.0都能提供高效的文档处理解决方案。
七、项目资料
官方仓库:https://github.com/PaddlePaddle/PaddleOCR
官方文档:https://www.paddlepaddle.org.cn
模型下载:https://paddle-model-ecology.bj.bcebos.com/paddlex/
(文:小兵的AI视界)