光学字符识别
光学字符识别(英语:Optical Character Recognition,缩写:OCR)是指对包含文本内容的图像或视频进行处理和识别,并提取其中所包含的文字及排版资讯的过程。例如,一个常见的应用是将包含文档图像的不可编辑状态的 PDF 文档通过 OCR 技术识别后,转换为可编辑状态的 Word 格式文档[1]。
通常来说,根据不同文本内容的特性而言,OCR 技术的应用场景大致可分为以下几类:
- 印刷文本识别:印刷文本通常指报刊、杂志、文档、小票等使用现代电脑字体编排并印刷的文本内容。这类文本内容通常具有清晰一致的字体、间距等,因此识别技术相对成熟,并被广泛应用于纸质档案、报刊的数码化上[2]。
- 手写文本识别:相较于具有固定字体的印刷文本而言,手写文本往往根据不同的书写者以及书写工具会具有极大的变化,因此其识别难度相较于印刷文本而言要更高。手写体识别可以帮助用户快速将手写的笔记内容数码化输入到电脑中,也被用在一些电子备忘录中来对用户的手写笔记内容进行检索[3]。此外,由手写文本识别进一步派生的一个应用则是签名笔迹认证,这类方法用于比对签名的真实性。
- 公式文本识别:数学公式通常由大量符号及数码组成,由于根式,分式等规则的存在,数学公式往往存在二维结构,即并不能保证识别的顺序一定符合固定的阅读顺序。因此,数学公式的 OCR 模型往往显著有别于常规的自然语言文本 OCR 处理技术。通常来说,数学公式的 OCR 识别需要借助使用 LaTeX 等结构化的文档标记语言来实现,即,OCR 给出的输出是一组 LaTeX 标记符号[4]。
- 场景文本识别:场景文本识别,有时也被称作通用文本识别技术。这类识别技术能够对任意场景下的图片中包含的任意形式的文本进行识别,包括但不仅限于:街边商铺的招牌、超市内商品中的文本、合影中人物衣着上的文本、城市建筑上的商标名称等等。这类技术已经被应用到了许多应用中,例如智能电话中允许搜索或提取相簿中带有文本内容的图像[5][6],聊天软件中允许直接复制对方发送图片中的文本内容等[7]。
- 古籍文本识别:古籍文档与现代印刷的排版和布局通常具有很大的差别,例如,阅读顺序可能自上而下,自右向左等。因此,使用基于现代文档数据开发的 OCR 技术和模型在包含这些内容的图像上的识别效果往往不够好。因此,在对大量古籍进行数码化保护的过程中,催生了专门针对该类型文档内容进行识别的 OCR 技术[8]。
过程
输入
对于不同的图像格式,有着不同的存储格式、不同的压缩方式,目前有OpenCV、CxImage等。
前期处理
二值化
如今数码摄像头拍摄的图片,大多数是彩色图像,彩色图像所含资讯量巨大,较为不适用于OCR技术。
对于图片的内容,我们可以简单的分为前景与背景,为了让电脑更快的、更好地进行OCR相关计算,我们需要先对彩色图进行处理,使图片只剩下前景资讯与背景资讯。二值化也可以简单地将其理解为“黑白化”。
图像降噪
对于不同的图像,噪点的定义可能不同,根据噪点的特征进行去噪的过程,称为降噪。
倾斜校正
由于一般用户,在拍照文档时,难以拍摄得完全符合水平平齐与竖直平齐,因此拍照出来的图片不可避免的产生倾斜,这就需要图像处理软件进行校正。
中期处理
版面分析
将文档图片分段落,分行的过程称为版面分析,由于实际文档的多样性、复杂性,此步骤目前仍待优化。
字符切割
由于拍照、书写条件的限制,经常造成字符粘连、断笔,直接使用此类图像进行OCR分析将会极大限制OCR性能。因此需要进行字符切割,即:将不同字符之间分割开。
字符识别
早期以模板匹配为主,后期以特征提取为主。由于文字的位移、笔画的粗细、断笔、粘连、旋转等因素的影响,极大地影响特征提取难度。
版面还原
人们希望识别后的文字,仍然像原始文档图片那样排列,段落、位置、顺序不变地输出到Word文档、PDF文档等,这一过程称为版面还原。
后期处理
根据特定的语言上下文的关系,对识别结果进行校正。
输出
将识别出的字符以某一格式的文本输出。
发展历史
OCR的概念是在1929年由德国科学家Tausheck最先提出来,并申请了专利。[来源请求]后来美国科学家Handel也提出了利用技术对文字进行识别的想法。[来源请求]中国最早的OCR商业应用是由科学家王庆人教授在南开大学开发出来的,并在美国市场投入商业使用。[来源请求]日本在20世纪60年代开始研究OCR识别理论,开发了邮政编码识别系统。[来源请求]
主流实现
参考来源
- ^ 什么是OCR?如何使用OCR文字识别软件?_文本_文件_图片. www.sohu.com. [2023-10-06].
- ^ 人工智能技术在档案OCR工作中的应用. app.yunxiqu.gov.cn. [2023-10-06].
- ^ 手写笔记软件评测Notability、GoodNotes、MarginNote、OneNote_支持_功能_编辑器. www.sohu.com. [2023-10-06].
- ^ Synced. ‘Snip’ Converts Math Screenshots Into LaTeX | Synced. syncedreview.com. 2019-04-09 [2023-10-06]. (原始内容存档于2023-03-23) (美国英语).
- ^ Google 相册现在能让你搜索照片里的文字. 爱范儿. 2019-08-23 [2023-10-06]. (原始内容存档于2022-12-08) (中文(中国大陆)).
- ^ 疯先生. iOS 15原況文字怎麼用?教你6招iPhone相機實現OCR文字辨識 - 瘋先生. mrmad.com.tw. 2021-06-11 [2023-10-06]. (原始内容存档于2022-04-05) (中文(台湾)).
- ^ 虽迟但到,微信也可以「提取图片内文字」了?. 爱范儿. 2021-03-23 [2023-10-06]. (原始内容存档于2022-11-29) (中文(中国大陆)).
- ^ 繁体字识别_应用_技术_古籍. www.sohu.com. [2023-10-06].
- ^ 存档副本. [2018-02-19]. (原始内容存档于2018-02-19).
- ^ 存档副本 (PDF). [2018-02-19]. (原始内容存档 (PDF)于2018-03-04).