OCR技术概览
OCR(Optical Character Recognition ) 光学字符识别技术主要分为手写体识别和印刷体识别两类 , 印刷体识别比手写体识别要简单, 因为印刷体更规范, 字体来自于计算机字库, 尽管印刷过程中可能会发生不清晰\粘连, 这些都可以通过一些"腐蚀"/"膨胀"图像处理技术还原, 但是手写体由于个体差异的存在, 还是非常难的.
从内容角度, 可以分为: 汉字, 英文, 数字和图画. 数字最简单, 英文次之, 汉字比较难.
开放API资源
谷歌OCR识别引擎: tesseract
百度OCR API:https://cloud.baidu.com/doc/OCR/OCR-API.html
腾讯 OCR:https://ai.qq.com/product/ocr.shtml#identify
阿里OCR: https://data.aliyun.com/product/ocr
OCR技术发展历程
早期字符模板匹配算法, 用实现定义的文字/数字模板滑动匹配图片上的字符, 直接给出识别结果. 这种方法简单,暴力, 直接.但是对于复杂场景的泛化能力很弱.
特征设计方法, 利用字符的图像特征进行特征提取, 例如结构特征, 笔画特征, 等等, 进行人工设计后, 提取文字特征, 送入SVM中做分类给出识别结果, 这种方法需要大量的人工特征设计, 而且当字体变化\模糊等复杂条件下泛化能力同样不行.
深度学习, 特别是卷积神经网络给OCR识别提供了新的思路.
目前非常优秀的模型有哪些?
整体pipeline流程
这里说的pipeline流程不区分手写或者印刷体. 对于输入系统的文本, 例如一段文字的图片, 或者
预处理 --> 版面分析/行列切