光学字符识别(OCR)是文档数字化的关键要素,它通过计算机视觉检测和读取图像中文本,从文档图像中检测文本并使用自然语言处理算法破译文本并理解文档传达的内容。本文就来详细介绍光学字符识别(OCR)技术。
光学字符识别技术的实现方式
基于机器学习的办法
虽然基于机器学习的方法开发速度很快,但运行时间要长得多,而且在准确性和推理速度方面很容易被深度学习算法超越。
光学字符识别方法会经过一系列预处理步骤,在这些步骤中,检查的文档会被清理并消除噪音。在此之后,文档被二值化以用于后续轮廓检测,以帮助检测行和列。
最后,通过各种机器学习算法,如K近邻和支持向量机算法提取、分割和识别字符。虽然在简单的OCR数据集上效果很好,但在处理复杂数据集时就可能出现失败。
基于深度学习的办法
此办法可以有效地提取大量特征,结合视觉和基于NLP的算法在为文本识别和检测等任务特别成功。此外,该方法提供了一个端到端的检测管道,从冗长的预处理步骤中解放出来。
通常,光学字符识别(OCR)方法包括基于视觉的方法,用于提取文本区域并预测其边界框坐标。然后将边界框数据和图像特征传递给语言处理算法,该算法使用RNN、LSTM和Transformer将基于特征的信息解码为文本数据。
基于深度学习的光学字符识别(OCR)有两个阶段——区域建议阶段和语言处理阶段。
①区域建议阶段
第一阶段涉及从图像中检测文本区域。这是通过使用检测文本片段并将它们包围在边界框中的卷积模型来实现的。
这里网络的任务类似于Fast-RCNN等目标检测算法中提取候选框的网络,标记并提取可能感兴趣的区域。这些区域被用作注意力图,并与从图像中提取的特征一起提供给语言处理算法。
②语言处理阶段
基于NLP的网络致力于提取在这些区域捕获的信息,并根据CNN层提供的特征构建有意义的句子。
无需经过此步骤即可直接识别字符的算法(完全基于CNN)已在最近的工作中得到成功探索,并且对于检测要传达的时间信息有限的文本特别有用,如车辆牌照。
如何提高提高OCR的准确性
1.数据去噪
对输入模型的数据进行适当的去噪,去噪可以通过多种方式完成,其中高斯模糊是最受欢迎的。附加的白噪声也可以在辅助自动编码器网络的帮助下去除。
2.提高图像对比度
图像对比度在帮助神经网络区分文本区域和非文本区域方面起着重要作用。增加文本和背景之间的对比度差异有助于OCR模型更好地执行。
光学字符识别应用场景
1.文档识别:文档识别是OCR的一个重要且常用的用例,检测文本并识别。
2.数据录入自动化:使用OCR可以有效地从文档和表格中捕获数据,实现数据输入自动化并减少由于打字问题导致的数据异常。
3.档案和数字图书馆创建:OCR通过识别书籍或文档所属的类别来帮助创建数字图书馆。这些类别可用于查找特定类别的书籍,帮助读者无缝地浏览列表。相应地,OCR有助于将旧文档数字化,从而使保存变得极其容易和安全。
4.文本翻译:文本翻译是OCR的重要组成部分,特别是场景文本识别。叠加在OCR系统输出上的翻译模块可以帮助理解不同语言的文件。
5.乐谱识别:可以训练文本检测系统从乐谱中检测乐谱,使机器能够直接从文本信息中播放音乐。这也可以用于听力训练。
6.营销活动:OCR系统已成功用于快速消费品的营销活动,方法是在其产品上附加可扫描的文本部分。当通过移动相机或捕获设备扫描时,此文本部分可以转换为文本代码以代替促销码。