Введение
Задачи классификации
Данные по цифрам
Данные по одежде
Pandas
Tensorflow; Keras
Информация о данных
Информация о данных
Обработка данных
Создание архитектуры
Обучение модели
Результаты обучения
Результаты обучения
Результаты обучения сети на данных с цифрами
Результаты обучения
Результаты обучения
Вывод:
Спасибо за внимание!
1.47M
Категория: ИнформатикаИнформатика

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

1.

ИНСТИТУТ РАЗВИТИЯ ОБРАЗОВАНИЯ ОРЕНБУРГСКОЙ ОБЛАСТИ
ДЕТСКИЙ ТЕХНОПАРК «КВАНТОРИУМ»
Решение задач классификации изображений с помощью
нейросетевых технологий,
используя модуль KERAS библиотеки TENSORFLOW
Руководитель:
кандидат физ.-мат. наук, доцент каф. прикладной
математики ОГУ
Луговскова Ю.П.
Выполнил:
ИРО ДТ “КВАНТОРИУМ”
Янель И. С.
Оренбург 2025

2. Введение

Целью работы является исследование библиотек в среде
программирования python для решения задач компьютерного
зрения и классификации изображений
В соответствии с поставленной целью необходимо решить
следующие задачи:
1)изучить основные модули, функции, реализуемые
библиотеками NumPy, Pandas, Matplotlib, TensorFlow;
2) рассмотреть использование представленных библиотек на
примере работы с данными в виде картинок при решении задач
классификации с использованием нейросетевой технологии;
3) провести исследования определения класса чёрно-белых
картинок на примере задач распознания рукописных цифр и
видов одежды.
2

3. Задачи классификации

Карта машинного обучения
Задачи классификации
В контексте исследовательской работы
рассмотрен
метод
классического
машинного обучения с учителем, на
примере решения задач классификации.
Задачей
классификации
часто
называют предсказание категориальной
зависимой переменной от независимых
признаков,
характеризующие
объекты.
Зависимая
переменная,
являющаяся категорией, определяется
меткой класса.
3

4.

Основные библиотеки python
Seaborn
Matplotlib
(визуализации данных)
NumPy(Алгебраический
пакет работы с
числовыми данными
Pandas( пакет для
работы с данными
разных категорий)
TensorFlow; Keras
(создание и обучение
нейронных сетей)
Для инсталляции библиотек Python используют команду: pip install … (библиотека, которую нужно установить). Для
импорта обычно используют код: import … (необходимая библиотека) as … (как будем обращаться к этой библиотеке,
для упрощения чтения кода)
4

5. Данные по цифрам

В этих данных хранятся
нарисованные от руки
цифры и значения этих цифр
Работая с этими данными, мы
будем использовать основные
библиотеки, с которыми мы
знакомы
Объекты: 70000 черно-белых картинок размера 28*28;
Выходной признак объектов: 10 классов, определяемые
меткой номе цифры, изображенной на картинке; Входные признаки
объектов: 28*28= 784 признака, каждый из которых определяется
значением от 0 до 255, отражающего яркость картинки

6. Данные по одежде

В этих данных хранятся изображения
одежды и название класса для каждого
изображения (0. Футболка/топ 1. Брюки
2. Свитер 3. Платье 4. Пальто
5. Сандалии 6. Рубашка 7. Кроссовки
8. Сумка .9 Ботинки
Работая с этими данными, мы будем
использовать основные библиотеки,
с которыми мы знакомы
Объекты: 70000 черно-белых картинок размера 28*28;
Выходной признак объектов: 10 классов, определяемые
меткой номе цифры, изображенной на картинке; Входные признаки
объектов: 28*28= 784 признака, каждый из которых определяется
значением от 0 до 255, отражающего яркость картинки

7.

7

8. Pandas

Pandas — программная библиотека на
языке Python для обработки и анализа
данных. Предоставляет специальные
структуры данных и операции для
манипулирования числовыми
таблицами и временными рядами.
8

9. Tensorflow; Keras

Keras — открытая библиотека, написанная на
языке Python и обеспечивающая взаимодействие
с искусственными нейронными сетями. Нацелена на
оперативную работу с сетями глубинного обучения,
при этом спроектирована так, чтобы быть
компактной, модульной и расширяемой
9

10.

Импорт
данных:
Импортируем
библиотеки
Numpy,
Pandas,
TenserFlow.ke
ras, Matplotlib
10

11. Информация о данных

Скачиваем данные
об одежде
Смотрим какое
количество данных
пойдёт на обучение
сети и тест. На тест
пойдёт 10000
изображений, на
обучение 60000
изображений
11

12. Информация о данных

Визуализируем первые 25 изображений с помощью
функций библиотеки Matplotlib
12

13. Обработка данных

Преобразуем данные в
вектор размером 784 и
выведем их рядом с
исходными.
Далее центрируем и
нормируем данные чтобы
сети было проще учиться.
Преобразуем метки
классов y_train и y_val в
формат One-hot
13

14. Создание архитектуры

Создаём архитектуру
модели, настраиваем
скрытые слои, в них будут
использоваться основные
слои(Flatten, Dense),
свёрточные (Conv2D) и
пулинг (MaxPool2D) слои
14

15. Обучение модели

Компилируем модель,
настраивая оптимизатор
‘adam’, метрику качества
классификатора ‘accuracy’
Обучаем модель на
данных на 15 эпохах
15

16. Результаты обучения

16

17. Результаты обучения

В итоге обучения мы получили
довольно высокое “accuracy”, на 15
эпохе этот параметр составил 0.97, как
показано на графике эффекта
переобучения не произошло,
“accuracy” только рос. Также параметр
“val_ accuracy”, показывающий
точность работы модели на тестовых
данных не сильно отличается от
“accuracy”, это значит что модель
работает не только на обучении, но и
на тренировочных данных.
17

18. Результаты обучения сети на данных с цифрами

На примере с цифрами сеть работает
лучше, ведь ей проще обучаться с
цифрами, “accuracy” составил 0,996,
что очень хорошо, сеть практически
безошибочно определяет значение
цифры
18

19. Результаты обучения

19

20. Результаты обучения

В итоге обучения мы получили
довольно высокое “accuracy”, на 15
эпохе этот параметр составил 0.97, как
показано на графике эффекта
переобучения не произошло,
“accuracy” только рос. Также параметр
“val_ accuracy”, показывающий
точность работы модели на тестовых
данных не сильно отличается от
“accuracy”, это значит что модель
работает не только на обучении, но и
на тренировочных данных.
20

21. Вывод:

Мы рассмотрели использование представленных библиотек на примере
работы с данными по цифрам и одежде. Создали нейронную сеть,
которая довольно хорошо разбивала входные данные на классы.
Рассмотрели все этапы создания сети визуализацию поданным.
21

22. Спасибо за внимание!

22
English     Русский Правила