лаба 1 мии
.docxМинистерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Ордена трудового красного знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра МКиИТ
Лабораторная работа № 1
по дисциплине «Методы искусственного интеллекта»
Выполнила: студентка
Вариант 5
Москва, 2024
Задание на лабораторную работу
Цель: Провести обучение сверточной нейронной сети архитектуры YOLOv8 (Nano) для детектирования объектов на изображении (шапка, куртка, штаны).
Задачи:
Собрать набор данных
Выполнить процедуру обучения
Комплексно проанализировать работоспособность модели
Повторно обучить модель на основании анализа
Оценить работоспособность полученного результата
Ход работы
Данные
Датасет модели в universe.roboflow.com: https://universe.roboflow.com/project-esnb4/mydatasetlab1/dataset/6/images?split=train
Большая часть данных для датасета была взята с портала universe.roboflow.com. Для разметки и постобработки собранных данных также были использованы инструменты с ресурса roboflow.com.
Рисунок 1 - Датасет
Таблица 1 - Баланс классов
-
Train
Valid
Test
Cap
499
36
49
Jacket
500
39
48
Pants
498
35
52
При аугментации были добавлены модификаторы, представленных на рисунке 2.
Рисунок 2 - Создание модели (v6)
Также было произведено изменение размера изображений датасета 640x640.
Рисунок 3 - Создание модели (v6)
Рисунок 4 - Датасет модели (v6)
Подготовка
Файл: https://colab.research.google.com/drive/1uDMT2_r74R_to8rDj278f6nyYyran7eV#scrollTo=T_nwQY4FNs0L
Рисунок 5 - Монтирование облачного хранилища для сохранения копии
Рисунок 6 - Переключение вычислительной среды на GPU
Рисунок 7 -Загрузка набора данных через API ключ
Первая итерация обучения
Рисунок 8 - Код для первой итерации обучения
Пояснение гиперпараметров:
task - задача, которую будет выполнять модель (detect - определение)
mode - режим (train - обучение)
data - датасет
epochs - количество эпох в обучении
imgsz - ширина изображений в пикселях
Рисунок 9 - Матрица ошибок
110 верных предсказаний, 15 ложно-положительных предсказаний и 13 ложно-отрицательных предсказаний.
Рисунок 10 - Графики потерь
Судя по графикам, есть проблема с недостаточным количеством валидационных данных (т.к. тестовые потери продолжают стремительно уменьшаться, а валидационные уже на 4 эпохе начинают выходить на плато)
Рисунок 11 - Прогноз на валидации
Рисунок 12 - Метрики валидации
Вторая итерация обучения
Запускаем повторное обучение с учетом лучших весов.
Рисунки 13 - 14 - Код для второй итерации обучения
Рисунок 15 - Код развертывания модели
Рисунок 15 - Матрица ошибок
115 верных предсказаний, 15 ложно-положительных предсказаний и 9 ложно-отрицательных предсказаний. Доля ложных предсказаний снизилась.
Рисунок 16 - Графики потерь
Судя по графикам очевидно переобучения модели (валидационные потери сильно колеблются)
Рисунок 17 - Прогноз на валидации
Рисунок 18 - Метрики валидации
Инференс
Рисунки 19-21 - Результат работы
Повторно обученная модель (v7):
https://universe.roboflow.com/project-esnb4/mydatasetlab1/model/7?youtube=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DJn_o66Sz1w0%26t%3D4s