CMS图片识别集成百度飞桨开源文字识别模型PaddleOCR

我们之前讲过CMS对图片管理和CMS与OCR的集成,包括图库的应用,以及图片文字提取功能,比如用户发票上传,车牌识别等,涉及到用户上传就要对图片进行审核、分类、标记,更多的包括图片的检索,一般我们采用OCR自动识别功能。

本文重点介绍一下CMS如何集成百度的开源文字识别模型PaddleOCR。

 

 

 

 

 

 

百度飞桨开源文字识别模型PaddleOCR

 

OCR对于文字的识别过程一般分为三个阶段,

  1. 文本定位检测
  2. 文字矫正
  3. 文字识别

 

PP-OCR是PaddleOCR的轻量OCR系统,与我们之前讲的一样,该系统包含文本检测和文本识别两个阶段,其中文本检测算法选用DB,文本识别算法选用CRNN,所以,本质上也是DBNET+CRNN,并在检测和识别模块之间添加文本方向分类器,以应对不同方向的文本识别。当前模块为PP-OCRv3,在PP-OCRv2的基础上,针对检测模型和识别模型,进行了共计9个方面的升级,进一步提升了模型效果。

 

 

 
 
 
 
 

百度PaddleOCR初体验

 

基于百度PaddleOCR,有一款开源的windows软件,叫UMI-OCR,并且可以脱机使用,所以直接下载下来就可以上手,功能简单易用,直接识图、批量识图、排版优化、文本块后处理、排除识别区域等功能一应俱全,Github开源,直接下载,完全可以体验PaddleOCR的核心识图功能。

下载地址: https://github.com/hiroi-sora/Umi-OCR

 

 

 

PaddleOCR与CMS集成

 

我们之前讲过,基于Drupa了的CMS,本身有了Azure API的对接,也可以通过API与阿里的云服务集成,具体可以参考这个link 

https://www.drupal.org/project/azure_vision_api

 

 

那么PaddleOCR如何与CMS集成呢?

1. Paddle是基于Python的,首先要安装Paddle hub,可以参考官网的安装 

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs...

2. 安装Paddle框架,可以参考官网说明

3. 调用API,通过命令行的模式,可以直接调用PaddleOCR的命令,来识别图片的文字。PHP通过system等函数即可。

https://www.paddlepaddle.org.cn/hubdetail?name=ch_pp-ocrv3&en_category=T...

 hub run ch_pp-ocrv3 --input_path "/PATH/TO/IMAGE"

4. 服务化,PaddleOCR支持服务化,直接运行命令,即可有一个在线的API可以访问,通过PHP调用在线API即可实现图片识别,类似于调用阿里云或者微软的Azure一样,所以这块我们可以做一个adapter,a. 调用Azure b. 调用阿里 c. 调用自建的PaddleOCR,来实现自由切换。

#启动服务 默认端口号为8866
hub serving start -m ch_pp-ocrv3

 

更多信息,可以参考我们之前的图库管理相关文章,

1. CMS智能图片管理之 OCR 图片文本的提取

2. 如何基于开源系统构建图片/图库管理系统

3. CMS如何存储和管理大量图片/海量图片?

4. 如何通过开源方案自建视频课程平台