分享免费的编程资源和教程

网站首页 > 技术教程 正文

百度开源的高精度OCR工具库

goqiw 2025-01-15 12:51:51 技术教程 2 ℃ 0 评论

导读

PaddleOCR是百度开源基于PaddlePaddle深度学习框架的OCR工具库,里面包含了多种文字检测文字识别的算法模型以及模型的部署到生成环境的方法。

效果展示

我们先来看看百度开源的OCR模型的识别效果如何

PP-OCR模型架构

PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测检测框矫正CRNN文本识别三部分组成。该系统从骨干网络选择和调整预测头部的设计数据增强学习率变换策略正则化参数选择预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR

开源的预训练模型

百度一共开源了两个版本的OCR模型,轻量版的适合移动端使用识别效果还是不错的,相对于通用OCR模型的识别效果要差点。如果是在服务器上部署,建议还是使用通用的OCR模型。

最近官方也开源了除了中文之外其他语言的OCR模型,有兴趣的同学可以去试试看。

注意:上面的方向分类器是在文字检测后使用的,实际测试发现如果检测的图片不是90度或270度旋转时,会影响检测效果,建议纠正角度之后再进行识别可获得更好的识别效果。

环境准备

  1. 安装PaddlePaddle

注意:最新版的PandleOCR需要安装2.0.0的PaddlePaddle

  • CUDA:9.0、10.1、10.2、11.0或CPU版本
  • CUDNN:7.6+
python -m pip install paddlepaddle-gpu==2.0.0.post101 -f https://paddlepaddle.org.cn/whl/stable.html

2.clone代码或直接下载

git clone https://github.com/PaddlePaddle/PaddleOCR.git

3.安装第三方库

cd PaddleOCR
pip3 install -r requirements.txt

下载预训练模型

点击预训练模型中的表格链接下载预训练模型,在PaddleOCR目录下新建一个inference目录,将下载的模型文件放到该目录下并解压。

模型推理预测

在执行预测时,需要通过参数image_dir指定单张图像或者图像集合的路径、参数det_model_dir,cls_model_dir和rec_model_dir分别指定检测,方向分类和识别的inference模型路径。参数use_angle_cls用于控制是否启用方向分类模型。可视化识别结果默认保存到 ./inference_results 文件夹里面。

# 使用方向分类器
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/det_db/" --cls_model_dir="./inference/cls/" --rec_model_dir="./inference/rec_crnn/" --use_angle_cls=true

# 不使用方向分类器
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/det_db/" --rec_model_dir="./inference/rec_crnn/" --use_angle_cls=false

生成环境的部署

PaddleOCR提供2种服务部署方式:

  • 基于PaddleHub Serving的部署:代码路径为"./deploy/hubserving"
  • 基于PaddleServing的部署:代码路径为"./deploy/pdserving"

还提供了基于Paddle Lite 在移动端部署PaddleOCR方法,官方还提供了移动端的Demo程序感兴趣的同学可以下载试试看,详细介绍的部署可以参考官方文档。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表