【OCR系列第二期】丨几行代码轻松实现对于PaddleOCR的实时推理,快来get!

原创
07/22 17:00
阅读数 133
夏日炎炎,正宜学习

上期武卓老师教了我们一键填入票据小技巧

解放了双手的Nono不得不感慨

OCR技术真是太太太实用了!

那么问题来了,

我们是否可以用身边CPU随时使用这项技术呢?

武卓老师对Nono露出了肯定的微笑

仍然只需要简单的几行代码哦

不信接着往下看

👇

0 1

本期课程简介

本期课程主要是以百度开源的PaddlePaddle框架的PaddleOCR技术为例,具体介绍如何利用英特尔开源的OpenVINO工具套件,仅使用我们手边的CPU,轻松实现对于PaddleOCR的实时推理。

提到PaddleOCR,就不得不提到它的技术原理了。PaddleOCR工作流程如下图所示,主要包括文本检测、方向分类、以及文本识别三部分。


0 2

推理过程

文本检测任务,是指找出图像或视频中的文字位置,不需要像目标检测任务那样,不仅要解决定位问题,还要解决目标分类问题。然而,文本检测也面临一些难点,比如:自然场景中的文本具有多样性,文字大小、方向、长度、形状、语言都会有不同,文字重叠或者密度较高,这些都会影响最终文本检测的效果。目前常用的文本检测方法有基于回归以及基于分割的方法。而在PaddleOCR中,我们选取的是基于分割的DBNet方法。

DBNet的工作原理如上图所示。

一般而言,图像会经过特征金字塔fpn网络结构得到4个特征图,分别为原始图像的1/4、1/8、1/16和1/32的大小。然后,我们将4个特征图分别进行上采样为1/4的大小,再进行concatenation就会得到特征图f。接下来由特征图f得到我们的概率图和阈值图。最后通过概率图p和阈值图t的计算,通过可微分的二值化就能够得到近似的二值图。

这种针对基于分割的方法需要利用阈值进行二值化处理会导致后处理耗时较久,所以我们所采用的DBNet针对这种现象提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络在训练的时候能端对端的学习文本分割的阈值。这种自动调节阈值不仅能带来精度的提升,同时可以简化后处理,会进一步提高文本检测的性能。


0 3

具体代码实现
纸上谈兵终觉浅,绝知此事要躬行。我们先来导入好所有需要的Python工具包,通过查看具体代码的操作实践来实现OpenVINO对于PaddleOCR里面文本检测模型的推理。
进行推理之前,首先需要进行模型的下载。 为了方便下载,我们定义了一个模型下载的函数,然后指定了下载的路径。在本次课程采用的是PaddleOCR mobile这 样一个体积比较小的模型。

然后进行模型读取,并加载到设备CPU上面去。 仅仅使用下图这样两行很简单的代码,就可以完成模型的读取和加载。

接下来,需要去定义变量名以及前处理、后处理函数。 我们在进行文本检测任务的时候所需要的输入和输出的这样的一个变量名。在我们正式进行文本检测的推理任务之前,我们还需要再去定义一些必要的前处理和后处理函数,方便最后我们能够在一张图片上可视化的看到检测到目标文字以及完成转换过程。

最后,我们仅仅只需要使用了这样的一行代码,就可以利用OpenVINO去进行文本检测模型的推理,那么推理的效果到底怎么样呢?

推理效果验证

上图呈现了本次课程文本检测的推理结果,可以看到这种印刷体的文本检测定位的文字清晰准确,定位精准。那如果是手写体又会怎样呢?我们可以换一张图片来看一下。

手写体的文本检测结果,依然清晰准确。

本期课程大家学会了吗?

反正Nono已经get啦!

还有疑惑的同学,

可以看看下方操作视频多多练习哦!

👇👇👇


             
             
             
--END--
   
你也许想了解(点击蓝字查看 )⬇️
➡️   使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理
➡️  图片提取文字很神奇?试试三步实现OCR!
➡️ 【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务
➡️ 使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能


👇欢迎在留言区与我们互动哦,
点击小程序 留言区 即可参与

留言区

            
            
            


扫描下方二维码立即体验 

OpenVINO™ 工具套件 2022.1





点击 阅读原文 立即体验OpenVINO 2022.1

文章这么精彩,你有没有“在看”

本文分享自微信公众号 - OpenVINO 中文社区(openvinodev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部