Я использую библиотечную структуру AForge и ее нейронную сеть.OCR с нейронной сетью: извлечение данных
В настоящий момент, когда я тренирую свою сеть, я создаю большое количество изображений (по одному изображению на каждую букву на шрифт) при большом размере (30 pt), вырезал фактическую букву, уменьшаю ее до меньшего размера (10x10 px), а затем сохраните его на моем жестком диске. Затем я могу просмотреть все эти изображения, создав массивы double [] с данными. На данный момент я делаю это на пиксельной основе.
Итак, как только я успешно обучил свою сеть, я тестирую сеть и позволяю ей работать на образце с алфавитом разных размеров (в верхнем и нижнем регистре).
Но результат не очень перспективен. Я тренировал сеть таким образом, что у RunEpoch была ошибка около 1.5 (так почти без ошибок), но все равно остались некоторые буквы, которые не попадают в тестовое изображение правильно.
Теперь мой вопрос: вызвано ли это тем, что у меня есть ошибочный метод обучения (в пиксельной базе против предлагаемого использования рецепторов в этой статье: http://www.codeproject.com/KB/cs/neural_network_ocr.aspx - есть ли другие методы, которые я могу использовать для извлечения данных для сети?) или это может случиться, потому что мой алгоритм сегментации для извлечения букв с изображения, чтобы посмотреть, плохо?
У кого-нибудь есть идеи о том, как его улучшить?