用OpenVINO™轻松实现PaddleOCR实时推理|开发者实战

OpenCV学堂 2022-06-02 23:15

点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 英特尔物联网  授权



作者

英特尔AI软件布道师

武卓博士

曾主持国家级及省部级科研项目十余项,已授权国际国内专利十余项。


前言:该技术能让PaddleOCR的开发者在笔记本电脑上即可获得超越40FPS的速度,极大降低了PaddleOCR的部署成本。


简介


在上篇文章中我们介绍过,光学字符识别(OCR)技术可以将文件、图片或自然场景中的文字信息进行识别并提取,与一系列的自然语言处理技术联合使用,能够完成诸如文档票据的文字信息自动化处理、实时图片文字翻译等任务。通过机器的自动化处理,可以帮助财务人员在处理票据时省却大量手工输入的工作量,也能够方便我们在出国旅游时随时对异域中的外国文字信息进行实时翻译、减少语言不通带来的不便。


既然OCR技术如此实用,有没有什么方法能让我们利用自己手边的设备,随时使用到这项技术呢?答案当然是肯定的。接下来,我们将以百度开源的PaddleOCR1-2 技术为例,具体介绍如何利用英特尔开源的OpenVINO工具套件,仅使用我们手边都有的CPU就能轻松实现对PaddleOCR的实时推理。


本篇是用OpenVINO工具套件实现基于OCR及NLP轻松实现信息自动化提取的系列博客中的第二篇。我们将简要介绍PaddleOCR的原理,以及利用OpenVINO工具套件实现PaddleOCR推理加速的工作流程。同样只需利用一页Jupyter notebook,依照简单的三个步骤,即可利用CPU实现基于PaddleOCR的实时文字信息提取。


PaddleOCR原理简介


PaddleOCR是基于深度学习框架PaddlePaddle的一项OCR技术,具有超轻、模型小、便于移动端及服务器端部署等特点。整个PaddleOCR技术的工作流程如下图所示,主要包括文本检测、方向分类、以及文本识别三部分。



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


DBNet的工作原理如下图所示。针对基于分割的方法需要使用阈值进行二值化处理而导致后处理耗时的问题,DBNet提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络在训练的时候能端对端的学习文本分割的阈值。自动调节阈值不仅带来精度的提升,同时简化了后处理,提高了文本检测的性能。



方向分类指的是针对图片中某些经文本检测得到的bounding box中的文字方向为非水平排列的情况,对bounding box的方向进行检测。如果发现bounding box中的文字方向为非水平排列,则对该bounding box的方向进行纠正,使其旋转为文字水平排列的方向,方便下一步的文本识别。


文本识别的任务是将文本检测得到的bounding box中的具体的文字内容识别出来。文本识别的算法有针对规则文本以及不规则文本识别的算法。对于规则文本,主流的算法CTC(Conectionist Temporal Classification) 和基于Sequence2Sequence 的方法。


在本文demo中,我们采用的是基于CTC的方法。由于文本识别任务的特殊性,输入数据中存在大量的上下文信息,卷积神经网络的卷积核特性使其更关注于局部信息,缺乏长依赖的建模能力,因此仅使用CNN很难挖掘到文本之间的上下文联系。


为了解决这一问题,首先通过使用CRNN (Convolutional Recurrent Neural Network)4 ,利用卷积网络提取图像特征,并同时引入了双向 LSTM(Long Short-Term Memory) 用来增强上下文建模。最终将输出的特征序列输入到CTC模块, 通过ctc归纳字符间的连接特性,直接解码序列结果。该结构被验证有效,并广泛应用在文本识别任务中, 如下图所示。



5分钟 3步骤

快速实现PaddleOCR实时推理


在最新版本的OpenVINO2022.1中,已经实现了对基于PaddlePaddle深度学习框架的深度学习模型的支持。而PaddleOCR作为一项深受广大开发者喜爱的开源技术,其中开源的预训练模型已经可以在OpenVINO2022.1版本中直接进行模型读取以及加速推理。


接下来,我们将通过代码示例,介绍如何按照简单的三个步骤,实现OpenVINO工具套件对PaddleOCR的加速推理。整个工作流程如下图所示:



其中OpenVINO工具套件会对PaddleOCR中的文本检测以及文本识别模型进行读取以及推理加速。本次demo中我们展示的是利用自己的网络摄像头,将实时获取的视频流中的文字信息利用PaddleOCR进行提取。当然,开发者也可以上传图片,利用OpenVINO工具套件对PaddleOCR的推理实现对图片中的文字信息进行提取。


步骤一:下载需要使用的PaddleOCR预训练模型,并完成模型的读取与加载


在导入需要使用到的相应Python包后,首先需要对将要使用的PaddleOCR开源预训练模型进行下载。本次demo中使用到的是轻量化的"Chinese and English ultra-lightweight PP-OCR model (9.4M)"模型。由于PaddleOCR中包含了文本检测及文本识别两个深度学习模型,因此,我们首先定义一个模型下载函数,如下图所示。



接下来,完成文本检测模型的下载,



以及推理引擎的初始化、文本检测模型的读取以及在   CPU上面的加载。



再然后,完成文本识别模型的下载,



以及文本识别模型的读取以及在CPU上面的加载。其中,有一步需要特别说明的是,动态输入的处理


由于文本识别模型的输入是文本检测得到的一系列bounding box图像,而图像中的字体由于大小和文字长短程度不一,就造成了文本识别模型的输入是动态输入的。与以往版本需要对图像尺寸进行重调整(resize)而将模型输入尺寸固定、从而可能引起性能损失的处理方法不同的是,OpenVINO2022. 1版本已经可以很好的支持模型的动态输入。


在CPU上进行文本识别模型加载之前,只需要对于输入的若干维度中具有动态输入的维度赋值-1或申明动态输入尺寸的上限值,比如Dimension(1,512),即可完成对模型动态输入的处理。接下来,即可按常规步骤完成在CPU上加载文本识别模型。



步骤二:为文本检测及文本识别定义必要的前处理及后处理函数。


为文本检测模型定义必要的前处理函数,如下图所示



为文本识别模型定义必要的前处理函数,如下图所示



为文本检测模型定义后处理函数,将文本检测模型的推理结果转为bounding box形式,作为文本识别模型的输入,如下图所示。



步骤三:利用OpenVINO工具套件推理引擎(Runtime)针对摄像头采集视频进行实时推理



定义运行PaddleOCR模型推理的主函数,主要包括以下四个部分:


01

运行网络摄像头,将捕捉到的视频流作为paddleOCR的输入


02

准备进行文本检测和文本识别的视频帧


03

针对文本检测进行推理


根据文本检测得到的bounding box,进行文本识别推理


04

将文本提取的结果可视化


整个demo实现的完整代码请您点击阅读原文获取。


结果讨论


下面我们来看看运行结果吧:



我们可以看到,对于网络摄像头采集的视频流中的文字提取效果还是很不错的。仅仅利用CPU进行推理,也可以得到30FPS以上的性能,可以说能够达到实时的推理效果!当然,除了视频流作为输入,开发者还可以上传图片,进行文本信息提取。以下是针对上传图片中印刷体文字和手写体文字信息提取的一些测试效果。


[('2021年', 0.9998825),

('上海市初中英语', 0.99546415),

 ('考纲词汇用法手册', 0.9261546),

('配套综合练习', 0.9912483),

('本书编写组', 0.98184997),

('上海译文出版社', 0.99167067)]


[('结庐在人境品无车马喧', 0.7947353),

 ('问君何能尔心远地自偏采前', 0.78279585),

 ('东鹤下您然见南山山气日夕', 0.88027453),

 ('佳飞鸟相与还此中有真意欲', 0.86756784),

 ('辩已意言', 0.3859764)]


你还在等什么,快来根据我们提供的源代码,在自己的个人电脑上尝试一下吧!


小结


OCR具有将图片、扫描文档或自然场景中的文字信息识别转化为数字化、机器编码方式存储的优势。将OCR进行文字识别的结果与自然语言处理中的NLP技术相结合,能够实现自动化的信息提取,为我们免去手动输入信息填写的麻烦,并有助于信息的结构化存储与查找。在本次系列博客的第二篇中,我们简要介绍了PaddleOCR的工作原理,并提供了一个基于OpenVINO工具套件实现PaddleOCR的Jupyter notebook demo。可以方便读者在阅读的同时,下载源码并在自己的电脑端利用CPU来轻松实现PaddleOCR的加速推理。


关于英特尔OpenVINO开源工具套件的详细资料,包括其中我们提供的三百多个经验证并优化的预训练模型的详细资料,请您点击

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html


除此之外,为了方便大家了解并快速掌握OpenVINO 工具套件的使用,我们还提供了一系列开源的Jupyter notebook demo。运行这些notebook,就能快速了解在不同场景下如何利用OpenVINO工具套件实现一系列、包括OCR在内的、计算机视觉及自然语言处理任务。OpenVINOnotebook的资源可以在Github这里下载安装:

https://github.com/openvinotoolkit/openvino_notebooks


参考文献:

[1] Du Yuning, Chenxia Li, Guo Ruoyu, Xiaoting Yin, Weiwei Liu, Jun Zhou, Yifan Bai, Yu Zilin, Yehua Yang, Qingqing Dang and Haoshuang Wang. PP-OCR: A Practical Ultra Lightweight OCR System. In arXiv: Computer Vision and Pattern Recognition (2020): n. pag.

[2] Yuning Du, Chenxia Li, Ruoyu Guo, Cheng Cui, Weiwei Liu, Jun Zhou, Bin Lu, Yehua Yang, Qiwen Liu, Xiaoguang Hu, Dianhai Yu and Yanjun Ma. PP-OCRv2: Bag of Tricks for Ultra Lightweight OCR System. In arXiv: Computer Vision and Pattern Recognition (2021): n. pag.

[3] Minghui Liao, Zhaoyi Wan, Cong Yao, Kai Chen and Xiang Bai. Real-Time Scene Text Detection with Differentiable Binarization. In National Conference on Artificial Intelligence (2020).

[4] Baoguang Shi, Xiang Bai and Cong Yao. An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition. In IEEE Transactions on Pattern Analysis and Machine Intelligence 39 (2017): 2298-2304.


OpenCV学堂 专注计算机视觉开发技术分享,技术框架使用,包括OpenCV,Tensorflow,Pytorch教程与案例,相关算法详解,最新CV方向论文,硬核代码干货与代码案例详解!作者在CV工程化方面深度耕耘15年,感谢您的关注!
评论
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 41浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 53浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 112浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 150浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 186浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 198浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 221浏览
  • 电竞鼠标应用环境与客户需求电竞行业近年来发展迅速,「鼠标延迟」已成为决定游戏体验与比赛结果的关键因素。从技术角度来看,传统鼠标的延迟大约为20毫秒,入门级电竞鼠标通常为5毫秒,而高阶电竞鼠标的延迟可降低至仅2毫秒。这些差异看似微小,但在竞技激烈的游戏中,尤其在对反应和速度要求极高的场景中,每一毫秒的优化都可能带来致胜的优势。电竞比赛的普及促使玩家更加渴望降低鼠标延迟以提升竞技表现。他们希望通过精确的测试,了解不同操作系统与设定对延迟的具体影响,并寻求最佳配置方案来获得竞技优势。这样的需求推动市场
    百佳泰测试实验室 2025-01-16 15:45 339浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 399浏览
  • 80,000人到访的国际大展上,艾迈斯欧司朗有哪些亮点?感未来,光无限。近日,在慕尼黑electronica 2024现场,ams OSRAM通过多款创新DEMO展示,以及数场前瞻洞察分享,全面展示自身融合传感器、发射器及集成电路技术,精准捕捉并呈现环境信息的卓越能力。同时,ams OSRAM通过展会期间与客户、用户等行业人士,以及媒体朋友的深度交流,向业界传达其以光电技术为笔、以创新为墨,书写智能未来的深度思考。electronica 2024electronica 2024构建了一个高度国际
    艾迈斯欧司朗 2025-01-16 20:45 437浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 101浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 122浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦