Files
coursework-image-recognitio…/README.md

3.7 KiB
Raw Blame History

Распознавание образов на Python с использованием CNN

Курсовая работа по дисциплине
«[указать название дисциплины]»


📌 Описание проекта

Данный проект представляет собой программную реализацию системы распознавания образов
(рукописных цифр) с использованием сверточной нейронной сети (CNN) на языке программирования Python.

В рамках работы реализовано:

  • обучение нейронной сети на датасете MNIST,
  • сохранение и повторное использование обученной модели,
  • графический пользовательский интерфейс (GUI) на базе Tkinter,
  • визуализация результатов обучения (графики, метрики),
  • демонстрация процесса распознавания пользовательского ввода.

Проект разработан в рамках выполнения курсовой работы и предназначен для учебных и демонстрационных целей.


🎯 Цель и задачи работы

Цель работы

Разработка программного приложения для распознавания образов с применением методов машинного обучения и нейронных сетей на языке Python.

Задачи работы

  • изучить теоретические основы распознавания образов;
  • рассмотреть архитектуру сверточных нейронных сетей;
  • реализовать CNN-модель для распознавания рукописных цифр;
  • обучить модель на наборе данных MNIST;
  • разработать графический интерфейс пользователя;
  • провести тестирование и анализ результатов распознавания.

🧠 Используемые технологии

  • Язык программирования: Python 3
  • Машинное обучение: PyTorch
  • Нейронные сети: сверточная нейронная сеть (CNN)
  • Графический интерфейс: Tkinter
  • Обработка изображений: Pillow
  • Визуализация: Matplotlib

🗂 Структура проекта

raspoznavanie-obrazov-python-cnn/
│
├── app.py                # Графический интерфейс (Tkinter)
├── model.py              # Архитектура CNN
├── train.py              # Обучение модели и сохранение артефактов
├── preprocess.py         # Предобработка изображений
├── utils.py              # Вспомогательные функции (логирование, графики)
├── requirements.txt      # Зависимости проекта
│
├── artifacts/            # Результаты обучения
│   ├── mnist_cnn.pt      # Обученная модель
│   ├── metrics.json      # Метрики обучения
│   ├── training_plot.png # График loss и accuracy
│   └── train.log         # Лог обучения
│
└── data/                 # Данные MNIST (загружаются автоматически)