基于移动设备的OCR识别工作进展(1)

1 模型调研

模型1:Tesseract-OCR
模型2:PaddleOCR

  • Android上面有体验版的demo:https://ai.baidu.com/easyedge/app/openSource?from=paddlelite
  • PP-OCR模型:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/README_ch.md
  • 源代码:https://github.com/PaddlePaddle/PaddleOCR

2 PaddleOCR模型

2.1 基于Android端的PaddleOCR模型部署

详细情况见:http://t.csdn.cn/HjBd8

2.2 手机端Demo测试结果(基于ch_ppocr_mobile_v2.0)

详细情况见:https://blog.csdn.net/weixin_39133209/article/details/126301841
面临的主要问题有:英文模型识别还有问题。
在这里插入图片描述

2.3 PaddleOCR安卓Demo存在的问题

http://t.csdn.cn/Irzor

3 MNN推理模型

3.1 技术调研

https://github.com/alibaba/mnn
https://www.mnn.zone/m/0.3/
https://github.com/alibaba/MNNKit
https://www.yuque.com/mnn/cn
https://www.yuque.com/mnn/cn/build_android

3.1.1 Android + MNN + OCR

https://github.com/luoqianlin/mnn-android-ocr-demo
在这里插入图片描述
这个工程是2021年2月份的模型了,不过也可以借鉴。

3.1.2 linux/macos/windows + MNN + OCR

https://github.com/DayBreak-u/chineseocr_lite
在这里插入图片描述

3.2 我们的工作:Android 编译 MNN及MNN 模型转换

https://blog.csdn.net/qq_40206924/article/details/126570574

3.3 我们的工作:如何利用已有so文件的模型

https://www.linuxquestions.org/questions/programming-9/reading-apis-from-a-so-file-822438/
这个链接提供了四个思路来使用已有so文件的API:
(1)反编译,去看头文件;
(2)命令:
nm -g your.so | awk 'NF3 && $2"T" { print }"
在这里插入图片描述

(3)命令:
objdump -d -j .text xx.so
在这里插入图片描述

(4)readelf工具
在这里插入图片描述

4 NCNN模型

4.1 技术调研

https://ncnn.docsforge.com/

4.1 Android + NCNN + OCR

https://github.com/benjaminwan/OcrLiteAndroidNcnn
在这里插入图片描述
这个工程主要支持中文识别,如果是英文识别,还需要更换模型。

4.2 我们的工作:Android 编译 NCNN及测试OcrLiteAndroidNcnn项目

https://blog.csdn.net/qq_44309220/article/details/126582847
OcrLiteAndroidNcnn项目效果测试:
http://t.csdn.cn/dZ1nq

5 模型对比实验

5.1 PaddleOCR和扫描王之间的对比

http://t.csdn.cn/69YAv

5.2 Chinese-Lite、PaddleOCR和扫描王之间的对比

对比的产品有:

  • 基于NCNN框架构建的OcrLiteAndroidNcnn
  • PaddleOCRv2
  • 竞品扫描王

对比的结果如下:

1、较暗图片 Chinese-Lite 弱于PaddleOCR 。Chinese-Lite弱于竞品
2、文字密度:对于稀疏文字,PaddleOCR 效果和 Chinese-Lite 不相上下。Chinese-Lite检测优于竞品,识别弱于竞品;
对于密集文字,Chinese-Lite 检测和 PaddleOCR 同样优秀,识别优于PaddleOCR。Chinese-Lite检测优于竞品,识别弱于竞品。
3、颜色:对于字体颜色,Chinese-Lite 检测和识别优于PaddleOCR。Chinese-Lite 识别弱于竞品;
对于背景颜色,Chinese-Lite 检测优于 PaddleOCR,不会出现漏检,识别率弱于PaddleOCR。Chinese-Lite 识别率弱于竞品。
4、不同角度:
60度:Chinese-Lite 检测和识别优于PaddleOCR,但识别中无法还原正确语序。Chinese-Lite 检测和识别优于竞品。
120度:Chinese-Lite 不能检测和识别。
180度:Chinese-Lite 检测弱于 PaddleOCR,识别优于 PaddleOCR。Chinese-Lite 识别弱于竞品。
5、扭曲变形:
Chinese-Lite 检测识别优于 PaddleOCR,基本能够检测识别出大部分内容;Chinese-Lite 识别弱于竞品。
6、手写体:
Chinese-Lite 对手写体几乎不能检测

总体而言:
PaddleOCR和Chinese-Lite的对比:

  • 在检测方面:PaddleOCR 尽可能多地以行为单位,而Chinese-Lite 更多是以几个单词为一个单位。猜测这就是Chinese-Lite会在褶皱方面优于PaddleOCR的原因。PaddleOCR除了褶皱方面以外,总体要优于Chinese-Lite;
  • 在识别方面:PaddleOCR 更注重识别出每个字符,而Chinese-Lite 更注重分词(很少出现字母连贯);
  • 在识别速度方面:PaddleOCR优于Chinese-Lite。

Chinese-Lite和竞品的对比:

  • 竞品整体的效果还是要强于 Chinese-Lite。

先基于paddleocr进行开发,然后去研究Chinese-lite的一些优点,利用Chinese-lite的优点来改进paddleocr的模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020.2idea创建web_IntelliJ IDEA 2017.3 完整的配置Tomcat运行web项目教程(多图)

小白一枚,借鉴了好多人的博客,然后自己总结了一些图,尽量的详细。在配置的过程中,有许多疑问。如果读者看到后能给我解答的,请留言。Idea请各位自己安装好,还需要安装Maven和Tomcat,各自配置好环…

swift 将图片保存到本地_Swift实现截屏并保存相册

func saveToLocal() {//截屏let screenRect UIScreen.mainScreen().boundsUIGraphicsBeginImageContext(screenRect.size)let ctx:CGContextRef UIGraphicsGetCurrentContext()!self.view.layer.renderInContext(ctx)let image UIGraphicsGetImageFromCurrentImageContext()…

OCR基本原理

学习内容为《动手学OCR.pdf》 1 OCR基础 1.1 OCR是什么 OCR(Optical Character Recognition,光学字符识别); 传统意义上的OCR:面向扫描文档类对象; 一般意义上的OCR:场景文字识别&#xff08…

实用供暖通风空调设计手册 第三版_实用供热空调设计手册第三版即将出版随想...

看到西北院组织豪华的暖通空调大师阵容编写的《实用供热空调设计手册》第三版即将出版的信息,暖通空调人都期盼着2020年底见到具有更多新理念、新技术、新方法、新设备、新材料内容的新版《实用供热空调设计手册》。看到《实用供热空调设计手册》第二版,…

json非法字符有哪些_JSON文件中非法字符的处理

JSON是一种很好的数据格式,但是简单之处也有麻烦的地方,比如如果JSON的字符串里面出现了双引号的话,那真是搞死人了。之前我很傻,每次抛出异常,我就根据异常显示的位置,去慢慢一个一个找错误的地方&#xf…

python查询模块路径_Visual Studio 2017中的Python无法通过“搜索路径”查找模块

我正在尝试将一个带有python虚拟环境的现有python项目添加到visual studio 2017,以便我可以调试它。 该项目还有一些外部依赖项, 所有内容都安排在以下文件夹中 C:\myproject\code C:\myproject\portablepython C:\myproject\pylibrary 我使用了创建项目…

python pyquery库_python解析HTML之:PyQuery库的介绍与使用

前言Python关于爬虫的库挺多的,也各有所长。了解前端的也都知道, jQuery 能够通过选择器精确定位 DOM 树中的目标并进行操作,所以我想如果能用 jQuery 去爬网页那就 cool 了。就搜了下看 Python 有没有与 DOM 相关的库什么的,还真…

android 北斗定位代码_iPhone 11 确认支持北斗导航,真相来了!

点击 哎咆科技 关注我们最近“北斗”火了。因为7月31日,北斗三号全球卫星导航系统正式开通。截止8月7日,微博话题“北斗三号全球卫星导航系统正式开通”已有5.3亿次阅读、8万次讨论。北斗三号全球卫星导航系统的开通,意味着中国自主研发的北斗…

冯雪 手术机器人的应用_未来达芬奇手术机器人的应用将更为广阔

达芬奇手术机器人在缝合葡萄皮。在两三厘米见方的人体空间内,机械臂可以如绣花般精细操作。如今,手术机器人正在让很多原本无法想象的手术场景变为现实。其中,达芬奇外科手术机器人系统(以下简称“达芬奇手术机器人”)更是代表了该领域的尖端…

python如何读取数据时出现错误_连接数据库时出现的错误,怎样解决??

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Traceback (most recent call last): File "src\pymssql.pyx", line 636, in pymssql.connect File "src\_mssql.pyx", line 1957, in _mssql.connect File "src\_mssql.pyx", line 676, in _mssql…

FCENet学习笔记

论文: Fourier Contour Embedding for Arbitrary-Shaped Text Detection Yiqin Zhu and Jianyong Chen and Lingyu Liang and Zhanghui Kuang and Lianwen Jin and Wayne Zhang CVPR, 2021 1 动机 2021年金连文团队提出了一个FCENet,方法比较新颖&…

10a大电流稳压芯片_IC芯片大小的完整10A DC/DC电源

引言对于数字系统设计师来说,DC/DC电源的定义和设计常常是最后一个设计步骤。设计师必须在DC/DC稳压器电路的设计、布局和调试上花费宝贵的时间。确定合适的DC/DC控制器IC、MOSFET、电感器、电容器、电阻器和二极管只是所面临的诸多挑战的一部分。电源的布局、元件选…

linux shell rman删除归档_我们一起学一学渗透测试——黑客应该掌握的Linux基础

点击上方「蓝字」关注我们各位新老朋友们:大家好,我是菜鸟小白。欢迎大家关注“菜鸟小白的学习分享”公众号,菜鸟小白作为一名软件测试工程师,会定期给大家分享一些测试基础知识、测试环境的搭建和python学习分享,另外…

PAN++学习笔记

1 主要创新点 文本检测和识别两个任务结合起来,作为互补,提高检测和识别精度;处理不规则形状的文本;提供一个高效的端到端框架PAN,对实时的应用场景友好。 2 已有工作的痛点 将文本检测和识别任务分开,不…

postgresql 遍历字符串数组_每日一道编程题(348):1005.K次取反后最大化的数组和...

1005.K次取反后最大化的数组和每日编程中遇到任何疑问、意见、建议请公众号留言或直接撩Q474356284(备注每日编程)给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次…

7安装sql cent os server_CentOS7 安装并使用SQL Server

CentOS7 安装并使用SQL ServerLinux 上的 SQL Server 安装指南笔者基于CentOS7进行安装操作下载 Microsoft SQL Server Red Hat 存储库配置文件sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server.repo运行以下命令&…

python读取mysql数据_Selenium(Python) ddt读取MySQL数据驱动

import unittest from time import sleep from ddt import ddt, data from pymysql import connect from selenium import webdriver def getMySQLTestData(): # 查询数据库的方法 db connect(host"localhost", user"root", password"123456", …

签字后被开除_员工虚假报销公司可以开除吗?

大家好,我是法小明。今天继续和大家聊聊劳动法那些事,很多企业都会有报销制度,但制度难免会有漏洞,如果劳动者钻空子的话公司可以解除劳动合同吗?我们一起看看下面这个例子:小案例陈某系某公司员工&#xf…

python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库

相比 MySQL 而言,SQLite 更为轻便、易于维护和部署。本文使用Python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表——参数名称,时间和温度值。本文重点解释Python操作SQlite的具体方法,由于…

论文笔记:推荐系统去偏(Debiased Recommendation)研究综述

1 推荐系统的偏差 出现偏差的原因:用户行为数据是观察所得(Observational)而不是实验所得(Experimental),因此会存在各种偏差,如用户对物品的选择偏差、系统对物品的曝光偏差等;偏差带来的问题:不考虑偏差&#xff0c…