Skip to content

tutibase/MNIST-recognition-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MNIST-recognition-GUI

Программа с графическим интерфейсом для распознавания рукописных цифр. Для использования достаточно распаковать архив model.zip в общую папку и запустить GUI.py

GUI.py

Реализация графического интерфейса для работы с обученной моделью через tkinter:

  • Кнопки B+ и B- изменяют размер кисти для рисования
  • Кнопка Clear очищает поле для рисования
  • Кнопка Predict выводит результат работы модели в правый нижний угол
  • Если нарисовать что-либо в окне, то спустя 2 секунды бездействия предсказание числа произойдет автоматически.
Интерфейс приложения

img_processing.py

Функция обработки изображения из окна для рисования. Для работы с изображением используются Pillow, pandas и NumPy. Функция сжимает изображение, удаляет лишние данные, приводит полученное изображение к размеру 20x20, после чего добавляет рамку шириной 4 пикселя по краям. В итоге получается изображение 28x28, которое успешно обрабатывает модель.

bfr_aft
Изображение до и после обработки

mnist.py

Обучение модели распознавания цифр через KNeighborsClassifier на данных из data.zip и последующая её консервация в model.pkl. Приведенная модель показывает следующие результаты на тестовых данных:

model_classification_report
model classification report

data.zip

В архиве данные MNIST в формате csv для самостоятельного обучения модели. Описание данных на вики.

image
Пример данных

About

GUI for the MNIST trained model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages