Метка: OCR

Распознование рукописных цифр на iPhone

Фуф! Наконец-то, я добился того, чтобы оно работало более менее нормально. Итак, распознавание рукописных цифр на iPhone. Используется 5-слойная сверточная нейронная сеть.  Сеть натренерована на базе MNIST, которая содержит 60000 образцов рукописных цифр (на каждую, вроде бы, итого 600000). Вдохновлялся этой статьей. Сеть написал сам, но тренеровал ее программой из статьи. Пришлось поднять виртуальную WinXp, поставить на ней VC++ 6, собрать проект, дописать нормальный экспортер данных (по умолчанию был на MFC – CArchive, который вообще некорректно работал и не загружал тестовые данные). Очень долго шло обучение, понадобилось несколько часов. И оно все еще идет… Я периодически скидываю дамп нейросети себе в проект.

Конечно, результат далек от совершенства. Например, эта сеть отказывается воспринимать мою цифру 6, всегда говорит 5. Пришлось писать специальный твик (по-русски – костыль), которые анализирует кривую и по некоторым статистическим данным различает шестерку и пятерку. У программы много параметров, и мне предстоит с ними еще поиграться, чтобы достичь максимальной точности. Планирую скрестить несколько алгоритмов и заставить их работать, как суд присяжных.