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

服务器

  导读

  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度旋转时,会影响检测效果,建议纠正角度之后再进行识别可获得更好的识别效果。

  环境准备

  安装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.html2.clone代码或直接下载

  git clone https://github.com/PaddlePaddle/PaddleOCR.git3.安装第三方库

  cd PaddleOCRpip3 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程序感兴趣的同学可以下载试试看,详细介绍的部署可以参考官方文档。

标签: 服务器