Kar*_*ana 7 python ocr keras tensorflow
我正在构建一个 OCR。为此,我正在使用CNN,RNN和CTC损失函数。我的输入层获取图像,输出层预测该图像上写的内容。标签被转换为整数。
['A', 'B', 'C'] -> A = 0, B = 1, C = 2
Run Code Online (Sandbox Code Playgroud)
如果图像是 ABC,则训练标签将为 0,1,2(单行向量)
我能够在单行上完成此操作。例如。' ABCDE' 写在图像上,模型效果很好。但如果图像是
'ABC'
'CAB'
Run Code Online (Sandbox Code Playgroud)
那么训练标签应该是什么?我如何告诉模型下一行?我想在多行上训练一个模型。
您想识别包含多行的文档文本。有两种方法可以实现这一点:
段的文档转换成线作为前处理步骤,然后喂每个分割行分别插入神经网络。如果你想走这条路,例如阅读来自 Bunke 和 Marti 的论文 [1]。他们基本上计算每条扫描线的黑白转换并从中创建直方图。他们使用直方图的最小值将文档分成单独的行。还有一些其他方法可以将文档分割成行。
训练的神经网络,以含蓄段文档进行。您需要对神经网络添加注意力,使其可以专注于单个线条。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 进行手写识别”和“折叠层及其建议的替换”
| 归档时间: |
|
| 查看次数: |
2035 次 |
| 最近记录: |