精华内容
下载资源
问答
  • OCR原理浅析及应用场景

    千次阅读 2019-01-08 20:42:08
    OCR原理浅析 从整体上来说,OCR一般分为两个大步骤:图像处理以及文字识别。 参考:OCR 技术浅析         OCR应用场景 OCR是技术,基于OCR的应用场景就非常多了。比如:ocr综合文字识别、ocr视频文字...

     

    OCR原理浅析

    从整体上来说,OCR一般分为两个大步骤:图像处理以及文字识别。

    参考:OCR 技术浅析

     

     

     

     

    OCR应用场景

    OCR是技术,基于OCR的应用场景就非常多了。比如:ocr综合文字识别、ocr视频文字识别、人脸识别、证件识别、票据识别、车牌Vin码识别、银行卡识别、云识别

    文档识别

    到底哪款OCR软件识别率最高?答案你一定想不到,https://zhuanlan.zhihu.com/p/32435379

    OCR 中文识别用哪种软件识别率比较高?,https://www.zhihu.com/question/19593313/answer/18795396

     

    车牌识别

    停车管理:停车收费、车牌识别;移动警务:巡逻执勤、交警执法;车辆保险:车险移动查勘、车牌识别、车架号识别;汽车服务:汽车维修保养。

    移动端车牌识别OCR技术原理解析与应用:https://zhuanlan.zhihu.com/p/52145486

    证件识别

    OCR证件识别技术:http://baijiahao.baidu.com/s?id=1585933717368090195&wfr=spider&for=pc

     

    表具读数识别

    图像识别谈论,不仅限于OCR,基于水表识别,燃气表识别为例,https://blog.csdn.net/zhubenfulovepoem/article/details/51165887

    水表项目 水表数字识别率分析,https://blog.csdn.net/keyanxiaocaicai/article/details/53575309

     

    展开全文
  • 字符识别OCR原理及应用实现

    千次阅读 2020-03-30 20:25:21
    字符识别OCR原理及应用实现 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗...

    字符识别OCR原理及应用实现

    文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。

    工业场景的图像文字识别更加复杂,出现在很多不同的场合。例如医药品包装上的文字、各种钢制部件上的文字、容器表面的喷涂文字、商店标志上的个性文字等。在这样的图像中,字符部分可能出现在弯曲阵列、曲面异形、斜率分布、皱纹变形、不完整等各种形式中,并且与标准字符的特征大不相同,因此难以检测和识别图像字符。

    对于文字识别,实际中一般首先需要通过文字检测定位文字在图像中的区域,然后提取区域的序列特征,在此基础上进行专门的字符识别。但是随着CV发展,也出现很多端到端的End2End OCR。

    01基于传统算法的OCR技术

    传统的OCR技术通常使用opencv算法库,通过图像处理和统计机器学习方法从图像中提取文本信息,包括二值化、噪声滤波、相关域分析、AdaBoost等。传统的OCR技术根据处理方法可分为三个阶段:图像准备、文本识别和后处理。

    一、图像准备预处理:

    ·
    文字区域定位:连通区域分析、MSER

    ·
    文字矫正:旋转、仿射变换

    ·
    文字分割:二值化、过滤噪声

    二、文字识别:

    ·
    分类器识别:逻辑回归、SVM、Adaboost

    三、后处理:规则、语言模型(HMM等)

    针对简单场景下的图片,传统OCR已经取得了很好的识别效果。传统方法是针对特定场景的图像进行建模的,一旦跳出当前场景,模型就会失效。随着近些年深度学习技术的迅速发展,基于深度学习的OCR技术也已逐渐成熟,能够灵活应对不同场景。

    02基于深度学习的OCR技术

    目前,基于深度学习的场景文字识别主要包括两种方法,第一种是分为文字检测和文字识别两个阶段;第二种则是通过端对端的模型一次性完成文字的检测和识别。

    2.1 阶段一:文字检测

    文字检测定位图片中的文本区域,而Detection定位精度直接影响后续Recognition结果。
    在这里插入图片描述
    图1.1

    如图1.1中,红框代表“LAN”字符ground
    truth(GT),绿色框代表detection box。在GT与detection box有相同IoU的情况下,识别结果差异巨大。所以Detection对后续Recognition影响非常大!

    目前已经有很多文字检测方法,包括:EAST/CTPN/SegLink/PixelLink/TextBoxes/TextBoxes++/TextSnake/MSR/…,具体来说:

    2.1.1 CTPN [1]

    CTPN是ECCV 2016提出的一种文字检测算法,由Faster RCNN改进而来,结合了CNN与LSTM深度网络,其支持任意尺寸的图像输入,并能够直接在卷积层中定位文本行。

    CTPN由检测小尺度文本框、循环连接文本框、文本行边细化三个部分组成,具体实现流程为:

    1、使用VGG16网络提取特征,得到conv5_3的特征图;

    2、在所得特征图上使用3*3滑动窗口进行滑动,得到相应的特征向量;

    3、将所得特征向量输入BLSTM,学习序列特征,然后连接一个全连接FC层;

    最后输出层输出结果。

    在这里插入图片描述

    CTPN是基于Anchor的算法,在检测横向分布的文字时能得到较好的效果。此外,BLSTM的加入也进一步提高了其检测能力。

    2.1.2 TextBoxes/TextBoxes++ [2,3]

    TextBoxes和TextBoxes++模型都来自华中科技大学的白翔老师团队,其中TextBoxes是改进版的SSD,而TextBoxes++则是在前者的基础上继续扩展。

    在这里插入图片描述

    TextBoxes共有28层卷积,前13层来自于VGG-16(conv_1到conv4_3),后接9个额外的卷积层,最后是包含6个卷积层的多重输出层,被称为text-box
    layers,分别和前面的9个卷积层相连。由于这些default
    box都是细长型的,使得box在水平方向密集在垂直方向上稀疏,从而导致该模型对水平方向上的文字检测结果较好。

    在这里插入图片描述

    TextBoxes++保留了TextBoxes的基本框架,只是对卷积层的组成进行了略微调整,同时调整了default box的纵横比和输出阶段的卷积核大小,使得模型能够检测任意方向的文字。

    2.1.3 EAST [4]

    EAST算法是一个高效且准确的文字检测算法,仅包括全卷积网络检测文本行候选框和NMS算法过滤冗余候选框两个步骤。

    其网络结构结合了HyperNet和U-shape思想,由三部分组成:

    ·
    特征提取:使用PVANet/VGG16提取四个级别的特征图;

    ·
    特征合并:使用上采样、串联、卷积等操作得到合并的特征图;

    ·
    输出层:输出单通道的分数特征图和多通道的几何特征图。

    在这里插入图片描述

    EAST算法借助其独特的结构和简练的pipline,可以检测不同方向、不同尺寸的文字且运行速度快,效率高。

    2.2 阶段二:文字识别

    通过文字检测对图片中的文字区域进行定位后,还需要对区域内的文字进行识别。针对文字识别部分目前存在几种架构,下面将分别展开介绍。

    3.2.1 CNN + softmax
    [5]

    此方法主要用于街牌号识别,对每个字符识别的架构为:先使用卷积网络提取特征,然后使用N+1个softmax分类器对每个字符进行分类。具体流程如下图所示:

    在这里插入图片描述

    使用此方法可以处理不定长的简单文字序列(如字符和字母),但是对较长的字符序列识别效果不佳。

    3.2.2 CNN + RNN +
    attention [6]

    本方法是基于视觉注意力的文字识别算法。主要分为以下三步:

    模型首先在输入图片上运行滑动CNN以提取特征;

    将所得特征序列输入到推叠在CNN顶部的LSTM进行特征序列的编码;

    1. 使用注意力模型进行解码,并输出标签序列。

    在这里插入图片描述

    本方法采用的attention模型允许解码器在每一步的解码过程中,将编码器的隐藏状态通过加权平均,计算可变的上下文向量,因此可以时刻读取最相关的信息,而不必完全依赖于上一时刻的隐藏状态。

    3.2.3 CNN + stacked
    CNN + CTC [7]

    上一节中提到的CNN + RNN + attention方法不可避免的使用到RNN架构,RNN可以有效的学习上下文信息并捕获长期依赖关系,但其庞大的递归网络计算量和梯度消失/爆炸的问题导致RNN很难训练。基于此,有研究人员提出使用CNN与CTC结合的卷积网络生成标签序列,没有任何重复连接。

    这种方法的整个网络架构如下图所示,分为三个部分:

    ·
    注意特征编码器:提取图片中文字区域的特征向量,并生成特征序列;

    ·
    卷积序列建模:将特征序列转换为二维特征图输入CNN,获取序列中的上下文关系;

    ·
    CTC:获得最后的标签序列。

    在这里插入图片描述

    本方法基于CNN算法,相比RNN节省了内存空间,且通过卷积的并行运算提高了运算速度。

    3.2.4 特定的弯曲文本行识别

    对于特定的弯曲文本行识别,早在CVPR2016就已经有了相关paper:

    ·
    Robust Scene Text
    Recognition with Automatic Rectification. CVPR2016.

    论文地址:arxiv.org/abs/1603.03915

    对于弯曲不规则文本,如果按照之前的识别方法,直接将整个文本区域图像强行送入CNN+RNN,由于有大量的无效区域会导致识别效果很差。所以这篇文章提出一种通过STN网络学习变换参数,将Rectified Image对应的特征送入后续RNN中识别。

    在这里插入图片描述

    其中Spatial
    Transformer Network(STN)核心就是将传统二维图像变换(如旋转/缩放/仿射等)End2End融入到网络中。具体二维图像变换知识请翻阅:Homograph单应性从传统算法到深度学习:https://zhuanlan.zhihu.com/p/74597564

    ·
    Scene Text Recognition
    from Two-Dimensional Perspective. AAAI2018.

    该篇文章于MEGVII 2019年提出。首先在文字识别网络中加入语义分割分支,获取每个字符的相对位置。

    在这里插入图片描述

    其次,在获取每个字符位置后对字符进行分类,获得文字识别信息。该方法采用分类解决识别问题,并没有像传统方法那样使用RNN。

    在这里插入图片描述

    除此之外,在文章中还是使用了Deformable
    Convolution可变形卷积。相比传统3x3卷积,可变形卷积可以提取文字区域不同形状的特征。

    在这里插入图片描述

    3.3 端对端文字识别

    使用文字检测加文字识别两步法虽然可以实现场景文字的识别,但融合两个步骤的结果时仍需使用大量的手工知识,且会增加时间的消耗,而端对端文字识别能够同时完成检测和识别任务,极大的提高了文字识别的实时性。

    3.3.1 STN-ORC [8]

    STN-OCR使用单个深度神经网络,以半监督学习方式从自然图像中检测和识别文本。网络实现流程如下图所示,总体分为两个部分:

    ·
    定位网络:针对输入图像预测N个变换矩阵,相应的输出N个文本区域,最后借助双线性差值提取相应区域;

    ·
    识别网络:使用N个提取的文本图像进行文本识别。

    在这里插入图片描述

    本方法的训练集不需要bbox标注,使用友好性较高;但目前此模型还不能完全检测出图像中任意位置的文本,需要在后期继续调整。

    3.3.2 FOTS [9]

    FOTS是一个快速的端对端的文字检测与识别框架,通过共享训练特征、互补监督的方法减少了特征提取所需的时间,从而加快了整体的速度。其整体结构如图所示:

    在这里插入图片描述
    ·
    卷积共享:从输入图象中提取特征,并将底层和高层的特征进行融合;

    ·
    文本检测:通过转化共享特征,输出每像素的文本预测;

    ·
    ROIRotate:将有角度的文本块,通过仿射变换转化为正常的轴对齐的本文块;

    ·
    文本识别:使用ROIRotate转换的区域特征来得到文本标签。

    FOTS是一个将检测和识别集成化的框架,具有速度快、精度高、支持多角度等优点,减少了其他模型带来的文本遗漏、误识别等问题。

    03中文OCR开源项目推荐

    目前比较常用的中文OCR开源项目是 chineseocr,最近又有一个新开源的中文OCR项目,登上Github Trending榜单第二——chineseocr_lite

    在这里插入图片描述

    这是一个超轻量级中文 ocr,支持竖排文字识别,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) +
    anglenet (1.5M) 总模型仅 17M。目前已经在Github上标星2.6K,累积343个Fork(Github地址:https://github.com/ouyanghuiyu/chineseocr_lite)

    chineseocr_lite实现的功能如下:

    ·
    提供轻量的backone检测模型psenet(8.5M),crnn_lstm_lite(9.5M)
    和行文本方向分类网络(1.5M)

    ·
    任意方向文字检测,识别时判断行文本方向

    ·
    crnn\crnn_lite
    lstm\dense识别(ocr-dense和ocr-lstm是搬运chineseocr的)

    ·
    支持竖排文本识别

    ·
    ncnn
    实现 (支持lstm)

    ·
    mnn
    实现

    话不多说,先来看看效果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    接下来,我们再说一下chineseocr_lite的运行环境:

    ·
    Ubuntu
    18.04

    ·
    Python
    3.6.9

    ·
    Pytorch
    1.5.0.dev20200227+cpu

    此外,最近项目作者对更新了可实现的功能。

    ·
    nihui
    大佬实现的 crnn_lstm 推理

    ·
    升级
    crnn_lite_lstm_dw.pth 模型 crnn_lite_lstm_dw_v2.pth , 精度更高

    ·
    提供竖排文字样例以及字体库(旋转
    90 度的字体)

    如果你也对这个项目感兴趣就赶紧尝试下吧。

    展开全文
  • 关于tesseract-ocr原理的几篇论文

    千次阅读 2016-05-27 18:39:25
    git-hub上关于tesseract-ocr原理的几篇论文, 记录一下地址,链接一个一个点挺麻烦的。 https://github.com/tesseract-ocr/docs/blob/master/MOCRadaptingtesseract2.pdf ...

    git-hub上关于tesseract-ocr原理的几篇论文,

    记录一下地址,链接一个一个点挺麻烦的。

    https://github.com/tesseract-ocr/tesseract/wiki/Documentation


    https://github.com/tesseract-ocr/docs/blob/master/MOCRadaptingtesseract2.pdf

    https://github.com/tesseract-ocr/docs/blob/master/PageLayoutAnalysisICDAR2.pdf

    https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf


    注意一下不要侵权哈

    展开全文
  • OCR原理及应用

    千次阅读 2019-12-09 16:13:17
    OCR的基本原理简单地说,OCR的基本原理就是通过扫描仪将一份文稿的图像输入给计算机,然后由计算机取出每个文字的图像,并将其转换成汉字的编码。其具体工作过程是,扫描仪将汉字文稿通过电荷耦合器件CCD将文稿的光...

    什么是OCR技术以及它的应用场景
    OCR的基本原理简单地说,OCR的基本原理就是通过扫描仪将一份文稿的图像输入给计算机,然后由计算机取出每个文字的图像,并将其转换成汉字的编码。其具体工作过程是,扫描仪将汉字文稿通过电荷耦合器件CCD将文稿的光信号转换为电信号,经过模拟/数字转换器转化为数字信号传输给计算机。计算机接受的是文稿的数字图像,其图像上的汉字可能是印刷汉字,也可能是手写汉字,然后对这些图像中的汉字进行识别。对于印刷体字符,首先采用光学的方式将文档资料转换成原始黑白点阵的图像文件,再通过识别软件将图像中的文字转换成文本格式,以便文字处理软件的进一步加工。其中文字识别是OCR的重要技术。
    市场成熟的OCR产品

    目前市场上较为成熟的OCR产品有:证件识别SDK、车牌识别SDK、文档识别SDK、银行卡识别SDK、表格识别SDK、票据识别SDK、名片识别SDK、护照识别SDK、身份证识别SDK。目前,银行、保险、金融、税务、海关、公安、边检、物流、电信工商管理、图书馆、户籍管理、审计等很多行业都已经应用了OCR技术。OCR技术让大家减少了设备配置,降低了人力成本,提高了工作效率,给我们的生活带来了极大的方便快捷。

    而随着开发出来的云端服务也是对时间和效率的极致追求,将数据直接上传到云端进行处理既安全可靠又提高了适用范围

    展开全文
  • 电子护照OCR原理

    2018-11-28 21:30:18
    • 多种证件识别(OCR),采用TH-OCR识别核心,可识别身份证、驾照、护照、港澳通行证、台胞证、行驶证等多种身份证件; • 二代证芯片识读(可选),内置二代证读卡模块,可以直接读取二代证芯片信息,扩大在国内...
  • 深度学习cptn+crnn的OCR原理

    万次阅读 多人点赞 2019-01-09 18:22:59
    首先我们要看ocr要做的是什么,识别一张图片里面的一行文字,输出来, 假如我一张图片里面只有一行文字,但是这一行文字只占了中间的一个区域,两边有很多空的地方,那么我怎么做呢,我首先肯定是要把这张图片中这一...
  • 此篇文章为阿里云栖大会的介绍自己读光OCR系统的pdf 已经通过crnn ctc + centerloss 实现对形近字的提升 github:https://github.com/tommyMessi/crnn_ctc-centerloss
  • OCR技术原理

    千次阅读 2018-04-18 16:47:04
    OCR技术原理 文档识别技术功能特点图像输入:读取不同图像格式文件的算法。 图像预处理:主要包括图像二值化,噪声去除,倾斜较正等算法。 版面分析:将文档图片分段落,分行的算法就叫版面分析算法。 字符切割:...
  • OCR 识别原理

    千次阅读 2018-10-09 10:50:32
    拍照怎么搜题?(上) https://mp.weixin.qq.com/s?__biz=MzA3MDExNzcyNA==&mid=402907292&idx=1&sn=889c4abcf576e24525ea6a705069c4de ... a、灰度处理:将彩色图片变成灰度图 ... ...
  • ocr技术原理

    万次阅读 2014-07-03 09:39:03
    所谓OCR (Optical Character Recognition光学字符识别)技术,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,...
  • OCR文字识别原理

    2020-05-18 10:44:35
    https://www.jianshu.com/p/fc19be696bfd
  • 商务文件合同OCR开发包简介商务文件合同开发包OCR识别SDK开发包软件V12.0是一种光学字符识别(OCR)软件开发包(OCR SDK);OCR SDK12.0为软件开发人员、系统集成商、数据加工商(BPO)、扫描仪、多功能一体机等...
  • OCR算法之matlab程序,ocr算法的基本原理,matlab源码.zip.zip
  • 云脉文档管理系统便是一款基于OCR、图像处理及秒级全文检索等技术的企业级数据管理方案。...ocr文档识别的工作原理 图像预处理:图像预处理的目的主要是为了更好的文本行定位和识别,从而提高识别准
  • 简单OCR实现原理

    千次阅读 2008-12-04 16:14:00
    简单地说就是在显示提交数据页面之前或者同时,服务器会向客户端发送一个小图片,该图片通常由一些随机的数字或字母(很少情况下会有其他字符)组合而成,并要求在HTTP的提交表单(FORM)中正确输入该数字,无效的...
  • Atitit ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的。 即主要技术过程是:二值化(又叫归一化)--------行定位----------字符切分----------字库...
  • 原文:Applying OCR Technology for Receipt ...译文:深入浅出了解OCR识别票据原理 英文票据识别技术, 非中文票据识别技术, 中文情况的ocr更加复杂。 转载于:https://www.cnblogs.com/snaildev/p/8252279.html...
  • OCR文字识别原理 OCR光学字符识别:提取图像中的文字,并转换为文本形式,供后续NLP使用。 一、CTPN算法:文字检测 二、CRNN算法:文字识别 池化此时为1×2。才能把特征变为适用于输入到RNN中。 .....
  • 光学字符识别技术(OCR)目前被广泛利用在手写识别、打印识别及文本图像识别等相关领域。小到文档识别、银行卡身份证识别,大到广告、海报。因为OCR技术的发明,极大简化了我们处理数据的方式。 同时,机器学习(ML...
  • 通过对OCR技术工作原理的介绍,重点论述了OCR文字识别系统主要的图像处理模块、版面分析模块、文字识别模块、文字校对模块及输出模块的功能、实现方式以及技术要点。文章最后从更精准的文字编码库和一种到多种算法的...
  • 核心内容:移动端车牌识别、安卓端车牌识别、Android车牌识别、iOS端车牌识别、OCR识别技术 一、安卓Android、iOS移动端车牌识别OCR技术识别流程 安卓Android、iOS移动端车牌识别是基于OCR识别的一用应用。...
  • 长期以来,身份证作为一种证明公民身份的有效证件,由于防伪技术不完善,又无便利查询的...翔云OCR身份证查验集合了身份证号核验,身份信息核验,身份核验。 1、身份证核验通过联网调用身份证号核验接口,通过比对人口
  • OCR识别提取图片中文字原理

    万次阅读 2018-03-30 17:16:53
    OCR识别提取图片中文字原理· 预处理:对包含文字的图像进行处理以便后续进行特征提取、学习。这个过程的主要目的是减少图像中的无用信息,以便方便后面的处理。在这个步骤通常有:灰度化(如果是彩色图像)、降噪...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,437
精华内容 2,974
关键字:

ocr原理