Распознавание чисел с помощью нейросетей

Рейтинг: 0Ответов: 1Опубликовано: 10.11.2014

Всем доброго времени суток! Пишу курсовую работу по программированию. Требуется написать программу, которая бы распознавала десятичный числа.

На данный момент написал простенькую реализацию самообучающейся нейронной сети, которая на вход получает массив из 15 целочисленных цифр (1 и 0 - соответствующие определенной цифре). Но как вы понимаете, этого далеко недостаточно.

Сейчас думаю, как написать программу, которая будет работать непосредственно с изображением. Так вот вопросы:

  1. Работаю я в Visual Studio на языке C++. Какую библиотеку лучше выбрать, для работы с графикой?
  2. С форматом какого изображения начать, чтобы было проще обрабатывать картинку?
  3. Может, кто-то владеет подобным опытом или добротным контентом по этой теме и даст пару полезных советов?

Ответы

▲ 1Принят

Имхо winforms имеют убогий дизайн. Попробуйте qt или wxwidgets, я бы рекомендовал второе (проще, и можно сразу скачать сборку под VS компиляторы). В идеале Вам нужно загуглить классификационные нейронные сети, а затем реализацию хоть какой-то. Вам понадобится 10 выходных нейронов (0-9) и N входных, где в лучшем случае N - количество пикселей картинки. Для простоты я бы взял 16х32, и работал с такими исходными данными (т.е. чернобелыми картинками такого размера).

Для работы с любыми картинками подойдет задача перевода любой картинки в картинку размером 16х32. Она тоже не тривиальна, и лучше взяться за нее, если уже решите эту. Хорошо, если найдете хорошую классифицирующую сеть в open source. Такие точно есть, когда-то я товарищу делал диплом и находил. Чтобы не изобретать велосипед. Если же реализация самой нейронной сети - и есть суть задачи, то я уверен, Вы получите высший балл, реализовав расчеты на видеопроцессорах (с помощью CUDA). Не сложно, но лучшей пыли в глаза преподу не придумать. И работать будет эффективнее.