目录

  • 一、OCR简介
    • 1.1、OCR是什么?
    • 1.2、OCR的使用场景
    • 1.3、OCR的技术难点
  • 二、OCR前言技术
    • 2.1、文本检测
    • 2.2、文本识别
    • 2.3、文档的结构化识别
    • 2.4、其他OCR相关工作
  • 三、PaddleOCR
  • 四、想说的话
  • Reference

一、OCR简介

1.1、OCR是什么?

OCR(Optical Character Recognition,光学字符识别)是计算机视觉最重要的方向之一。传统的OCR一般指面向文档的识别,现在一般指场景文字识别,主要面向自然场景。

我觉得OCR还可以算是CV和NLP的一个中间商,通过OCR技术将CV图像中的一些字符检测出来,再用NLP解析文字的含义。

1.2、OCR的使用场景

OCR应用场景非常多:

OCR还可以作为多模态数据做一些更复杂的任务:

1.3、OCR的技术难点

难点大概可以分为算法层和应用层两方面。

应用层:模型大小和模型性能如何平衡?精度和速度的平衡?

二、OCR前言技术

2.1、文本检测

概念:把文本区域从图片区域中框出来。

2.2、文本识别

概念:将文字内容识别出来(就是认字,认出来这是什么字)

文本识别按识别文本的形状可以分为:规则文本识别和不规则文本识别两大类。

文本识别按最终识别结果的处理方式不同(解码方式的不同)可以分为:基于CTC和基于Attention两大类。

  1. 基于CTC:CRNN+CTC
    主要创新:引入没有意义的空格字符。因为识别存在一个问题:时序特征的维度是固定的,但是最终要预测的图像特征是不固定的。所有引入空格字符,每一个时序特征都可以预测出一个字符,最后得到结果。
    缺点:但是每个时序特征是单独解码的(Softmax),所以解码时并没有利用上下文信息,对不规则形状文本识别效果差。

  2. 基于Attention:Seq2Seq+attention
    解码时利用了上下文信息,精度较高,但是过长或过短文本的识别效果较差。

  3. 其实还要一种分类:基于字符分割的方法。优点是可以解决弯曲文本和不规则文本,但是对字符的标注要求很高。

  4. 今年还有一种比较火的方法:基于transformer的方法。可以解决CNN在长依赖建模的局限性。

2.3、文档的结构化识别

需求量很大,技术也比较难。

主要可分为版面分析、表格识别、关键信息提取三个技术方面。

  1. 版面分析:把文档的内容划分为不同的区域(方法:目标检测 难点相对较低);
  2. 表格识别:把图片表格转为可编辑的excel表格。问题:表格本身版式很多,无线表格,单元格合并。(方法:基于启发式规则、基于CNN、基于GCN、端到端 难度高);
  3. 关键信息提取(难度高)

2.4、其他OCR相关工作

  1. 端到端文本识别(火热)
  2. OCR中的图像预处理技术
  3. OCR数据合成

三、PaddleOCR

PPOCR:中英文检测模型


模型部署

四、想说的话

一个经典的OCR模型,一般可以分为文本检测和文本识别两个阶段。PaddleOCR的低层也是这样设计的。

写这个系列博客主要是为了记录下自己学OCR的过程,因为精力有限,后面主要的学习都只围绕文本检测和文本识别两个方面。

Reference

基于深度学习的OCR技术导论(上)
基于深度学习的OCR技术导论(下)

【OCR入门】一、基于深度学习的OCR技术导论和PaddleOCR相关推荐

  1. 基于深度学习的OCR

    为了提升用户体验,O2O产品对OCR技术的需求已渗透到上单.支付.配送和用户评价等环节.OCR在美团业务中主要起着两方面作用.一方面是辅助录入,比如在移动支付环节通过对银行卡卡号的拍照识别,以实现自动 ...

  2. 基于深度学习的OCR技术简介

    1.概述 本文简要介绍基于深度学习的OCR技术,主要分为整体框架流程介绍,文字检测CTPN,文字识别CRNN+CTC,基于windows平台的项目实战,以及遇到的一些问题和解决方案,最后展示一下胜利的 ...

  3. 无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测

    无人驾驶汽车系统入门(十二)--卷积神经网络入门,基于深度学习的车辆实时检测 上篇文章我们讲到能否尽可能利用上图像的二维特征来设计神经网络,以此来进一步提高识别的精度.在这篇博客中,我们学习一类专门用 ...

  4. 读“基于深度学习的图像识别技术研究综述”有感

    "基于深度学习的图像识别技术研究综述"总结 现在流行的图像识别技术都是基于深度学习的算法,经过前辈们的探索改进,图像识别技术经历很多阶段,现如今图像识别技术已经广泛的应用于生活的方 ...

  5. 基于深度学习的计算机视觉技术在无人驾驶中的应用

    基于深度学习的计算机视觉技术在无人驾驶中的应用 背景 当前,人工智能是下一代信息技术的核心和焦点,而无人配送则是人工智能典型的落地场景,因为完成无人配送需要自动驾驶技术.机器人技术.视觉分析.自然语言 ...

  6. 【论文综述】基于深度学习语音分离技术的研究现状与进展

    基于深度学习语音分离技术的研究现状与进展 本文主要是针对单通道的监督性语音分离技术的综述,描述该技术涉及到的特征.模型和目标三个主要方面:并对语音分离的一般流程和整体框架进行了详细的介绍.归纳和总结. ...

  7. 基于深度学习的OCR技术

    随着数字化时代的到来,图片识别技术越来越受到人们的关注.其中,OCR技术作为图片处理的一个重要分支,可以将扫描的图片进行自动识别和分类,极大地提高了工作效率.本文将介绍有道实况OCR技术的相关内容,帮 ...

  8. 无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...

    参加 2018 AI开发者大会,请点击 ↑↑↑ 作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习:兰大未来计算研究院无人车团队负责人,自动驾驶全栈工程师. 近 ...

  9. 中国首份OCR白皮书出炉,基于深度学习的OCR已成主流-1

    扫一扫就能识别文字,这是近年来出现在很多应用中的新功能.比如,输入银行卡号时,直接用手机摄像头扫一扫,软件就能提取银行卡信息.这里用到的技术正是光学字符识别技术(Optical Character R ...

最新文章

  1. 【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
  2. Qt::WindowModal和Qt::ApplicationModal的区别
  3. linux防火墙开启某端口命令行,linux上防火墙 开启某个端口
  4. SpringMVC处理异常
  5. html写出五个文本标签,HTML的几个常用标签
  6. 低耗时、高精度,微软提出基于半监督学习的神经网络结构搜索算法 SemiNAS
  7. sublime 如何使用less_Sublime Text3 使用教程
  8. java stringbuffer原理_深入理解String, StringBuffer, StringBuilder的区别(基于JDK1.8)
  9. IRS2110S+IGBT半桥驱动调试问题记录
  10. exe4j打成的exe文件运行时弹窗this executable was created with an evaluation version of exe4j问题解决
  11. VOC2007数据集制作
  12. 不同dom的blur事件和click事件发生冲突
  13. 16s rRNA微生物分析报告如何获得关键和有用分析
  14. AJAX之三种数据传输格式详解
  15. Aplayer搭配Metingjs音乐插件的使用
  16. 交叉编译openblas库
  17. 开课通知 | 2021FPGA寒假班来啦!
  18. 太空射击第16课: 道具(Part 2)
  19. 解决swfupload改变display属性后flash重新加载的问题(chome,safari内核的所有浏览器)...
  20. 如何解决错误     error LNK1104: 无法打开文件“nafxcwd.lib”

热门文章

  1. UEFI模式安装Win7旗舰版系统的方法
  2. 企业培训适合做直播的原因
  3. Spring 初次理解MVC 的controller和Service
  4. 读取哔哩哔哩网站下载的json字幕,并将其内容转换成srt字幕保存
  5. 惠州 菜鸟机器人_菜鸟末端配送机器人小G亮相,惊呆众人!
  6. 人工智能——多项式回归(Python)
  7. P3950 部落冲突
  8. java.lang.IllegalStateException解决合集
  9. C语言程序设计计算机二级
  10. 椭圆锥面Matlab,有趣的数学3D曲面