光学字符识别多线检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了光学字符识别多线检测相关的知识,希望对你有一定的参考价值。

我正在建立一个OCR。为此,我使用CNNRNNCTC损失函数。我的输入层获取图像和输出层预测写在该图像上的内容。标签转换为整数。

['A', 'B', 'C'] -> A = 0, B = 1, C = 2

如果图像是ABC,训练标签将是0,1,2(单行向量)

我能够在单线上实现这一目标。例如。 'ABCDE'写在图像上,模型效果很好。但如果图像是

'ABC'

'CAB'

那么培训标签应该是什么?如何告诉模型下一行?我想在多条线上训练一个模型。

答案

您想要识别包含多行的文档的文本。有两种方法可以实现这一目标:

  1. 将文档分割为行作为预处理步骤,然后将每个分段线分别馈送到神经网络中。如果你想这样,例如阅读Bunke和Marti的论文[1]。它们基本上计算每条扫描线的黑白转换,并从中创建直方图。他们使用直方图的最小值将文档拆分为单独的行。还有一些其他方法可以将文档分成行。
  2. 训练神经网络以隐式地将文档分成行。您需要将注意力添加到神经网络,以便它可以专注于单独的线条。 Bluche在文档级别上做了一些很好的文本识别工作。见论文[2]和网站[3]。

[1] Bunke,Marti:IAM数据库:用于离线手写识别的英语句子数据库。通过Springer下载

[2] Bluche:用于端到端手写段落识别的联合线分割和转录。通过https://arxiv.org/abs/1604.08352下载

[3] Bluche:扫描,出席和阅读。请参阅http://www.tbluche.com/scan_attend_read.html并查找“使用MDLSTM和CTC进行手写识别”和“折叠层及其建议的替换”

以上是关于光学字符识别多线检测的主要内容,如果未能解决你的问题,请参考以下文章

Andrew Ng-ML-第十九章-应用举例:照片OCR(光学字符识别)

OCR (Optical Character Recognition,光学字符识别)

Python,OpenCV中的光学字符识别(OCR Optical Character Recognition)

如何使用光学字符识别解析数字 4

光学字符识别

一些图像识别初创公司产品