Распознавание образов в Python. Часть I — введение

Распознавание образов находит множество практических применений. Одним из самых распространенных явлется распознавание лиц, когда по изображению определяется конкретный человек. Но распозавние образов это гораздо более широкое понятие. С помощью него можно, например, перевести изображение текста в печатные символы. Также распознавание образов активно используется в компьютерном зрении, когда роботы и другие устройства могут узнавать людей и различные предметы.

Целью настоящей серии статей является научить нашу программу распознавать символы, изпользуя для этого методы машинного обучения в распознавании образов. Мы будем узнавать цифры, но эти методы можно распространить на буквы алфавита, слова, лица — словом, на всё. Просто, чем сложнее изображение, тем сложнее код, только и всего. Но в случае букв и символов все достаточно просто.

Итак, как это работает? Как и всегда в программировании, мы просто должны разбить проблему на части, и все будет хорошо. Что ж, приступим!

Для начала вам нужно скачать тестовые изображения, которые мы будем распознавать. Они находятся здесь.

Далее распакуйте архив и переместите директорию "images" туда, где вы будете создавать ваш код. Таким образом, у нас теперь есть некоторое количество тестовых изображений, которые мы и будем использовать. Также у нас отдельно есть изображения цифр в папке "numbers".

Теперь нам необходим язык Python. Хотя данная серия статей создавалась на Python 2.7, все это также можно повторить без каких-либо проблем и на Python 3.

Далее нам потребуются библиотеки Matplotlib, NumPy и PIL (или иначе Pillow). Простейший способ их установки — через пакетный менеджер pip.

После установки Python перейдите в командную строку, cmd.exe для Windows или bash для Linux, и наберите в ней:

pip install numpy
pip install matplotlib

Если есть какие-то проблемы, можно, например, почитать пособие по этому пакетному менеджеру.

Теперь, все установив, мы готовы переходить к следующей части.

Продолжение: Распознавание образов в Python. Часть II — изучение массивов пикселей.