光学字符识别多行检测

Optical Character Recognition Multiple Line Detection

我正在构建 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 并查找 "Handwriting Recognition with MDLSTM and CTC" 和 "The Collapse Layer and its Proposed Replacements"