
OCR数字仪表识别
文章平均质量分 91
数字仪表识别
吨吨不打野
不要慌,不要慌,太阳落下有月光
展开
-
Windows系统字体和系统应用字体
1. ????♀️网上大部分的说法根据windows10下恢复系统默认字体的三种方法可知:windows系统默认字体是微软雅黑,可以自己去注册表里查看字体相关的内容win+R,在运行中输入regedit,打开注册表在注册表左侧树状菜单中展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Fonts,如果找起来太麻烦,可以直接复制计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win原创 2021-04-02 17:01:14 · 8524 阅读 · 0 评论 -
PaddleOCR——封装PP-Structure成一个简单的服务(dockerfile)
主链接:github上的issue——PP-Structure????1. 安装依赖由于后续这些都是基于docker进行的,所以这里直接记录dockerfile文件内容:1. 确认基础镜像基础镜像就是paddlepaddle的镜像了,根据:开始使用可知,镜像的名称应该类似于:registry.baidubce.com/paddlepaddle/paddle:2.1.2-gpu-cuda11.2-cudnn8根据:paddlepaddle-docker主页仓库docker pull pa原创 2021-09-17 14:44:55 · 8991 阅读 · 13 评论 -
PP-OCRv2技术解析
以下内容均围绕AI快车道2021-PaddleOCR中视频展开:1. PP-OCRv2与之前的ppocr模型相比PP-OCRv2相比于之前的PP-OCR mobile,耗时更少,效果更好同时与PP-OCR Server相比,模型更小,速度更快,性能甚至还要好一些PP-OCRv2算法,优化检测和识别模型,模型效果相比PP-OCR mobile提升超7%;速度比PP-OCR server提升超220%;11.6M大小,可部署到服务器和移动端2. 检测模型优化策略2.1 CML属于知识蒸原创 2021-09-16 16:40:20 · 2761 阅读 · 0 评论 -
pytesseract安装和基本使用
1. 安装配置2. 简单使用和参数说明pytesseract psm 选项参数原创 2021-07-22 14:59:30 · 35339 阅读 · 18 评论 -
PaddleOCR——PGNet试用
之前一直使用的是两阶段的文字识别方式,但是在应用的时候,一般会固定摄像头,只进行识别,相当于没有使用文字检测,而直接进行了文字识别。????1. PGNet常见FAQ使用之前,先了解下情况,这样出现问题不至于一头雾水,问题主要集中在:如何使用PGNet训练自己的数据集(数据集标注问题),PGNet这种端到端和之前的两阶段的优劣,试用场景,eval出错,需要更新PaddleOCR版本/代码根据FAQ-2.1.3:Q2.1.3:目前OCR普遍是二阶段,端到端的方案在业界落地情况如何?A:端原创 2021-07-22 14:16:58 · 4580 阅读 · 10 评论 -
css+js显示点阵字体/LED七段数码管字体(模拟)
使用css+js模拟的显示界面进行数据收集。1. 没有找到代码来自 https://www.jindianweb.com/texiao/item-177.html 网站,之前找到过可以演示的网站,但是下载还是比较费劲2. 有代码,需要修改http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/20141221955.html这个直接页面上显示了代码,可以复现试试但是由于显示的是时钟,而不是普通格式的数字,所以考虑修改代码,去掉冒号,考原创 2021-07-20 17:18:39 · 8233 阅读 · 7 评论 -
PaddleOCR报错Process finished with exit code
1. 问题很奇怪,之前paddleocr直接测试时可以使用的,但是更新成PaddlePaddle-gpu版本之后,就出现这样的问题。警告信息:安装了gpu版本,但是没有检测到gpu,所以使用了cpu2. 排查原因2.1 GPU问题大概率是GPU的问题,查看一下NVIDIA电脑上也无法打开,呵呵但是设备管理器里可以看到,真的是垃圾surface,苏菲一生黑,破电脑(surface经常出现检测不到显卡的情况)。重启看看2.2 Paddle库的原因在issue上确实找到了很多这样问题的原创 2021-07-12 16:51:57 · 1343 阅读 · 0 评论 -
一篇入门深度学习OCR:数据集和算法合集
当前OCR领域基本上已经是深度学习的天下了,近5年,在算法和数据集的双重加持下,OCR已经成为一个解决的问题,要做一个适合于自己的OCR系统,关键在于选择适合于自己场景的数据集和算法。本文主要记录OCR领域常用的数据集和算法,以及相关的开源项目和博客。????1. OCR数据集和数据集生成工具在任何领域,深度学习成为主流意味着数据集是其中的关键,即使是相同的OCR模型,大规模数据集的训练能带来识别效果上质的提升。深度学习OCR处理主要分成两步走:(1)图片中的文本检测,即通过文本框框出图片中的文本转载 2021-07-07 17:37:14 · 8525 阅读 · 0 评论 -
PaddleOCR提供服务配置
业务目标摄像头提供一整个图像,其中包含多个待识别的文本,摄像头和物体固定在展板上,不需要检测文本位置,需要识别。整体步骤:读取图像->扣取多个文本的矩形->识别问题由于以前是直接利用paddleocr.py这个wheel进行的推理,其实这个库有非常多为了运行其他模型的冗余代码,在我的项目中并不需要。这次不需要检测,所以直接根据paddleocr这个包的tools->infer->predict_rec.py这部分,将使用到的代码抽取,不需要的直接抛弃,最后变成了两个原创 2021-07-06 16:22:56 · 536 阅读 · 2 评论 -
Paddleocr部署进一步优化
之前的模型因为是使用rec_r34_vd_none_bilstm_ctc这个预训练模型,resnet34层,所以比较重,跑起来比较慢,导致识别+检测在部署到现场机器上时差不多要一秒一张。为了加速,考虑以下几种措施:换轻量级的backbone用paddleslim剪枝(参数精度降低)是否可以尝试使用c++部署是否可以转换成其他框架的模型,使用mlkdnn来进行加速。1. 换轻量级backbone1.1 模型说明第一步:确定要使用的预训练模型,可使用的ppocr提供的预训练模型列表,点击这原创 2021-07-05 16:09:44 · 2999 阅读 · 2 评论 -
PaddleOCR本地部署(安装,使用,模型优化/加速)
之前在服务器上要训练ppocr模型,所以需要额外安装PaddlePaddle,但是自己训练后已经把模型变成了推理模型,直接可以使用paddleocr package这一个包来进行运行,所以在迁移到别的环境时候,可以不再进行paddlepaddle的安装。参考:和之前的文章:PaddleOCR数字仪表识别——5. ppocr封装使用1. 安装根据:paddleocr package使用说明一开始以为:pip install "paddleocr>=2.0.1"但是果然:so就在本机安原创 2021-06-04 10:57:41 · 82091 阅读 · 20 评论 -
OCR-字体整理
1. ????字体1.1 Semi类参考链接,BcsSEMI是传统的真型字体。其字符集如下所示:SEMI是单密度点矩阵字体。其字符集如下所示:SEMIDouble是一种双密度点矩阵字体。其字符集如下所示:1.2 OCR-A类MKOCR.ttfocra.ttfOCRAEXT.TTF(extend)ocraI.ttfOCRAII.TTFocraIII.ttfocraIV.ttf1.3 OCR_B类OCRB.TTFocr原创 2021-05-19 10:25:54 · 7924 阅读 · 3 评论 -
PaddleOCR二次全流程——7. 图像的预处理和后处理
经过之前的迁移训练,其实在某些方面会比通用的模型要好一些,但是直接投入实际生产使用还是差一些,所以这里读一下paddleocr的源代码去了解一下现有的预处理和后处理情况。1. 预处理预处理也分为cls分类,db检测,east检测,rec识别这几种情况,没有在FAQ文件中搜到统一的文件夹,自己去手动找找。根据PaddleOCR 的整体目录结构-tree结构可知,与预处理相关的内容\PaddleOCR\tools另外,还有PaddleOCR\deploy\cpp_infer\include\p原创 2021-04-23 15:13:16 · 6791 阅读 · 2 评论 -
PaddleOCR二次全流程——6. finetune预训练模型来匹配自己的数据
可以参考自己以前做过的:PaddleOCR数字仪表识别——3.(New)PaddleOCR迁移学习PaddleOCR文字识别的文档:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/recognition.md1. 修改textrender生成的数据使之符合PaddleOCR格式参考PaddleOCR文档(和之前第一次试验的时候差距不大):https://github.com/PaddlePaddle/Paddle.原创 2021-04-19 14:29:53 · 10431 阅读 · 3 评论 -
PaddleOCR二次全流程——4. 使用PPOCRLabel标注数据
在PaddleOCR的FAQ集合中没有看到一个与PPOCRLabel相关的问题,同时这个工具发布时间也很新,2020年12月左右发布的,尝试一下新事物,但是不要抱太大的希望。1. 安装官方说明文档网站:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/PPOCRLabel/README_ch.md不对安装详细过程作说明,只说遇到的两个坑1.1 报错:ImportError: cannot import name 'inferenc原创 2021-04-15 16:47:40 · 17881 阅读 · 23 评论 -
PaddleOCR二次全流程——3.使用TextRender合成图片
1. 确定要合成的数据量参考PaddlePaddle的微信公众号文章:百家桨坛 | 第一期:OCR文字识别专题100问对于识别任务,需要保证识别字典中每个字符出现在不同场景的行文本图像中数目需要大于200张。例如:如果字典中有五个字,每个字都需要出现在200张图片以上,那么最少要求的图像数量应该在200-1000张之间,这样可以保证基本的识别效果我的场景是,英文26个,数字10个,同时还有一些标点符号,- . x等,差不多50个字符,那就是至少2w张图,反正越多越好。另外,根据StyleT原创 2021-04-14 14:54:58 · 6768 阅读 · 36 评论 -
PaddleOCR二次全流程——5.FAQ记录
选择在实际操作前先看一遍这个,是因为之前实验的时候有很多坑,提前看一遍预防一下,以便出了问题更好定位问题,不至于一模黑乱找。建议还是去github上看,gitee上更新确实会慢一些,2021.4.8截的图,差了两次更新。(这个FAQ每周一更新一次,建议持续关注)1. ????有价值的内容因人而异,因项目而异。大家都在了解的基础上寻找对自己有用的即可...原创 2021-04-14 14:49:16 · 4692 阅读 · 3 评论 -
PaddleOCR二次全流程——2.使用StyleText合成图片
使用StyleText字体+背景生成某种风格的图片(数据合成) github链接(PaddleOCR的说明文档)1. 介绍1.1 工具简介其实github上介绍的不错,同时在PaddlePaddle的微信公众号,知乎上也都有介绍,传送门在此,自行观看,不多做说明:github介绍说明(网上可以搜到的介绍基本都是从这个说明复制的):https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/StyleText/README_ch.mdPad原创 2021-04-07 16:39:39 · 4571 阅读 · 22 评论 -
读论文——(Styletext)Editing Text in the Wild
Style-Text数据合成工具是基于百度和华科合作研发的文本编辑算法《Editing Text in the Wild》https://arxiv.org/abs/1908.03047结合github的文档去读论文(因为在实际使用中发现配置参数有些需要明白其物理意义,所以还是看看论文比较好):https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/StyleText/README_ch.md整体格式还是和之前读PPOCR论文差不多,加.原创 2021-04-07 16:06:00 · 2570 阅读 · 3 评论 -
PaddleOCR二次全流程——1. PPOCR论文介绍
从PaddleOCR的说明手册:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/README_ch.md近期更新中,看到:2020.9.22 更新PP-OCR技术文章,<https://arxiv.org/abs/2009.09941>,直接进入论文地址:https://arxiv.org/pdf/2009.09941.pdf读PPOCR论文:PP-OCR: A Practical Ultra Lightweight原创 2021-04-06 11:25:42 · 4570 阅读 · 3 评论 -
PaddleOCR二次全流程——1. 确定字体
1. 数据1.1 字体要识别的内容是这样的,大致模式是:机器拍摄,然后识别屏幕上的表格文字。确定字体的网站:中文:识字体英文:WhatTheFont英文:FONT IDENTIFIER不过以上字体基本都需要自己在网站做一些操作,框字体区域,然后会填写当前框对应的正确字符,再去进行识别。(但是对英文来说,往往在切分字符的时候就错了,所以这里就不再去寻找字体了)这里选择了几种和上述比较像的字体来进行替代:...原创 2021-04-06 10:22:12 · 2328 阅读 · 0 评论 -
(三)使用docker来进行paddleocr的安装使用
GPU的问题linux下由于GPU和CPU版本安装区别很大,所以这里要先搞清楚自己服务器的GPU情况。其实安装的是PaddlePaddle的镜像,paddleocr并没有官方镜像,去docker hub上也有,但是吧,还是想要官方的查看cudnn版本,nvidia-smi或者可以使用(nvidia-smi安装好了,表示cuda和cudnn已经安装了 )nvcc -V# 如果报找不到该路径或文件,则表示nvcc没有安装,# 可以安装 安装好之后再输入就可以了sudo apt ins原创 2021-03-30 10:29:14 · 10997 阅读 · 4 评论 -
PaddleOCR数字仪表识别——图像预处理(python)
主要是针对 数字仪表图片进行预处理,所以这里只关注 二值化/去噪(可以不关注文档矫正,因为会限制用户摄像头行为)主要参考:深度实践OCR 基于深度学习的文字识别(第二章 图像预处理)1. 二值化参考:Opencv document Image Thresholding图像二值化(Image Binarization)是指将像素点的灰度值设为0或255,使图像呈现出明显的黑白效果。区别于灰度图,灰度图可以有256个值,但是二值化的图只能有两个数,所以二值化的图像一定是灰度图,但是灰度图不一定是二值原创 2021-03-25 15:40:14 · 4520 阅读 · 0 评论 -
PaddleOCR数字仪表识别——3.(New)PaddleOCR迁移学习
安装参考百度PaddleOCR的快速安装,记得提前安装gcc就行。(参考PaddleOCR数字仪表识别——3.paddleocr迁移学习3.1部分)1. 数据准备1.1 数据集参考PaddleOCR数字仪表识别——2(New). textrenderer使用及修改使之符合PaddleOCR数据标准1.2 字典PaddleOCR提供了一些默认的字典,位置(PaddleOCR/ppocr/utils/dict/)比如ppocr/utils/ppocr_keys_v1.txt 是一个包含6623个字原创 2020-11-06 11:12:11 · 5571 阅读 · 5 评论 -
PaddleOCR数字仪表识别——5. ppocr封装使用
1.环境准备根据paddleocr说明文档1.1 直接使用whl包使用PaddleOCR安装的时候没看清,推荐直接使用这种方式,简单。。还是要新建一个干净的conda的env,这个叫ocr好了。。conda create -n ocr python=3.7pip install paddleocr #这样安装只能安装1.0.1版本(看了下,之前在linux上安装的也才1.0.0版本,这个版本号和PaddleOCR并不一致。)# 配置jupyter kernel 所有的环境都要安装ipyker原创 2020-11-25 11:19:37 · 2092 阅读 · 5 评论 -
PaddleOCR数字仪表识别——4. pipeline
有一个数字仪表识别的问题,所以要自己先造一些数据,要收集的素材包括字体文件和背景图片文件1. 字体、背景删选1.1 字体1.1.1 标准字体图片业务场景的字体图片:1.1.2 删选字体使用 百度字体编辑器网页版:百度还是有良心的地方的,(这个字体编辑器也可以对ttf文件中不想要的字形进行删除,good)收集了28种晶体管/数码管字体,为了贴合业务需求,要进一步根据项目中仪表的数字表上的数字类型进行筛选。一个一个对比就好了(主要看数字部分的字体)DigifaceWide.ttf这个其实也原创 2020-11-04 15:18:04 · 5032 阅读 · 4 评论 -
训练一个简单的OCR识别LED数字模型
0. 问题考量0.1 端侧部署问题由于当前进行的这个OCR数字识别项目是要给人装到一个普通的台式机上作为一个应用的一部分去使用,考虑到paddleOCR其实还是依赖于PaddlePaddle这个大环境,比较重,而PaddleHub也很重,针对服务器端的,所以。。。还是放弃了看了看端侧部署,客户的机子肯定是普通的台式机windows,单就win10这一项,我觉得在客户机子上布置就很不现实。。。此外,我们确实对paddlepaddle都不熟悉。。。。用是可以,但是定制起来真的有难度。领导提议使原创 2020-11-25 11:15:04 · 1731 阅读 · 0 评论 -
PaddleOCR数字仪表识别——2(New). textrenderer使用及修改使之符合PaddleOCR数据标准
1. 准备工作1.1 文件准备按照textrenderer-github网站的安装步骤安装完之后,可以看到一个example_data的文件夹,里面主要就是这么几个文件夹。如果想使用这个现有的example来产生自己的数据,需要做这么几个事情bg文件夹,存放要产生的图片的背景(图片颜色不重要,因为产出的图都是灰度图)char文件夹 默认有两个txt文件,chn.txt和eng.txt,里面放的就是要产生的 文本的字符,一行一个(我做数字识别,就是10行,每行分别是0-9这10个数字,注意:原创 2020-10-14 14:50:36 · 4208 阅读 · 12 评论 -
OCR数字仪表识别-PaddleOCR介绍(官方视频及经验分享)
Github-PaddlePaddle/PaddleOCR两个视频地址:AI快车道2020-PaddleOCR原创 2020-10-10 16:03:41 · 7287 阅读 · 0 评论 -
PaddleOCR数字仪表识别——3.paddleocr迁移学习
3. 迁移学习主要还是使用PaddleOCR的模型来迁移,文本检测和识别主要参考以下内容:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/README_ch.md3.1 安装PaddleOCR3.1.1 安装docker以前配置CVAT的时候就安装过,参考https://www.jianshu.com/p/07e405c01880最简单的方式就是使用阿里云的景象直接安装curl -fsSL https://get.docker.c原创 2020-10-10 11:21:39 · 8793 阅读 · 6 评论 -
PaddleOCR数字仪表识别——2.数据合成及数据集制作
2. 数据合成工具PaddleOCR提供了许多数据合成工具:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/README_ch.md也就是说这些数据合成工具其实也是百度从别的地方找的,做了个整合的目录,第一个应该是最推荐的。2.1 text_renderer只能用来产生 文字识别(不是文字检测 定位)的图片(产出的是很小很精确的只有文字部分的图片,灰度图)text_renderer是最常用的也是目前看起来效果比较好的:htt原创 2020-10-10 11:20:42 · 10134 阅读 · 13 评论 -
PaddleOCR数字仪表识别——1.字体背景删选
有一个数字仪表识别的问题,所以要自己先造一些数据,要收集的素材包括字体文件和背景图片文件1. 字体、背景删选1.1 字体1.1.1 标准字体图片业务场景的字体图片:1.1.2 删选字体使用 百度字体编辑器网页版:百度还是有良心的地方的,(这个字体编辑器也可以对ttf文件中不想要的字形进行删除,good)收集了28种晶体管/数码管字体,为了贴合业务需求,要进一步根据项目中仪表的数字表上的数字类型进行筛选。一个一个对比就好了(主要看数字部分的字体)DigifaceWide.ttf这个其实原创 2020-10-10 11:19:33 · 2273 阅读 · 0 评论