АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 РАСПОЗНАВАНИЕ ОБЪЕКТОВ НА ФОТОГРАФИИ 9
1.1 Классификация изображений 9
1.2 Детекция объектов на изображении 12
1.3 Методы для решения задач классификации и сегментации 13
1.4 Модели 14
1.4.1 Нейронные сети глубокого обучения 14
1.4.2 Сверточные нейронные сети 15
1.5 Балансировка набора данных 18
1.5.1 Удаление миноритарного класса 19
1.5.2 Случайное удаление примеров из мажоритарного класса 19
1.5.3 Дублирование примеров миноритарного класса 19
1.6 Существующие решения и аналоги 19
1.7 Выбор среды разработки 21
1.8 Вывод по главе 1 22
2 АЛГОРИТМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ РАСПОЗНАВАНИЯ 23
2.1 Постановка задачи распознавания 23
2.2 Исходные данные для классификатора 23
2.3 Исходные данные для распознавания 26
2.4 Общий алгоритм для обучения нейронных сетей 28
2.5 Описание классификатора 29
2.6 Описание YOLOv3 31
2.7 Описание EfficentDet 33
2.8 Функции активации и потерь 35
2.9 Функции для оценки точности 36
2.10 Вывод по главе 2 37
3 ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ И ПРОВЕРКА НА ТЕСТОВЫХ
ДАННЫХ 38
3.1 Параметры классификатора 38
3.2 Параметры детектирования с использованием YOLOv3 41
3.3 Параметры детектирования с использованием EfficentDet 43
3.4 Сравнение результатов работы YOLOv3 и EfficentDet 45
3.5 Выводы по 3 главе 47
ЗАКЛЮЧЕНИЕ 48
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 49
ПРИЛОЖЕНИЕ 1 Исходный код 53
Распознавание объектов служит для отнесения исходных данных к одному из заранее определенных классов при помощи выделения некоторых существенных признаков, позволяющих охарактеризовать эти данные.
Проблема распознавания объектов усилено начала приобретать значение в условиях, когда человек не справляется с большим количество информационных перегрузок и не может справиться с линейно-после¬довательным пониманием различных поступающих к нему сообщений.
Таким образом, проблема распознавания объектов начала охватывать самые различные области и оказалась в поле междисциплинар ных исследований, особенно в областях, связанных с нейронными сетями и искусственным интеллектом.
Если раньше задача распознавания в основном применялась для решения задач в области безопасности, то с развитием нейронных сетей количество областей значительно расширилось. Сейчас задачу распознавания можно применить в любой сфере, где имеется видеопоток данных или большое количество изображений.
Целью данной работы является исследование средств машинного и глубоко обучения и их применимость в решении задачи распознавания сервированных блюд .
Для достижения данной цели необходимо решить следующие задачи:
1) исследовать существующие подходы для решения задачи распознавания объектов по фотографии;
2) подготовить набор исходных данных для классификации и детекции;
3) разработать модель нейронной сети для решения поставленной задачи;
4) провести вычислительный эксперимент на подготовленных тестовых данных.
В результате проделанной работы были исследованы существующие методы решения задачи распознавания объектов на фотографии, сделан выбор в пользу нейросетевого подхода, рассмотрены решения и аналоги в области распознавания блюд, рассмотрены среды разработки моделей нейронных сетей.
Были подготовлены данные для решения задач классификации и детекции, определены параметры преобразования для данных, выбраны основные архитектуры для моделей классификации и детекции, рассмотрены различные функции активации и потерь, выбраны метрики точности.
Также были разработаны модели нейронных сетей с использованием выбранных ранее архитектур, подобраны начальные параметры для каждой модели.
Модели протестированы на подготовленных данных. Точность модели классификации составила 87%. Точности моделей детекции составили 88% и 85% соответственно для YOLOv3 и EfficentDet. Произведено сравнение моделей. Модель EfficentDet показала результат сопоставимый с YOLOv3, при этом было затрачено намного меньше времени на обучение, а сама детекция занимает меньше времени. Однако для работы с видеопотоков подходит модель основанная на YOLOv3.
Таким образом все поставленные в работе задачи были выполнены и цель достигнута.