Как классифицировать цифры и слова в распознавании рукописного текста - PullRequest
0 голосов
/ 14 января 2020

Я работаю с распознаванием рукописного текста с использованием нейронных сетей, думает, что я использовал в этом

  • opencv для обработки изображений
  • сегментации страницы и извлечения текстовых полей
  • сегментация слов (или любые предложения для более точной сегментации / маскировки текста)

у меня есть форма с текстовыми полями имени, возраста и даты рождения, результат для поля имени хороший (способен распознавать), но для DOB и возраста он не может распознать его полностью, поскольку цифры, такие как «1» и «0», распознаются как «i» и «o».

как я могу классифицировать это в виде слов и цифр, или я могу использовать любые другие модели только для цифр (в настоящее время я обучил NN со словами набора данных IAM), или любое предложение.

example pic

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

1 Ответ

0 голосов
/ 14 января 2020

Вы можете обучить другой NN, так как распознавание di git не является относительно сложной вычислительной задачей.

В качестве альтернативы, если документ имеет фиксированный формат, то вы знаете, где присутствует возраст и доб. В этом случае, устанавливая пороговое значение выходного слоя для определения выходного, делайте это только для нейронов, представляющих числа.

Например, допустим, у вас есть 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 для получения вероятностной интерпретации c. И выберите один выход. Вместо этого выполняйте softmax только на нейронах, представляющих числа. Вы также можете думать об этом как о предыдущей вероятности равной нулю

Здесь i имеет более высокую активацию, чем 1. Но при выполнении softmax вы выбираете только нейроны, которые представляют числа. Следовательно, вы получите 1.

...