首页 > 解决方案 > 如何在手写文本识别中对数字和单词进行分类

问题描述

我正在使用神经网络进行手写文本识别,我认为我已经用过

我有一个带有姓名、年龄和出生日期文本框的表格,姓名字段的结果很好(能够识别),但对于 DOB 和年龄,它无法将其完全识别为数字,一些数字,如“1”和 '0' 被识别为 'i' 和 'o'。

我如何将其分类为单词和数字,或者我可以将任何其他模型仅用于数字(目前我已经使用 IAM dataset-words 训练了 NN),或者任何建议。

示例图片

result : --i-16-16-
result : -i-i6-86-

标签: pythonpython-3.xopencvcomputer-visionocr

解决方案


你可以训练另一个神经网络,因为数字识别不是一项相对计算密集的任务。

或者,如果文档具有固定格式,那么您就会知道年龄和出生日期在哪里。在这种情况下,在对输出层设置阈值以决定输出时,只对表示数字的神经元进行此操作。

例如,假设您有 5 个数字{'1','2','3','4','5'}和 5 个字母{'a','e','i','o','u'}。训练有素的 NN 的输出层给出[0.38, 0.006, 0.01, 0.004, 0.1, 0.03, 0.009, 0.4, 0.001, 0.06].

在其上执行 softmax 以获得概率解释。并选择一个输出。而是只对代表数字的神经元执行 softmax。您也可以将其视为先验概率为零。

这里i的激活比1. 但是在执行 softmax 时,您只选择代表数字的神经元。因此你得到1.


推荐阅读