
OCR文字识别( Optical Character Recognition )是指电子设备(例如扫描仪或者数码相机)检查纸上打印的字符,然后利用字符识别的方法发将形状翻译成计算机文字的过程,即对文本资料进行扫描,然后再对推按文件进行分析处理,从而获取文字及版面信息的过程。简单来说,就是识别提取识别文本资料上的文字。而现在随着手机端的发展,这样的OCR文字识别工具也有很多。
例如手机上的QQ,还有迅捷文字识别等,都有这个文字识别的功能,如下图所示,打开这个工具就能进行文字识别。
影响OCR识别率的因素挺多的,不知道你是识别什么?大概说一下
1、光线,OCR翻译过来就是光学字符识别,所以光线的影响挺大,识别的时候最好是找个亮点的环境。
2,图像的质量,图像的质量也是很重要的因素,OCR识别之前先要对图像二值化处理,如果图像质量不好,二值化处理的时候很可能会把一下需要识别的信息过滤掉,如果是扫描件建议DPI最好设成200比较好,占内存小,识别速度也快。
3、再就是OCR本身的核心算法问题,这块就需要不断地调试优化了,算法不同识别的结果肯定也不相同,找到最适合的算法一般问题就不会很大。
姓名:吴兆阳 学号:14020199009转自机器人学习研究会
嵌牛导读:OCR(Optical Character Recognition,光学字符识别)的概念早于1920年代便被提出,一直是模式识别领域中重要的研究方向。近年来,随着移动设备的快速更新迭代,以及移动互联网的快速发展,使得OCR有更为广泛的应用场景,从以往的扫描文件的字符识别,到现在应用到自然场景中文字的识别,如识别身份z、yhk、门牌、票据及各类网络中的文字。
嵌牛鼻子:ORC技术
嵌牛提问:什么是ORC,如何使用?
嵌牛正文:
以深度学习兴起的时间为分割点,直至近五年之前,业界最为广泛使用的仍然是传统的OCR识别技术框架,而随着深度学习的崛起,基于这一技术的OCR识别框架以另外一种新的思路迅速突破了原有的技术瓶颈(如文字定位、二值化和文字分割等),并已在工业界得到广泛应用。
笔者针对业务中的身份z照片文字识别需求分别尝试了传统OCR识别框架及基于深度学习的OCR识别框架。下面就以身份z文字识别为例分别简要介绍两种识别框架。
传统OCR技术框架
如上图所示,传统OCR技术框架主要分为五个步骤:
首先文本定位,接着进行倾斜文本矫正,之后分割出单字后,并对单字识别,最后基于统计模型(如隐马尔科夫链,HMM)进行语义纠错。可按处理方式划分为三个阶段:预处理阶段、识别阶段和后处理阶段。其中关键在于预处理阶段,预处理阶段的质量直接决定了最终的识别效果,因此这里详细介绍下预处理阶段。
预处理阶段中包含了三步:
定位中的文字区域,而文字检测主要基于连通域分析的方法,主要思想是利用文字颜色、亮度、边缘信息进行聚类的方式来快速分离文字区域与非文字区域,较为流行的两个算法分别是:最大极值稳定区域(MSER)算法及笔画宽度变换(SWT)算法,而在自然场景中因受到光照强度、拍摄质量和类文字背景的干扰,使得检测结果中包含非常多的非文字区域,而目前从候选区域区分出真正文字区域主要两种方法,用规则判断或轻量级的神经网络模型进行区分;
文本区域图像矫正,主要基于旋转变换和仿射变换;
行列分割提取出单字,这一步利用文字在行列间存在间隙的特征,通过二值化并在投影后找出行列分割点,当在文字与背景的区分度较好时,效果很好,而拍摄的中光照、摄像质量的影响,并且文字背景难以区分时,常造成错误分割的情况。
下面介绍基于传统OCR框架处理身份z文字识别:
身份z识别技术流程与上述框架稍微有所差异。对该问题,已知先验信息:a证件长宽固定;b字体及大小一致;c文本相对于证件位置固定;d存在固定文字。因此,处理该问题的思路为:先定位目标物体(证件),矫正后提取文字进行识别,最后进行语义纠错,如下图:
目标物体定位并矫正。基于现有的先验信息,定位最后的方法为采用模板关键点特征匹配的方法,并利用模板上特征点及目标图像特征点坐标之间的关系进行透视变换,以定位目标物体,如下图所示。接着,基于四角的坐标,进行旋转、仿射、尺寸的变换,并提取出目标物体的俯视图。
因文字位置相对固定,接着便分割出文字区域,二值化后,行列分割出单个字符。这里的技术难点在于二值化,二值化效果的好坏直接影响字符分割,并最终影响识别结果。受光照和拍摄质量的影响,全局二值化难以设置统一的阈值,而自适应二值化算法易受到阴影及模糊边界的干扰。所以在这边尝试过许多方法,测试下来未发现在任何情形下效果都满足要求的方法。
分割出单字后接着用分类器进行识别,并在这步基于统计上的先验信息定义了一个简单的优化函数,可看做1-gram语言模型。先验信息为:2400(总共660273)汉字的使用频率之和为99%以上。定义的优化函数为:
式中,Pi为该字出现的概率,confi为置信度值。
下图给出了示例:
因上述的优化过程中假定各状态相互独立并与上一状态没有联系,故不可避免存在语义上的错误。而如何基于现有的输出序列,对序列进行语义上的修正,那么最直观的想法就是用隐马尔可夫模型(Hidden Markov Model,HMM)解决这个问题,其基于观察序列,求出最优隐序列。其可以抽象为如下图的过程。在给定O序列情况下,通过维特比算法,找出最优序列S:
传统OCR冗长的处理流程以及大量人工规则的存在,使得每步的错误不断累积,而使得最终识别结果难以满足实际需求。接下来讨论基于深度学习的OCR。
基于深度学习的OCR识别框架
目前,从技术流程上来说,主要分为两步,首先是检测出图像中的文本行,接着进行序列识别。 可见,基于深度学习的OCR识别框架相比于传统OCR识别框架,减少了三个步骤,降低了因误差累积对最终识别结果的影响。
文本行检测,其又可分为水平行文字检测算法与倾斜文字行检测算法。这里主要介绍下Tian提出算法CTPN,其算法框架如下图。主要思路是将文本行识别看做一个序列识别问题,不同于一般的目标检测问题,引入RNN来利用上下文的信息。
具体流程为:
用VGG16的5个卷积层得到特征图(feature map,WHC);
在Conv5的feature map的每个位置上取33C的窗口的特征,这些特征将用于预测该位置k个anchor(anchor的定义和Faster RCNN类似)对应的类别信息,位置信息;
将每一行的所有窗口对应的33C的特征(W33C)输入到RNN(BLSTM)中,得到W256的输出;
将RNN的W256输入到512维的fc层;
fc层特征输入到三个分类或者回归层中。第二个2k scores 表示的是k个anchor的类别信息(是字符或不是字符)。第一个2k vertical coordinate和第三个k side-refinement是用来回归k个anchor的位置信息。2k vertical coordinate表示的是bounding box的高度和中心的y轴坐标(可以决定上下边界),k个side-refinement表示的bounding box的水平平移量。这边注意,只用了3个参数表示回归的bounding box,因为这里默认了每个anchor的width是16,且不再变化(VGG16的conv5的stride是16)。回归出来的box如Fig1中那些红色的细长矩形,它们的宽度是一定的;
用简单的文本线构造算法,把分类得到的文字的proposal(图Fig1(b)中的细长的矩形)合并成文本线。
上图为给出基于CTPN的例子,框线部分是算法识别出的文字行,可见在光照不均、人工合成及文字背景对比不明显的情形下均有很好的效果。 相比于传统文字定位方法,具有更好的鲁棒性及明显的优势。
文字行识别。近两年比较受关注的主要有两种,一种是CNN+RNN+CTC的方法,另外一种是用attention model+CNN+RNN的方法。这里主要介绍下CNN+RNN+CTC,算法框架由图给出。分为三层,CNN层、RNN层及解码(transcription)层。在CNN层,用于提取图像特征,利用Map-to-Sequence表示成特征向量;在RNN层,用双向LSTM识别特征向量,得到每列特征的概率分布;在解码层,利用CTC和前向后向算法求解最优的label序列。因此,该方法能够识别不定长的文字行。
两个例子:
Out:辽宁省长海县广鹿乡沙尖
Out:河南省邓州市九龙乡姚营应用场所不同。
射频识别其原理为阅读器与标签之间进行非接触式的数据通信,达到识别目标的目的。应用非常广泛,典型应用有动物晶片、汽车晶片防盗器、门禁管制、停车场管制、生产线自动化、物料管理。后者是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
常见的OCR文字识别软件有这几种:
清华紫光OCR、捷速OCR、Leadtools OCR、汉王OCR等等。
拓展:捷速OCR文字识别软件最新版使用教程
参考资料:
1、首先在自己的电脑中需要下载安装一款OCR文字识别软件。
下载方法:百度搜索关键词“ocr文字识别软件”,点击“立即下载”,然后进行安装即可。
2、软件安装完成后,双击桌面上的快捷方式,运行程序。
3、然后选择读取文件的类型,分别有:从读取文件、从PDF读取文件。
4、选中PDF文件,并单击“打开”按钮。
5、PDF文件打开后,可以单击“纸面解析”按钮,选择文件识别的范围。(也自行选择识别范围。)
6、识别范围选择完成后,直接单击“识别”按钮,即可完成对PDF文件的识别。
7、软件界面上还有“保存为word”、"保存为"两个选项,单击按钮可以执行对应 *** 作。
推荐可以使用腾讯文档,腾讯文档有「OCR」功能,可以一键将转为在线word文字,直接开始编辑,省去打字的麻烦。
具体 *** 作:
①打开腾讯文档App——新建一个空白文档——选择文字提取
②选择或直接拍照
③点击开始提取文字,就可以一键将转为word文字
提取完后就是一篇在线文档,可直接编辑啦~
ocr识别,可试试下面这个方法:
1先打开电脑上的ocr文字识别软件,我们可以借助这样的工具来帮助我们把上的文字识别提取出来,打开软件。
2点击左侧的局部识别这个功能,接着再点击“添加文件”这个按钮,选中需要识别的文件,点击打开。
3打开之后,点击选框工具,选中需要识别的文字区域,然后开始识别上面的文字。
4文字识别完成后,可点击保存按钮,保存一下识别结果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)