OCR研究学习总结1
Posted ljtyxl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OCR研究学习总结1相关的知识,希望对你有一定的参考价值。
OCR研究学习
OCR (Optical Character Recognition,光学字符识别)全流程
OCR在招投标行业比较普遍且复杂,大部分都是扫描件,包括swf视频/pdf文档/png/doc等格式的文件,我们首先需要对这些文件进行分类处理,pdf/doc文档这种内容非图片的可以直接解析成文字,其他的都需要处理成相同格式的图片,并对图片进行预处理。图片中的文字、公式、表格、图片等复杂的文本结构是我们必须针对不同类型的扫描件做不同的预处理,以便于准确的进行文字定位。然后进行文字切割,对切割的图片进行特征工程:滤波、傅里叶变换、时域、频域特征、像素变化特征、像素变化规律、像素方差、均值、异常像素、直方图、像素最值、聚类划分、svd变换特征、RGB颜色空间中的相对位置信息特征、颜色直方图特征匹配。然后完成文字识别。主要流程如下:
图片预处理
包括带光影图像、倾斜图像矫正(最小面积矩形旋转矫正minAreaRect/霍夫线变换HoughLinesP)、灰度处理、二值化处理(非黑即白)、膨胀操作(混成一团)、腐蚀操作(边缘瘦身)、边缘检测、矩形框检测、把扭曲矩形回正、矫正完成。
切割字符(图像切割)
投影法实现分割/切行(把黑色像素点累积到一侧按照最薄弱的黑色像素进行切行或者切列)->
识别字符
文字纠错
恢复版面
文字后处理
图片文字识别涉及图像分割(单字切割)和图像分类(单字分类)两大领域,对于英文可以分为单字母识别和单词的识别,任务可以分为端到端不定长文本识别和单字识别两种任务。
所以一般来说,从自然场景图片中进行文字识别,需要包括2个步骤:
- 文字定位:图像中文字在哪里,4个坐标值。
- 文字识别:对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。
OCR文档识别的工作原理:
- 图像预处理:图像预处理的目的主要是为了更好的文本行定位和识别,从而提高识别准确率,同时也可以进行图像美化,将美化的效果展现给客户,让客户更容易的进行校对和存储,常用的图像预处理模块有:去背景、倾斜矫正、透视变换、图像增强、方向校正、反光处理、反白处理等)。
- 文本行定位:即将文档图像的所有文本行进行定位,文本行定位的准确性直接影响到后面的文字识别和版面分析的整体效果。
- 文本行识别:OCR核心算法,对文本行文字信息转换成可编辑的文字信息,
- 后处理:根据规则和大数据分析(nlp)对识别结果进行矫正,提高字符识别的准确率。
- 版面还原:将识别结果按原文本图像原办的版面还原到word文档或excel表格或者web界面,具体功能包括表格分析、段落分析、顺序还原等。
OCR文字识别技术总结(一) - 知乎 (zhihu.com)
1️⃣OCR系列第一章:OCR文字识别技术总结(一)
2️⃣OCR系列第二章:OCR文字识别技术总结(二)
3️⃣OCR系列第三章:OCR文字识别技术总结(三)
4️⃣OCR系列第四章:OCR文字识别技术总结(四)
5️⃣OCR系列第五章:OCR文字识别技术总结(五)
模糊字识别:
- 加超分辨率重建模块,白色背景进行二值化,其他背景进行blur的中值滤波增强。参考srcnn:壹沓AI探索:OCR难点——“低质文本识别”怎么破? - 知乎 (zhihu.com)
基于模板匹配的OCR识别方法
基于模板匹配的OCR识别方法及装置、存储介质 - 道客巴巴 (doc88.com)
本申请公开了一种基于模板匹配的OCR识别方法及装置、存储介质、计算机设备,涉及信息处理技术领域。其中方法包括:采集不同指定排版方式的样本文档图片;对各个样本文档图片进行框选,获得与各个样本文档图片对应的识别模板;建立识别模板数据库,所述识别模板数据库中保存有所述各个样本文档图片对应的识别模板:采集待识别文档图片,并对所述待识别文档图片的边框以及标题进行识别,获得所述待识别文档图片的文档类型:根据识别得到的待识别文档图片的文档类型调用所述识别模板数据库中相应的识别模板对所述待识别文档图片进行OCR识别。本申请建立了识别模板数据库,能适应多种不同排版格式的文档的识别,提高了OCR识别
的准确性
用Transformer实现OCR字符识别
【AI实战】超赞的几个OCR开源项目
(463条消息) 【AI实战】超赞的几个OCR开源项目_szZack的博客-CSDN博客_ocr开源
CnOCR V2.2
更更好用的开源Python OCR工具包——CnOCR V2.2 - 知乎 (zhihu.com)
DBNet-可微分二值化函数的文本分割
Real-time Scene Text Detection with Differentiable Binarization
Real-time Scene Text Detection with Differentiable Binarization (arxiv.org)
mirrors / WenmuZhou / DBNet.pytorch · GitCode
论文在传统的基于0,1黑白像素阈值进行二值化的基础上,提出了threshold map陪练probability map生成DB(Differentiable Binarization,可微二值化)函数,从而优化反向传播梯度更新的图像文本检测方法:
基于分割的方法在各种场景文本检测,例如曲线文本。然而,二值化的后处理对于基于分割的检测是必不可少的,其将分割方法产生的概率图转换为文本的边界框/区域。可微二值化(DB)模块,分割网络可以自适应地设置二值化阈值,使用ResNet-18骨干,论文在探测器在MSRA-TD500数据集上实现了82.8的F值,运行速度为62 FPS。
Ocr项目
OCR 机器学习AI算法工程: 生成车牌号 链接:https://pan.baidu.com/s/1EySDV4VvxhoW44MUCy5FJw 密码:kmn0 识别模型代码 链接:https://pan.baidu.com/s/1D7zavSJfd-7ZPbFz5x5f_g 密码:hbgw cnocr:用来做中文OCR的Python3包,装上就能用! https://github.com/breezedeus/cnocr 基于深度学习OCR技术:端到端不定长文字识别CRNN算法详解 https://mp.weixin.qq.com/s/6-kPDdDA7jWpHcB58IK31g 用Transformer实现OCR字符识别! 百度深度学习图像识别决赛代码分享(OCR) https://mp.weixin.qq.com/s/x-_fuVPgDYnle23IDsYCTw Object Detection R-CNN https://mp.weixin.qq.com/s/_U6EJBP_qmx68ih00IhGjQ Image Segmentation 论文地址:https://arxiv.org/pdf/1505.04597v1.pdf U-net是一个用于医学图像分割的全卷积神经网络。目前 语义分割网络U-Net详解 https://zhuanlan.zhihu.com/p/389949794 从零开始的U-net入门 https://blog.csdn.net/qq_33924470/article/details/106891015 【图像分割】TransUNet学习笔记 https://blog.csdn.net/baidu_41896327/article/details/122487169?app_version=5.6.0&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22122487169%22%2C%22source%22%3A%22u014033218%22%7D&ctrtid=3CyKN&uLinkId=usr1mkqgl919blen&utm_source=app 基于深度学习OCR技术:端到端不定长文字识别CRNN算法详解 https://mp.weixin.qq.com/s/3gsRSfDFgn-PTWOp6oMLzQ CTC算法https://zhuanlan.zhihu.com/p/161186907 https://www.cnblogs.com/skyfsm 机器学习AI算法工程: 百度图像识别 初赛数据集 链接: https://pan.baidu.com/s/19cX6DH4fnQMd4S2_XH-l4w 密码: guc3 初赛和决赛代码 https://github.com/ypwhs/baiduyun_deeplearning_competition 机器学习AI算法工程: 图像分类 | 深度学习PK传统机器学习 https://github.com/aleju/imgaug 效果超某度OCR:文本检测、文本识别(cnn+ctc、crnn+ctc)
https://github.com/MachineLP/OCR_repo#%E4%BB%A3%E7%A0%81%E4%BD%BF%E7%94%A8 机器学习AI算法工程: 基于深度学习的自然场景文字检测及端到端的OCR中文文字识别 https://github.com/xiaofengShi/CHINESE-OCR 智能票据识别 https://github.com/AstarLight/CPS-OCR-Engine 机器学习AI算法工程: 发票编号识别、验证码识别 ,图像分割 https://github.com/ccccccmd/ReCapcha OCR:加水印身份证图像要素提取 https://github.com/Mingtzge/2019-CCF-BDCI-OCR-MCZJ-OCR-IdentificationIDElement OCR文字识别:水平和垂直图像训练crnn模型 https://github.com/yizt/crnn.pytorch |
机器学习AI算法工程: 生成车牌号 链接:https://pan.baidu.com/s/1EySDV4VvxhoW44MUCy5FJw 密码:kmn0 识别模型代码 链接:https://pan.baidu.com/s/1D7zavSJfd-7ZPbFz5x5f_g 密码:hbgw cnocr:用来做中文OCR的Python3包,装上就能用! https://github.com/breezedeus/cnocr 机器学习AI算法工程: 百度图像识别 初赛数据集 链接: https://pan.baidu.com/s/19cX6DH4fnQMd4S2_XH-l4w 密码: guc3 初赛和决赛代码 https://github.com/ypwhs/baiduyun_deeplearning_competition 机器学习AI算法工程: 图像分类 | 深度学习PK传统机器学习 https://github.com/aleju/imgaug 效果超某度OCR:文本检测、文本识别(cnn+ctc、crnn+ctc)
https://github.com/MachineLP/OCR_repo#%E4%BB%A3%E7%A0%81%E4%BD%BF%E7%94%A8 机器学习AI算法工程: 基于深度学习的自然场景文字检测及端到端的OCR中文文字识别 https://github.com/xiaofengShi/CHINESE-OCR 智能票据识别 https://github.com/AstarLight/CPS-OCR-Engine 机器学习AI算法工程: 发票编号识别、验证码识别 ,图像分割 https://github.com/ccccccmd/ReCapcha OCR:加水印身份证图像要素提取 https://github.com/Mingtzge/2019-CCF-BDCI-OCR-MCZJ-OCR-IdentificationIDElement OCR文字识别:水平和垂直图像训练crnn模型 https://github.com/yizt/crnn.pytorch |
以上是关于OCR研究学习总结1的主要内容,如果未能解决你的问题,请参考以下文章