bavaria
@bavaria
Студент, Python, Ruby

Как использовать нейронные сети для распознавания цифр?

Здраствуйте,
Хочу написать скрипт(Python), который будет распознавать на потоковом видео цифры.
Пока тренируюсь на изображениях. Собственно, сначала перевожу в Grayscale, потом делаю бинаризацию методом Отсу, потом с помощью методов findContours и boundingRect в openCV получаю массив с прямоугольниками, в которых содержатся координаты прямоугольников внутри с контурами.
Заметил что среди этих найденных объектов очень много шума(прямоугольники размером в несколько пикселей, по-этому просто фильтрую слишком маленькие по одной из сторон или непропорциональные(одна сторона больше другой в 2+ раза))(возможно тут подскажете способ получше, так как цифра "1", написаная как вертикальная/горизонтальная палочка сразу отсекаеться).
Потом все эти Области Интереса(ROI) привожу к общему размеру(28х28).
Перед этим натренировал классификатор(использовал готовый для MNIST(SVM). И каждый ROI передаю на вход данной сети. Но как ROI на изображении находит ВСЕ достаточно большие контуры - появляется вопрос - как быть когда среди таких ROI будет не цифра? Как спроектировать сеть или может делать предварительную обработку?
  • Вопрос задан
  • 1384 просмотра
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
А что у вас на выходе из сети?
Может быть два варианта:
1. в выходном слое один нейрон, выдает вам от 0 до 1, вы денормализуете выход в исходный диапазон, типа 0="0" ... 1="9"
В этом случае сигнал для символа, не являющегося цифрой, будет трудно выделить.
2. в выходном слое у вас Н нейронов, каждый из которых соответствует одной цифре. В этом случае у вас результатом верного распознавания будет сильный сигнал на выходе одного нейрона. Т.е. если на нейроне "4" сигнал 0.8, а на всех остальных 0.08, то высока вероятность, что это у вас 4.
А если на двух или трех выходах близко одинаковые значения, то высока вероятность, что на входе что-то отличное от цифры.
Само собой, при таком подходе надо тренировать сеть на такие ложные случаи.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы