OCR相关

98 阅读3分钟

基础概念

OCR(光学字符识别) 是实时高效的定位与识别图片中的所有文字信息,返回文字框位置与文字内容。支持多场景、任意版面下整 图文字的识别,以及中英文、字母、数字的识别。通俗的来说,就是将图片上的文字内容,智能识别成为可编辑的文本,例如:

image.png

技术原理

OCR本质是图像识别。其原理也和其他的图像识别问题基本一样。包含两大关键技术:文本检测和文字识别。先将图像中的特征的提取并检测目标区域,之后对目标区域的的字符进行分割和分类。

以深度学习兴起的时间为分割点,直至近五年之前,业界最为广泛使用的仍然是传统的OCR识别技术框架,而随着深度学习的崛起,基于这一技术的OCR识别框架以另外一种新的思路迅速突破了原有的技术瓶颈(如文字定位、二值化和文字分割等),并已在工业界得到广泛应用。

首先文本定位,接着进行倾斜文本矫正,之后分割出单字后,并对单字识别,最后基于统计模型(如隐马尔科夫链,HMM)进行语义纠错。

技术难点

复杂背景、艺术字体、低分辨率、非均匀光照、图像退化、字符形变、多语言混合、文本行复杂版式、检测框字符残缺,等等。

识别流程

1.预处理

二值化,压缩,倾斜教正,白边处理,图片数据生成,文字弯曲处理等等

2.文本行检测

采集图片中文字坐标;根据大量样本构建算法预测文本行坐标

  1. 传统方法:通过检测单个字符或笔画连接文本线,从而定位文本行
  2. CTPN(基于RCNN):文本检测任务差分,第一步先检测图片中的一部分,当图片中所有文本框检测完成之后,进行合并得到一个完整的大文本框,使用低级特征生成许多个文本提议,再基于CNN进行分来和优化,最终使用循环神经网络连接文本提议,输出结果
  3. AdvancedEast
  4. SegLink(CTPN+SSD)

相关文献

模拟训练

通过大量的数据进行模拟训练,生成模型

应用实例

印刷体识别引用扩展较多,且技术发展较为成熟,无论在识别准确率方面还是在识别效率方面,都达到了较高的标准。

  1. 车牌识别系统是OCR工业化应用较早而且成功的典型案例,如今从停车场到小区门禁,车牌识别技术已走进生活的各个角落
  2. Tesseract的OCR引擎,作为开源项目发布在Google Project,其最新版本3.0已经支持中文OCR,并提供了一个命令行工具
  3. 验证码识别
  4. 手写体识别应用,联机手写