3.7 KiB
3.7 KiB
Распознавание образов на 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 (загружаются автоматически)