news 2026/6/16 4:45:20

PP-OCRv6 来了:OpenVINO™ 首日支持,让 AI PC 本地 OCR 在 CPU/GPU/NPU 上跑起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PP-OCRv6 来了:OpenVINO™ 首日支持,让 AI PC 本地 OCR 在 CPU/GPU/NPU 上跑起来

如果你最近在做文档智能、屏幕文字提取、工业字符识别,或者希望在 PC 本地实现一个“看得懂图片中文字”的 AI 应用,大概率绕不开 OCR。

OCR 看起来是一个很成熟的任务,但真正做成产品时,开发者很快会遇到几个现实问题:

  • 云端 OCR 调用方便,但数据出端、网络延迟和成本都可能成为限制。

  • 大模型 OCR 能力强,但在实时摄像头、边缘部署、批量扫描场景里未必划算。

  • 传统 OCR pipeline 足够轻,但要想在 CPU、GPU、NPU 上跑得稳、跑得快,部署链路仍然需要工程优化。

这也是为什么 PaddleOCR 系列一直很受开发者欢迎。它不是“什么都做”的大模型,而是一个专注 OCR 场景、工程链路成熟、模型轻量、适合部署的实用系统。随着 PaddleOCR 3.x 生态持续演进,PP-OCRv6 新版模型也已经可以被 OpenVINO 首日支持,并在 英特尔AI PC 的 CPU、GPU、NPU 上运行。

下面我们用一个实时摄像头 OCR demo,重点看看 PP-OCRv6 tiny 的价值,以及 OpenVINO 如何在 AI PC 上通过混合架构部署整条 OCR pipeline。

为什么PP-OCRv6 tiny值得关注

PP-OCRv6 tiny 的核心价值不在于“参数更大”,而在于继续坚持 OCR 专用模型的工程路线:轻量、低延迟、输出可控,并且更适合被嵌入到真实业务流程中。相比把所有视觉文字任务都交给通用多模态大模型,OCR 专用模型在文本定位、连续帧处理、批量扫描和本地部署场景中通常更经济,也更容易做成稳定产品。

一个典型 OCR 应用并不是单模型任务,而是一条 pipeline:

图像输入
-> 文本检测
-> 文本框裁剪与排序
-> 文本识别
-> CTC 解码
-> 可视化或业务后处理

PP-OCRv6 tiny 延续了 PP-OCR 系列的轻量化设计,把检测和识别拆成两个小模型:

PP-OCRv6_tiny_det_onnxPP-OCRv6_tiny_rec_onnx​​

这种拆分方式对开发者非常友好。一方面,检测模型负责从整张图像中定位文本区域,识别模型只需要处理裁剪后的文本图像;另一方面,开发者可以更灵活地根据输入类型、文本数量和业务需求调整整条 OCR pipeline。对于实时摄像头 OCR、屏幕文字提取、批量文档扫描和工业字符识别等场景,PP-OCRv6 tiny 提供的是一种更轻量、更可控、更容易落地的 OCR 方案。

Day 0支持:不只是能跑,更要跑得顺

很多模型支持文章会停在“模型能成功 compile”这一步。但对于真实 OCR 应用来说,模型推理只是端到端体验的一部分。摄像头采集、图像缩放、文本框后处理、多个文本区域裁剪、CTC 解码、结果绘制和窗口显示,都会共同影响应用是否流畅、稳定、可用。

这也是 OpenVINO 在 AI PC 上部署 PP-OCRv6 tiny 的价值所在。AI PC 同时具备 CPU、GPU 和 NPU 等不同计算资源,而 OCR pipeline 本身又包含多种不同类型的任务。因此,开发者不必把所有模型和处理逻辑都集中到同一个设备上,而是可以根据任务特点进行更合理的异构部署。

例如,在实时 OCR 场景中,GPU 可以用于处理整图文本检测,发挥其图像并行计算能力;NPU 可以用于执行文本识别模型,降低对 GPU 资源的占用;CPU 则继续负责预处理、后处理、排序、解码和 UI 逻辑。这样的分工方式,让不同计算单元各自处理更擅长的任务,从而在性能、功耗、稳定性和用户体验之间取得更好的平衡。

对于开发者来说,OpenVINO 的优势不只是让 PP-OCRv6 tiny 在 CPU、GPU、NPU 上分别跑起来,更重要的是提供了一套统一的 Runtime,让 OCR pipeline 可以在 AI PC 的混合异构架构上灵活部署。无论是实时摄像头 OCR、批量文档处理、屏幕文字提取,还是工业字符识别,开发者都可以基于同一套代码,根据实际设备和应用负载调整模型部署策略,把 demo 更快推进到真实应用。

分步运行指南:用OpenVINO部署PP-OCRv6 tiny

下面我们以 PP-OCRv6 tiny ONNX 模型为例,展示如何用 OpenVINO 在 AI PC 上完成模型读取、设备分配和编译运行。整个过程可以概括为三步:读取 detection 和 recognition 模型,按照异构策略分配运行设备,最后编译模型并接入实时 OCR pipeline。

Step 1:读取 PP-OCRv6 tiny 模型

PP-OCRv6 tiny 由文本检测模型和文本识别模型组成。这里我们直接使用 ONNX 格式模型,因此无需额外安装 PaddlePaddle Runtime,OpenVINO Runtime 可以直接读取模型文件:

import openvino as ovfrom pathlib import Pathcore = ov.Core()# PP-OCRv6 tiny ONNX modelsdet_model_file_path = Path("model/PP-OCRv6_tiny_det_onnx/inference.onnx")rec_model_file_path = Path("model/PP-OCRv6_tiny_rec_0515_onnx/inference.onnx")det_model = core.read_model(det_model_file_path)rec_model = core.read_model(rec_model_file_path)

Step 2:为OCR pipeline分配运行设备

设备选择部分保留一个简单的 Hybrid 策略:当用户选择 GPU 或 AUTO 时,检测优先放到 GPU,识别优先放到 NPU;如果没有 NPU,则回退到 CPU。

DEVICE_STRATEGY = "HYBRID"def resolve_ocr_devices(selected_device, available_devices):if selected_device == "AUTO":det_device = "GPU" if "GPU" in available_devices else "CPU"else:det_device = selected_deviceif DEVICE_STRATEGY == "HYBRID" and det_device == "GPU":rec_device = "NPU" if "NPU" in available_devices else "CPU"else:rec_device = det_devicereturn det_device, rec_deviceavailable_devices = core.available_devicesdet_device, rec_device = resolve_ocr_devices("AUTO", available_devices)

Step 3模型编译

编译时,根据设备设置合适的 shape:

# Detection: fixed shape for GPU/NPUif det_device in ["GPU", "NPU"]:det_model.reshape({det_model.input(0): ov.PartialShape([1, 3, 640, 640])})det_compiled_model = core.compile_model(det_model, det_device)# Recognition: NPU/GPU use fixed shape; CPU keeps dynamic widthif rec_device == "NPU":rec_model.reshape({rec_model.input(0): ov.PartialShape([1, 3, 48, 320])})elif rec_device == "GPU":rec_model.reshape({rec_model.input(0): ov.PartialShape([6, 3, 48, 320])})else:for input_layer in rec_model.inputs:input_shape = input_layer.partial_shapeinput_shape[3] = -1rec_model.reshape({input_layer: input_shape})rec_compiled_model = core.compile_model(rec_model, rec_device)

Step 4:接入实时OCR pipeline

最后即可接入摄像头或视频文件运行实时 OCR:​​​​​​​

# webcamsource = 0run_paddle_ocr(source, flip=False, use_popup=True, popup_side_by_side=True)# video file# source = Path("test.mp4")# run_paddle_ocr(source, flip=False, use_popup=True, popup_side_by_side=True)

以下是在 Intel® Core™ Ultra X7 358H笔记本电脑上运行实时摄像头采集视频并进行OCR推理的效果。

小结

PP-OCRv6 tiny + OpenVINO 的首日支持,展示的不只是“新模型能跑起来”,更是 AI PC 上端侧 AI 应用的一种更合理的部署方式:CPU 负责预处理、后处理和 UI,GPU 负责整图文本检测,NPU 负责文本识别。

对于开发者来说,这意味着可以在本地 PC 上快速构建实时 OCR 应用,减少对云端 OCR 服务的依赖,也避免把所有任务都挤到同一个加速器上。对于 AI PC 来说,这正是混合架构的价值:让不同硬件各做擅长的部分,最终得到更顺滑、更稳定、更容易产品化的本地 AI 体验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 4:44:41

Codex/Claude Code对接国产大模型实操指南

1. 破除迷思:Codex与Claude Code根本不是“OpenAI/Anthropic专属工具”很多人点开Codex或Claude Code的官网,第一眼看到“Sign in with OpenAI”或“Anthropic Account Required”,下意识就关掉页面,转头去搜“codex api key分享”…

作者头像 李华
网站建设 2026/6/16 4:44:39

职场隐私保护革命:智能窗口隐藏工具完全指南

职场隐私保护革命:智能窗口隐藏工具完全指南 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在数字化办公环境中,个…

作者头像 李华
网站建设 2026/6/16 4:40:49

Java 反射机制完整入门详解

一、什么是 Java 反射机制Java 反射机制:在程序运行阶段,动态获取类的完整结构(类名、属性、方法、构造器),并可以实例化对象、调用任意方法、读写成员变量,这种动态操作类信息的能力就叫反射。正常编码是n…

作者头像 李华
网站建设 2026/6/16 4:39:56

Cadence Allegro 16.6异形焊盘制作全攻略:从原理到实战避坑

1. 项目概述:从标准到定制的跨越在电子设计自动化(EDA)领域,Cadence Allegro 16.6 是进行高速、高密度PCB设计的行业标杆工具。对于很多硬件工程师和PCB Layout工程师来说,绘制标准的圆形、方形或椭圆形焊盘是家常便饭…

作者头像 李华
网站建设 2026/6/16 4:39:16

金融大模型落地能力评测:稳准可解释的工程化实践

1. 这份报告不是“排行榜”,而是金融大模型落地能力的压力测试最近朋友圈和行业群被一份《金融领域大模型年度评测报告》刷屏,标题里赫然出现“阶跃星辰/财跃星辰大模型表现优秀”——但如果你点开就急着找排名、抄榜单、比参数,那很可能从第…

作者头像 李华
网站建设 2026/6/16 4:33:52

SEAL-Math评测框架:解构大模型数学推理能力的结构化标尺

1. 项目概述:当“华裔天才少年”与“SEAL排行榜”撞上Claude 3 Opus的数学高光时刻最近刷到一条信息,说“27岁华裔天才少年首发SEAL大模型排行榜”,紧接着就看到“Claude 3 Opus数学封神”被反复提及。说实话,我第一反应不是点开看…

作者头像 李华