百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览

本文涉及的产品
数据安全中心,免费版
简介: 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览

1. 预测部署简介与总览

本章主要介绍PP-OCRv2系统的高性能推理方法、服务化部署方法以及端侧部署方法。通过本章的学习,您可以学习到:

  • 根据不同的场景挑选合适的预测部署方法
  • PP-OCRv2系列模型在不同场景下的推理方法
  • Paddle Inference、Paddle Serving、Paddle Lite的推理部署开发方法

1.1 简介

在前面几个章节中,我们通过模型训练的方法,得到了训练好的模型,在使用它去预测的时候,我们首先需要定义好模型,然后加载训练好的模型,再将预处理之后的数据送进网络中进行预测、后处理,得到最终的结果。使用这种方法去进行预测,调试方便,但是预测效率比较低下。

针对上面的问题,对于训练得到的模型,一般有下面2种离线预测的方式。

  1. 基于训练引擎推理,也就是和训练使用同一套引擎,它调试方便,便于我们迅速定位问题,验证正确性。多为Python语言。
  2. 基于预测引擎推理,将训练得到的模型进行转换,去掉与推理无关的部分,使用这种方法可以加速预测。多为Python语言或C++。

二者具体的区别如下所示。

基于训练引擎推理 基于预测引擎推理
特点 1. 和训练使用同一套引擎
2. 预测时需要定义网络模型
3. 不适合系统集成
1. 需要转换模型,去掉与推理无关的部分
2. 预测时无需定义网络模型
3. 适合系统集成
编程语言 多为Python Python或者C++
预测步骤 1. Python端定义网络结构
2. 准备输入数据
3. 加载训练模型
4. 执行预测
1. 准备输入数据
2. 加载模型结构和模型参数
3.执行预测

在实际离线预测部署中,更推荐基于预测引擎进行推理。

从应用场景来看,飞桨针对不同应用场景,提供了下面一些推理部署方案。

飞桨的不同部署方案

具体地,PaddleOCR 针对不同应用场景,提供了三种预测部署方案。

  • Inference的离线预测,这种方式主要应用在对预测响应的及时性要求不高,特别是需要大量图片预测的场景。像文档电子化、广告信息提取等。虽然不能及时响应预测请求,但是没有网络延时,计算效率比较高,数据安全性很高。
  • Serving服务化部署,这种方式主要应用在对预测响应的及时性要求很高的场景,像商业化OCR的API接口、实时拍照翻译、拍题等场景。虽然这种方式能及时对预测需求及时响应,但是网络耗时开销比较大,GPU利用率往往不高,而且存在数据安全风险。
  • Lite端侧部署,这种方式主要希望模型部署到手机、机器人等端侧设备上,主要考虑部署方便和数据安全性,像手机APP里面身份证识别、银行卡识别,工业应用场景的仪表监控识别等。这种方法,对OCR模型的大小比较敏感。虽然没有网络延时,数据安全性很高,但是由于算力限制,预测效率不高。

本章基于PP-OCRv2,介绍文本检测、识别以及系统串联预测推理与部署过程。

1.2 环境准备

体验本章节内容需要首先下载PaddleOCR代码,安装相关依赖,具体命令如下。

import os
os.chdir("/home/aistudio")
# 下载代码
!git clone https://gitee.com/paddlepaddle/PaddleOCR.git
os.chdir("/home/aistudio/PaddleOCR")
# 安装运行所需要的whl包
!pip install -U pip
!pip install -r requirements.txt
# VQA任务中需要用到该库
!pip install paddlenlp==2.2.1
# 导入一些库
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import os
目录
相关文章
|
算法
YOLOv8官方支持多目标跟踪 | ByteTrack、BoT-SORT都已加入YOLOv8官方
YOLOv8官方支持多目标跟踪 | ByteTrack、BoT-SORT都已加入YOLOv8官方
1351 0
|
4月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
93 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
3月前
|
存储 人工智能 数据可视化
AI计算机视觉笔记二十一:PaddleOCR训练自定义数据集
在完成PaddleOCR环境搭建与测试后,本文档详细介绍如何训练自定义的车牌检测模型。首先,在`PaddleOCR`目录下创建`train_data`文件夹存放数据集,并下载并解压缩车牌数据集。接着,复制并修改配置文件`ch_det_mv3_db_v2.0.yml`以适应训练需求,包括设置模型存储目录、训练可视化选项及数据集路径。随后,下载预训练权重文件并放置于`pretrain_models`目录下,以便进行预测与训练。最后,通过指定命令行参数执行训练、断点续训、测试及导出推理模型等操作。
|
4月前
|
数据采集 自然语言处理 API
百度飞桨(PaddlePaddle)-数字识别
百度飞桨(PaddlePaddle)-数字识别
60 1
|
4月前
|
文字识别 数据可视化 Python
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
244 0
|
4月前
|
JSON 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
188 0
|
6月前
|
机器学习/深度学习 编解码 文字识别
【开源】轻松实现车牌检测与识别:yolov8+paddleocr【python源码+数据集】
【开源】轻松实现车牌检测与识别:yolov8+paddleocr【python源码+数据集】
|
机器学习/深度学习 人工智能 并行计算
Python 深度学习AI - 利用训练好的模型库进行图像分割、一键抠图实例演示,百度深度学习平台飞浆paddlepaddle-gpu的安装与使用
Python 深度学习AI - 利用训练好的模型库进行图像分割、一键抠图实例演示,百度深度学习平台飞浆paddlepaddle-gpu的安装与使用
647 0
Python 深度学习AI - 利用训练好的模型库进行图像分割、一键抠图实例演示,百度深度学习平台飞浆paddlepaddle-gpu的安装与使用
|
机器学习/深度学习 算法 Linux
飞桨文心大模型中Paddle库编译
飞桨文心大模型中Paddle库编译
282 0
飞桨文心大模型中Paddle库编译
|
机器学习/深度学习 存储 XML
血细胞智能检测与计数软件(Python+YOLOv5深度学习模型+清新界面版)
血细胞智能检测与计数软件(Python+YOLOv5深度学习模型+清新界面版)
495 1