Проектирование программного обеспечения интеллектуальной системы распознавания отходов - Студенческий научный форум

XIV Международная студенческая научная конференция Студенческий научный форум - 2022

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

Якимайнен Д.С. 1
1Белгородский государственный национальный исследовательский университет НИУ "БелГУ"
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Для реализации технического зрения предлагается использовать архитектуру YOLOv4, построенная по принципу singleshot-детектора. Обращение к каждому кадру видеопотока происходит 1 раз, что повышает производительность до зоны, в которой возможно применение системы распознавания и классификации без задержек, то есть в режиме реального времени.

Помимо решения задачи классификации средствами YOLO [1], также необходимо производить максимально точный трекинг обнаруженных отходов на движимой линии. Данный вопрос усложняется, если рассматривать конвейер с отходами как движимую поверхность. Могут случаться ситуации, когда мусор ненадолго пропадает из поля видимости оптического модуля или оказывается в нераспознаваемом положении. Нейросетевые алгоритмы либо потеряют объект, либо затратят большой ресурс на поиск и потеряют в эффективности.

В устранение этого недостатка следует дополнительно применить методы, закладываемые фреймворком DeepSort. Это дает прибавку сразу по нескольким показателям:

 становится возможным распараллелить нагрузку между роботами;

 обнаружить объект заново, не затрачивая дополнительных ресурсов, тем самым повышая общий FPS распознавания и классификации. По окончанию проведенного анализа и выбора необходимых подходов можно перейти к разработке предлагаемого решения по части ПО.

Интерфейс приложения написан с помощью фреймворка PySimpleGUI. Он основан на идее использования жизненного цикла объекта window до тех пор, пока выполняется цикл while(true). Интерфейсы окна задаются layout-ами, вызываемыми в цикле.

С помощью фреймворка была создана многоуровневая структура программного приложения. Главное окно, выводимое при запуске приложения, представлен на рисунке 1:

Рисунок 1 – Стартовое окно программы

Для начала рассмотрим, какие функции приложения вызываются по нажатиям на кнопки в строковом меню, и какой код отвечает за их функционал. Во вкладке «Инфо» находится окно с информацией о приложении. Для настроек распознавателя были разработаны окна программы, задающие основные параметры настройки. Опции задаются через флаги, прописываемые в коде [2]:

Рисунок 2 – Настройки распознавателя

Получаемые с вебкамеры данные бинаризируются и пропускаются через нейросетевой аппарат фреймворка TensorFlow [3]. Возвращающимися значениями будут набор bounding boxes и коэффициентов предсказания. В дальнейшем они обрабатываются кодом на рисунке 3 и визуализируются в специально разработанном окне программы 4:

Рисунок 3 – Работа нейросети

Ра 4 – Результат работы нейросети

Для обучения технического зрения был создан датасет, состоящий из 2500 уникальных изображений классов отходов на класс. В рамках курсового проекта этими классами выступали «bottle» (бутылка) и «metal can» (жестяная банка).

Тестирование обучения было проведено следующим образом – подсистеме был отдан под обработку видеофайл длительностью одну минуту, содержащий 30 объектов отходов. Нейросеть должна правильно распознать, классифицировать и вывести необходимую информацию о результатах на экран. Тестирование было проведено успешно, его результаты представлены на рисунке 5:

Были достигнуты отличные показатели распознавания, не распозналась лишь 1 бутылка.

Список использованных источников:

1. Bochkovskiy A,, Wang C., Liao H. YOLOv4: Optimal Speed and Accuracy of Object Detection [Электронныйресурс]. – Режимдоступа URL: https://arxiv.org/abs/2004.10934 (датаобращения 10.12.2021).

2. Горелов А.И. Обучение сети yolo для распознавания отходов в городской среде // Вестник науки и образования. 2019. №9-4 (63). [Электронный ресурс]. – Режим доступа URL: https://cyberleninka.ru/article/n/obuchenie-seti-yolo-dlya-raspoznavaniya-othodov-v-gorodskoy-srede (дата обращения: 09.12.2021).

3. Документация Tensorflow [Электронный ресурс]. – Режим доступа URL: https://www.tensorflow.org/ (дата обращения 10.12.2021).

Просмотров работы: 11