Научная статья на тему 'РАЗРАБОТКА СИСТЕМЫ ОПРЕДЕЛЕНИЯ ПЕРЕМЕЩЕНИЯ РАБОЧИХ НА ПРОИЗВОДСТВЕ НА ОСНОВЕ OPENCV И АЛГОРИТМА ОДНОСТАДИЙНОГО ДЕТЕКТОРА'

РАЗРАБОТКА СИСТЕМЫ ОПРЕДЕЛЕНИЯ ПЕРЕМЕЩЕНИЯ РАБОЧИХ НА ПРОИЗВОДСТВЕ НА ОСНОВЕ OPENCV И АЛГОРИТМА ОДНОСТАДИЙНОГО ДЕТЕКТОРА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
158
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ СИСТЕМ / МАШИННОЕ ОБУЧЕНИЕ / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / НЕЙРОННЫЕ СЕТИ / ДЕТЕКЦИЯ ДВИЖЕНИЯ / ОДНОСТАДИЙНЫЙ ДЕТЕКТОР / YOLO / АЛГОРИТМ ОБРЕЗКИ ВИДЕО

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Логиновский Олег Витальевич, Шинкарев Александр Андреевич, Коваль Максим Евгеньевич, Ядрышникова Мария Викторовна, Стародубцев Дмитрий Владимирович

Известно, что компании стараются сократить свои затраты на производство. Одним из эффективных способов сокращения затрат является автоматизация процессов. Например, замещение сотрудников различными роботами или информационными системами. Зачастую при строительстве или другом масштабном производстве требуется мониторинг работы сотрудников. В самом простом варианте мониторинг может осуществляться с помощью видеокамер и сотрудников, которые просматривают записи с этих камер. Это влечет за собой затраты на оплату труда сотрудников, налоги и другие отчисления. Изменить такой процесс мониторинга можно с помощью систем слежения за перемещением рабочих. Внедрив такую информационную систему в производство, можно сократить расходы, которые были описаны выше. На сегодняшний день алгоритмы машинного обучения и компьютерного зрения довольно сильно развились и позволяют реализовывать такие системы слежения. Существуют уже готовые варианты систем слежения на базе алгоритмов компьютерного зрения, но они имеют высокую стоимость, что подходит только для крупных производств. Другим вариантом является разработка собственной системы слежения, которая будет учитывать специфику организации, в которой планируется ее внедрение. Цель исследования: рассмотреть технологии, с помощью которых можно построить систему слежения, и предложить реализацию системы слежения за рабочими с применением алгоритмов машинного обучения и нейронных сетей. Материалы и методы. Рассматриваются существующие решения систем мониторинга на базе технологий RFID, компьютерного зрения, GPS и датчиков движения. Приводятся их плюсы и минусы. Рассматриваются существующие способы для детекции движения с использованием компьютерного зрения. Приводится обзор существующих алгоритмов для обнаружения рабочего в специализированном костюме. Рассматривается алгоритм YOLOv5, который состоит из backbone, neck и head. Результаты. В статье авторами приводится описание рассматриваемых алгоритмов машинного обучения, компьютерного зрения и нейронных сетей. Предлагается реализация системы мониторинга за рабочими. Дается описание модулей, из которых состоит система слежения, приводится схема взаимодействия модулей. Описывается разработка алгоритма детекции движения и алгоритма определения рабочего в специальной форме.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Логиновский Олег Витальевич, Шинкарев Александр Андреевич, Коваль Максим Евгеньевич, Ядрышникова Мария Викторовна, Стародубцев Дмитрий Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF SYSTEM FOR DETECTING MOVEMENTS OF WORKERS IN WORKPLACE BASED ON OPENCV AND ONE-STAGE DETECTOR ALGORITHM

It is a known fact that companies strive to cut their production costs. One of the most effective ways to reduce costs is to automate processes, for example, replacing employees with various robots or information systems. Often, at a construction site or a large-scale production, it is necessary to monitor employees' work. In its simplest form, monitoring can be carried out with the help of video cameras and people who view recordings from these cameras. However, this entails labor costs, taxes and other expenses. So, what one can do instead is introduce a system that tracks movements of workers, which will likely reduce the costs described above. To this day, machine learning and computer vision algorithms have developed quite strongly and allow the implementation of such tracking systems. There are already ready-made versions of tracking systems based on computer vision algorithms, but they are expensive, which makes them suitable only for large-scale industries. Another option is to develop your own tracking system, taking into account the nature of the business in which you plan to implement it. Aim. The authors aim at analyzing technologies that can be used to develop a system for tracking workers’ movements and proposing an implementation of such a system using machine learning algorithms and neural networks. Materials and methods. The authors give an overview of current solutions of monitoring systems based on RFID technologies, computer vision, GPS, and motion sensors, highlighting their pros and cons. The authors consider existing methods for motion detection based on computer vision and review known algorithms for detecting workers in special clothing. The YOLOv5 algorithm, consisting of backbone, neck and head, is considered in detail. Results. In the article, the authors provide a description of algorithms used for machine learning, computer vision, and neural networks. They propose an implementation of a system monitoring workers’ movements. They describe the modules that make up the tracking system and a diagram of the interaction of the modules, as well as the development of a motion detection algorithm and an algorithm for determining workers in special clothing.

Текст научной работы на тему «РАЗРАБОТКА СИСТЕМЫ ОПРЕДЕЛЕНИЯ ПЕРЕМЕЩЕНИЯ РАБОЧИХ НА ПРОИЗВОДСТВЕ НА ОСНОВЕ OPENCV И АЛГОРИТМА ОДНОСТАДИЙНОГО ДЕТЕКТОРА»

Научная статья

УДК 62; 004; 007

DOI: 10.14529/ctcr230203

РАЗРАБОТКА СИСТЕМЫ ОПРЕДЕЛЕНИЯ ПЕРЕМЕЩЕНИЯ РАБОЧИХ НА ПРОИЗВОДСТВЕ НА ОСНОВЕ OPENCV И АЛГОРИТМА ОДНОСТАДИЙНОГО ДЕТЕКТОРА

О.В. Логиновский1, loginovskiyo@mail.ru, https://orcid.org/0000-0003-3582-2795

А.А. Шинкарев2, sania.kill@mail.ru

М.Е. Коваль1, kovalmax06@gmail.com

М.В. Ядрышникова1, reeyardma@gmail.com

Д.В. Стародубцев1, starodubtcev.d.v@gmail.com

Южно-Уральский государственный университет, Челябинск, Россия 2 Индивидуальный предприниматель Шинкарев А.А., Челябинск, Россия

Аннотация. Известно, что компании стараются сократить свои затраты на производство. Одним из эффективных способов сокращения затрат является автоматизация процессов. Например, замещение сотрудников различными роботами или информационными системами. Зачастую при строительстве или другом масштабном производстве требуется мониторинг работы сотрудников. В самом простом варианте мониторинг может осуществляться с помощью видеокамер и сотрудников, которые просматривают записи с этих камер. Это влечет за собой затраты на оплату труда сотрудников, налоги и другие отчисления. Изменить такой процесс мониторинга можно с помощью систем слежения за перемещением рабочих. Внедрив такую информационную систему в производство, можно сократить расходы, которые были описаны выше. На сегодняшний день алгоритмы машинного обучения и компьютерного зрения довольно сильно развились и позволяют реализовывать такие системы слежения. Существуют уже готовые варианты систем слежения на базе алгоритмов компьютерного зрения, но они имеют высокую стоимость, что подходит только для крупных производств. Другим вариантом является разработка собственной системы слежения, которая будет учитывать специфику организации, в которой планируется ее внедрение. Цель исследования: рассмотреть технологии, с помощью которых можно построить систему слежения, и предложить реализацию системы слежения за рабочими с применением алгоритмов машинного обучения и нейронных сетей. Материалы и методы. Рассматриваются существующие решения систем мониторинга на базе технологий RFID, компьютерного зрения, GPS и датчиков движения. Приводятся их плюсы и минусы. Рассматриваются существующие способы для детекции движения с использованием компьютерного зрения. Приводится обзор существующих алгоритмов для обнаружения рабочего в специализированном костюме. Рассматривается алгоритм YOLOv5, который состоит из backbone, neck и head. Результаты. В статье авторами приводится описание рассматриваемых алгоритмов машинного обучения, компьютерного зрения и нейронных сетей. Предлагается реализация системы мониторинга за рабочими. Дается описание модулей, из которых состоит система слежения, приводится схема взаимодействия модулей. Описывается разработка алгоритма детекции движения и алгоритма определения рабочего в специальной форме.

Ключевые слова: автоматизация систем, машинное обучение, компьютерное зрение, нейронные сети, детекция движения, одностадийный детектор, YOLO, алгоритм обрезки видео

Для цитирования: Разработка системы определения перемещения рабочих на производстве на основе OpenCV и алгоритма одностадийного детектора / О.В. Логиновский, А.А. Шинкарев, М.Е. Коваль и др. // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2023. Т. 23, № 2. С. 28-39. DOI: 10.14529/ctcr230203

© Логиновский О.В., Шинкарев А.А., Коваль М.Е., Ядрышникова М.В., Стародубцев Д.В., 2023

Original article

DOI: 10.14529/ctcr230203

DEVELOPMENT OF SYSTEM FOR DETECTING MOVEMENTS OF WORKERS IN WORKPLACE BASED ON OPENCV AND ONE-STAGE DETECTOR ALGORITHM

O.V. Loginovskiy1, loginovskiyo@mail.ru, https://orcid.org/0000-0003-3582-2795

A.A. Shinkarev2, sania.kill@mail.ru

M.E. Koval1, kovalmax06@gmail.com

M.V. Yadryshnikova1, reeyardma@gmail.com

D.V. Starodubtcev1, starodubtcev.d.v@gmail.com

South Ural State University, Chelyabinsk, Russia 2 Sole proprietor Shinkarev A.A., Chelyabinsk, Russia

Abstract. It is a known fact that companies strive to cut their production costs. One of the most effective ways to reduce costs is to automate processes, for example, replacing employees with various robots or information systems. Often, at a construction site or a large-scale production, it is necessary to monitor employees' work. In its simplest form, monitoring can be carried out with the help of video cameras and people who view recordings from these cameras. However, this entails labor costs, taxes and other expenses. So, what one can do instead is introduce a system that tracks movements of workers, which will likely reduce the costs described above. To this day, machine learning and computer vision algorithms have developed quite strongly and allow the implementation of such tracking systems. There are already ready-made versions of tracking systems based on computer vision algorithms, but they are expensive, which makes them suitable only for large-scale industries. Another option is to develop your own tracking system, taking into account the nature of the business in which you plan to implement it. Aim. The authors aim at analyzing technologies that can be used to develop a system for tracking workers' movements and proposing an implementation of such a system using machine learning algorithms and neural networks. Materials and methods. The authors give an overview of current solutions of monitoring systems based on RFID technologies, computer vision, GPS, and motion sensors, highlighting their pros and cons. The authors consider existing methods for motion detection based on computer vision and review known algorithms for detecting workers in special clothing. The YOLOv5 algorithm, consisting of backbone, neck and head, is considered in detail. Results. In the article, the authors provide a description of algorithms used for machine learning, computer vision, and neural networks. They propose an implementation of a system monitoring workers' movements. They describe the modules that make up the tracking system and a diagram of the interaction of the modules, as well as the development of a motion detection algorithm and an algorithm for determining workers in special clothing.

Keywords: system automation, machine learning, computer vision, neural networks, motion detection, one-stage detector, YOLO, video cropping algorithm

For citation: Loginovskiy O.V., Shinkarev A.A., Koval M.E., Yadryshnikova M.V., Starodubtcev D.V. Development of system for detecting movements of workers in workplace based on OpenCV and one-stage detector algorithm. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics. 2023;23(2):28-39. (In Russ.) DOI: 10.14529/ctcr230203

Введение

В настоящее время автоматизация производственных процессов является одним из основных трендов в промышленности. Реализация системы слежения за перемещением рабочих на производстве считается одним из ключевых шагов в этом направлении. Она позволяет увеличить эффективность производства, снизить затраты на оплату труда и сократить количество ошибок, возникших из-за человеческого фактора.

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

за процессом через видеокамеры, а также временных затрат, связанных с ежедневным просмотром большого количества накопившегося видеоматериала и его хранения.

Решить эту проблему может помочь система, которая позволяет выделять и сохранять необходимые части видеопотока, на которых происходят конкретные действия. Это поможет оптимизировать рабочие процессы, выявить уязвимости или провести оценку полезного времени рабочих в течение рабочего дня.

Данная система может помочь в решении следующих задач:

1) сокращение финансовых затрат для найма избыточной рабочей силы для отслеживания процессов на производстве;

2) оптимизация хранения видеоданных, содержащих информацию о рабочих процессах;

3) оптимизация процесса отслеживания рабочего времени сотрудников предприятия;

4) предотвращение воровства и других неправомерных действий на предприятии, а именно в технических помещениях;

5) отслеживание приезда технических служб и других наемных рабочих со стороны.

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

1. Обзор существующих решений

Существует несколько аналогов систем распознавания перемещения рабочих на производстве. Каждая из этих систем имеет свои преимущества и недостатки. Выбор системы зависит от конкретных условий и требований производства.

1.1. RFID

Одним из таких аналогов является система автоматического перемещения рабочих на производстве, которая использует технологию RFID (Radio-Frequency Identification). Система RFID позволяет автоматически отслеживать перемещение рабочих на производстве и управлять производственным оборудованием в соответствии с требованиями производственного процесса. Эта система позволяет значительно снизить время на слежение за перемещениями рабочих на производстве, что повышает производительность и эффективность работы предприятия. Однако стоимость установки системы RFID может быть высокой, что может снизить экономическую эффективность проекта [1].

1.2. Компьютерное зрение

Другим аналогом является система управления производственным процессом на основе технологии машинного зрения. Эта система позволяет автоматически отслеживать перемещение рабочих на производстве и управлять производственным оборудованием в соответствии с требованиями производственного процесса. Система машинного зрения может быть более эффективной, чем система RFID, так как она позволяет более точно определять перемещение рабочих на производстве и управлять производственным оборудованием с большей точностью. Однако стоимость установки и настройки системы машинного зрения может быть высокой, что также может снизить экономическую эффективность проекта.

1.3. GPS

Кроме того, существуют также системы отслеживания движения рабочих, которые используют технологию GPS для определения местоположения рабочих на производстве и управления их перемещением [2]. Эта система может быть эффективной в тех случаях, когда перемещение рабочих происходит на больших территориях, таких как строительные площадки или склады. Однако в помещениях, где сигнал может быть затруднен, применение технологии GPS ограничено.

1.4. Датчики движения

Также стоит упомянуть о физических устройствах, которые фиксируют перемещение объектов, - датчики движения. Такие устройства сигнализируют о движении в определенной зоне видимости и могут быть полезны для наблюдения за небольшими помещениями [3]. Но стоит отметить, что подобные системы имеют ограниченный функционал, не обеспечивающий обработку сложных задач, таких как точное отслеживание перемещений рабочих на производстве, а только могут уведомлять о любых перемещениях в наблюдаемой зоне.

Таким образом, каждая из этих систем имеет свои преимущества и недостатки, и выбор конкретной системы зависит от конкретных условий и требований производства. Далее в статье рассматривается система на основе машинного зрения для определения движения рабочих на производстве, так как данный подход не требует специализированного оборудования, его можно реализовать с помощью ip-камер, которые скорее всего уже установлены на предприятии. В качестве реального примера в статье рассматривается разработанное нами решение для использования на производстве, цели которого заключались в сохранении видео в периоды использования помещения рабочими и слежении за движением рабочего в специализированном костюме.

2. Описание системы

2.1. Составные части системы. Архитектура

Для реализации системы, которая будет решать описанные во введении проблемы, понадобятся следующие модули.

1. Модуль распределения процессов слежения за несколькими камерами и назначения обработчика определенного типа.

Данный модуль получает информацию о камерах, за которыми необходимо настроить наблюдение, и в зависимости от типа события, которое необходимо определить на видеопотоке, назначает обработчик полученного типа события. Модуль предоставляет возможность параллельной обработки потока кадров с нескольких видеокамер.

2. Модуль для считывания кадров из видеопотока.

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

3. Модуль для обработки полученных кадров из видеопотока.

На вход модуля подается кадр из модуля считывания, который необходимо обработать в соответствии с типом входного события. Данный модуль должен возвращать информацию о том, есть ли событие на кадре, которое необходимо определить, и передавать кадр в модуль для записи отрезков видео.

4. Модуль для записи отрезков видео, на которых обнаружены события.

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

5. Модуль сохранения информации о событии в базу данных на сервере.

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

6. Модуль сохранения видеофайла с событием в хранилище.

Данный модуль принимает на вход видео, содержащее обнаруженное событие. Модуль формирует наименование для видео и путь до файла внутри хранилища, после чего помещает видео по сформированному пути.

На рис. 1 изображена схема взаимодействия описанных модулей.

Модуль распределения процессов слежения

1

Модуль считывания кадров из видеопотока

1

Модуль обра сотки кадров

1 1

Модуль записи видео

1 F

Модуль сохранения информации о событии БЕД Модуль сохранения видео в хранилище

Рис. 1. Схема аутентификации на основе многоразового пароля Fig. 1. Reusable Password Authentication Scheme

3. Обзор существующих способов для детекции движения

с использованием компьютерного зрения

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

1) нейронные сети для детектирования человека в кадре;

2) выявление критичных изменений в последовательности кадров из видеоряда.

Эти методы сильно различаются по сложности реализации и интеграции в систему на основе компьютерного зрения.

Среди преимуществ подхода, использующего нейронные сети для нахождения человека в кадре, можно выделить следующие:

1) более качественное распознавание движения: не каждое изменение в кадре будет определяться как движение, только появление человека на сцене будет идентифицировано как подходящее под эту категорию;

2) возможность разделить рабочих в кадре по их форме на классы: в таком случае будет учитываться не только сам факт движения на видеоряде, но и профиль рабочего, находящегося в помещении с установленной камерой.

Среди минусов такого подхода можно выделить:

1) более высокое потребление мощностей устройства, на котором будет размещена система с применением нейросетевых алгоритмов;

2) необходимость в формировании набора данных для обучения нейронной сети: при желании классифицировать рабочих по специализированной рабочей форме такой набор данных не-

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

3) настройка архитектуры нейронной сети для быстроты классификации, приближенной к реальному времени.

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

Такой подход избавляет почти от всех минусов использования нейронных сетей, но при этом он имеет несколько недостатков.

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

2. Нет возможности классифицировать дополнительные признаки движения, можно лишь определить, было движение в кадре или нет.

Оптимально выбрать подход, который подойдет для решения, можно, лишь установив цель применения алгоритма.

3.1. Выбор алгоритма для детекции движения

Как уже было сказано во введении, для рассматриваемой системы стояла следующая цель: сохранить участки видеопотока в периоды использования помещения рабочими. В остальное время было исключено перемещение предметов или резкое изменение света на сцене. В данном случае оптимальным выбором стал алгоритм, базирующийся на сравнении кадров. Самым популярным инструментом для обработки видеокадров является библиотека OpenCV [4], которая предоставляет алгоритмы компьютерного зрения, обработки изображений и численных алгоритмов общего назначения.

Данный способ является одной из возможных реализаций в модуле обработки кадров в нашей системе.

Для реализации такого алгоритма необходимо выполнить следующие шаги.

1. К поступившему кадру применить размытие по Гауссу [5] с помощью функции blur библиотеки OpenCV, чтобы избавиться от артефактов и смазок кадров, которые возникают при использовании нестабильного оборудования и могут быть ошибочно приняты алгоритмом за движение.

2. Перевести кадр в градации серых тонов с помощью функции cvtColor, поскольку это облегчит дальнейшую обработку изображения: определять изменения в кадре на уровне пикселей проще, используя одноканальную модель представления изображения [6], а не сравнивая все каналы.

3. Необходимо всегда хранить «усредненный» кадр (скользящее среднее), с которым будет проводиться сравнение вновь поступивших кадров. Этот кадр строится на основе предыдущей цепочки кадров. При каждом новом поступлении кадра нужно рассчитывать новое скользящее среднее. Достигнуть этой цели можно с применением функции accumulateWeighted.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

6. После этого применить функцию dilate к изображению, чтобы объединить некоторые разорванные куски после использования порогового фильтра, чтобы более явно была обозначена разница кадров.

7. Затем с помощью функции findContours найти на изображении, полученном в шаге 6, контуры изменений [7].

8. В цикле по всем найденным контурам установить условие, которое проверяет, что площадь контура больше, чем минимально заданная площадь: подбирать минимально заданную площадь также следует экспериментальным путем.

9. Считается, что при наличии контура больше заданной минимальной площади в кадре происходило движение. Найти положение этого контура на изображении можно с помощью функции boundingRect, а выделить этот контур на исходном кадре, пришедшем с видеопотока, с помощью функции rectangle.

В кадре возможно присутствие участков, которые могут содержать движения, но их нежелательно отслеживать. Такими участками могут быть окна, дверные проемы и т. п. В таких случаях необходимо определить координаты нежелательных для рассмотрения участков и зафиксировать состояние пикселей, что позволит избежать ложных срабатываний в процессе определения усредненного кадра, или при обработке контуров не учитывать те, которые входят в состав таких областей.

Пример срабатывания алгоритма в условиях производства можно увидеть на рис. 2 (ист. https://mixkit.co/free-stock-video-/doctor-wearing-mask-and-gloves-for-protection-4745/).

Рис. 2. Пример срабатывания алгоритма определения движения Fig. 2. An example of the operation of the motion detection algorithm

4. Обзор существующих алгоритмов для обнаружения рабочего

в специализированном костюме

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

Одностадийные детекторы, такие как SSD (Single Shot Detector) [8] и YOLO (Y ou Only Look Once) [9], проходят по изображению с помощью алгоритма скользящего окна только один раз и строят карты признаков, после чего проводят манипуляции над полученными картами признаков и получают координаты объектов. Эти детекторы работают быстрее, чем многостадийные детекторы, но могут иметь более низкую точность. Они были разработаны для ускорения процесса обработки изображений, что делает их идеальным выбором для приложений, где скорость является ключевым фактором. Одностадийные детекторы могут быть использованы во многих приложениях, таких как системы безопасности, отслеживание объектов, автомобильная безопасность, робототехника и медицинские приложения.

Многостадийные детекторы, такие как Faster R-CNN (Region-based Convolutional Neural Network) [10] и Mask R-CNN [11], работают медленнее, но могут иметь более высокую точность. Эти архитектуры проходят несколько раз по изображению с помощью метода скользящего окна, что позволяет более точно определять координаты объектов. Многостадийные детекторы используют метод обнаружения объектов, который разбивает изображение на более мелкие регионы и

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

Кроме того, после того как детектор найдет объект на изображении, есть возможность выделить эту область и подать на вход классификатора, который определит, к какому типу объекта относится данный участок. Во многих случаях детекторы содержат в себе классификатор, который после первичной обработки определяет тип найденного объекта.

4.1. Выбор алгоритма для обнаружения рабочего в специализированном костюме

Для рассматриваемой системы более подходящим алгоритмом детектирования является одностадийный детектор. В нашей реализации мы использовали архитектуру YOLOv5, так как на момент разработки описываемой системы архитектура являлась передовой среди одностадийных детекторов. Данный подход позволяет в реальном времени обрабатывать кадры видеопотока с высокой скоростью и, помимо этого, сократить потребление ресурсов процессора, что позволит запускать систему не на специализированных серверах для работы с нейронными сетями, а на персональном компьютере.

Рассмотрим топологию архитектуры YOLOv5, которая состоит из Backbone, Neck и Head [12]. Топология архитектуры YOLOv5 изображена на рис. 3 (ист. https://img-blog.csdnimg.cn/ 20210425231450612.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10, text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1ExdTFORw==,size_16,color_FFFFFF,t_70).

(In channeliOut channel.kernel sizejEtride); (ln_channel,OLit_channel); (out channel)

[Backbone 1 Metk(PANet)

Рис. 3. Топология архитектуры YOLOv5 Fig. 3. Topology of the YOLOv5 architecture

4.1.1. Backbone

Backbone - это основная часть нейросети, отвечающая за выделение признаков из изображений и формирование информативных карт признаков, на основе которых дальнейшие слои сети осуществляют классификацию, регрессию или обнаружение объектов. Слой Backbone в YOLOv5 состоит из серии сверточных слоев [13], которые обрабатывают входное изображение и извлекают из него информацию о признаках объектов. Эта информация затем передается в дальнейшие слои сети для обработки.

4.1.2. Neck

Слой Neck использует признаки, полученные от компонента обнаружения объектов Backbone, для создания трех карт признаков разных размеров с использованием нейронной сети, которая имеет архитектуру PAN (Pyramid Attention Network) [14] и изображена на рис. 4 (ист. https://img2018.cnblogs.com/blog/1439008/201811/1439008-20181128115656046-1491818320.png).

Рис. 4. Архитектура PAN Fig. 4. PAN architecture

4.1.3. Head

Head используется для определения и классификации объектов, используя карты признаков, полученные от Backbone. Эта часть модели имеет три выхода, каждый из которых заканчивается сверточными и полносвязными слоями. Для устранения множественного определения одного и того же объекта применяется алгоритм Non-maximum suppression (NMS) [15].

На рис. 5 (ист. https://burst.shopify.com/photos/construction-workers-meeting?q=workers+in+ reflective+vests) изображен пример определения рабочего в специализированном костюме.

Рис. 5. Пример определения рабочего в специализированном костюме Fig. 5. An example of detecting a worker in special clothing

5. Разработка алгоритма обрезки видео при срабатывании модели

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

Модуль записи видео содержит в себе два буфера: буфер, который хранит кадры с несколькими секундами перед началом события, реализованный по принципу first in - first out и имеющий ограниченную размерность, и буфер, который хранит кадры с несколькими секундами после окончания события.

Рассмотрим алгоритм для обрезки видео из видеопотока.

1. Модуль обработки кадров должен передавать обработанный кадр в модуль записи видео.

2. Если пришел новый кадр, на котором обработчик определил событие, необходимо записать кадры из первого буфера сразу в видеофайл, чтобы не держать эти кадры в оперативной памяти устройства.

3. После этого кадр, на котором было определено событие, также добавляется в видеофайл.

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

5. В случае начала нового события в момент, когда второй буфер еще не переполнен, кадры из буфера необходимо также записать в видеофайл.

6. Если второй буфер переполнился, считается, что запись видеофайла нужно остановить и ожидать следующего появления кадра с событием. В это время все кадры, на которых не было идентифицировано событие, добавляются в первый буфер.

Заключение

В настоящее время автоматизация производственных процессов является одним из основных трендов в промышленности. Компании стремятся оптимизировать свою работу, чтобы повысить эффективность производства, снизить затраты на оплату труда и сократить количество ошибок, возникших из-за человеческого фактора. Реализация системы слежения за перемещением рабочих на производстве считается одним из ключевых шагов в этом направлении. Система слежения за перемещением рабочих на производстве помогает оптимизировать рабочие процессы, выявлять уязвимости и проводить оценку полезного времени рабочих в течение рабочего дня. Круглосуточное слежение за процессами, происходящими на производстве, требует финансовых затрат на обеспечение рабочих, наблюдающих за процессом через видеокамеры, а также временных затрат, связанных с ежедневным просмотром большого количества накопившегося видеоматериала и его хранения.

В ходе данной статьи была рассмотрена одна из возможных архитектур системы, целью которой является определение перемещения рабочих на производстве. Были рассмотрены модули, необходимые для применения технологии ML в системе контроля рабочего процесса, позволяющие обрабатывать видеопоток, выявлять события с движениями рабочих и сохранять их. Предложенный вариант архитектуры системы не единственный, но помогает распределить задачи для разных модулей в понятном порядке.

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

Список литературы/References

1. Raptopoulos A., Yioultsis T., Dimitriou A.G. Particle Filter Object Tracking by a Handheld UHF RFID Reader. In: 2019 IEEE International Conference on RFID Technology and Applications (RFID-TA). Pisa, Italy; 2019. P. 342-347. DOI: 10.1109/RFID-TA.2019.8892060

2. Yefymenko O., Pluhina T., Yefymenko P. Features of testing bulldozer control system with a GPS intensifier. Bulletin of Kharkov National Automobile and Highway University. 2022;3.

3. Agha M., Augustine B., Lovich J. et al. Using motion-sensor camera technology to infer seasonal activity and thermal niche of the desert tortoise (Gopherus agassizii). Journal of Thermal Biology. 2015;49-50:119-126. DOI: 10.1016/j.jtherbio.2015.02.009

4. OpenCV. Available at: https://opencv.org/ (accessed 19.02.2023).

5. Bergstrom A., Conran D., Messinger D. Gaussian Blur and Relative Edge Response. Electrical Engineering and Systems Science. 2023;1. DOI: 10.48550/arXiv.2301.00856

6. Rajapakse J.C., Giedd J.N., Rapoport J.L. Statistical approach to segmentation of singlechannel cerebral MR images. IEEE Transactions on Medical Imaging. 1997; 16(2): 176-186. DOI: 10.1109/42.563663

7. Vinokurov I.V. Using a convolutional neural network to recognize text elements in poor quality scanned images. Program Systems: Theory and Applications. 2022;13(3):45-59. DOI: 10.25209/20793316-2022-13-3-29-43

8. Vatresia A., Faurina R., Vivin R., Indra A. Automatic Fish Identification Using Single Shot Detector. Communication and Information Technology Journal. 2022;16(2):167-174. DOI: 10.21512/commit.v 16i2.8126

9. Wei Bai, Jingyi Zhao, Chenxu Dai et al. Two Novel Models for Traffic Sign Detection Based on YOLOv5s. Axioms. 2023;12(2):160. DOI: 10.3390/axioms12020160

10. Jianjing An, Dezheng Zhang, Ke Xu, Dong Wang. An OpenCL-Based FPGA Accelerator for Faster R-CNN. Entropy. 2022;24(10):1346. DOI: 10.3390/e24101346

11. Sahin M.E., Ulutas H., Yuce E., Erkoc M.F. Detection and classification of COVID-19 by using faster R-CNN and mask R-CNN on CT images. Neural Computing and Applications. March 2023. DOI: 10.1007/s00521-023-08450-y

12. Snegireva D., Perkova A. Traffic Sign Recognition Application Using Yolov5 Architecture. In: 2021 International Russian Automation Conference (RusAutoCon). Sochi, Russian Federation; 2021. P. 1002-1007. DOI: 10.1109/RusAutoCon52004.2021.9537355

13. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение: пер. с англ. М.: ДМК Пресс, 2018. 652 с. [Goodfellow I., Bengio Y., Courville A. Deep Learning. Transl. from Engl. Moscow: DMK Press; 2018. 652 p.]

14. Zhou M., Huang J., Fang Y., Fu X., Liu A. Pan-sharpening with customized transformer and invertible neural network. In: Proceedings of the AAAI Conference on Artificial Intelligence. 2022;36(3):3553-3561. DOI: 10.1609/aaai.v36i3.20267

15. Guo C., Cai M., Ying N. et al. ANMS: attention-based non-maximum suppression. Multimedia Tools and Applications. 2022;81(1):1-15. DOI: 10.1007/s11042-022-12142-5

Информация об авторах

Логиновский Олег Витальевич, д-р техн. наук, проф., заведующий кафедрой информационно-аналитического обеспечения управления в социальных и экономических системах, ЮжноУральский государственный университет, Челябинск, Россия; loginovskiiov@susu.ru.

Шинкарев Александр Андреевич, канд. техн. наук, руководитель, Индивидуальный предприниматель Шинкарев А.А., Челябинск, Россия; sania.kill@mail.ru.

Коваль Максим Евгеньевич, аспирант кафедры информационно-аналитического обеспечения управления в социальных и экономических системах, Южно-Уральский государственный университет, Челябинск, Россия; kovalmax06@gmail.com.

Ядрышникова Мария Викторовна, магистрант кафедры системного программирования, Южно-Уральский государственный университет, Челябинск, Россия; reeyardma@gmail.com.

Стародубцев Дмитрий Владимирович, магистрант кафедры системного программирования, Южно-Уральский государственный университет, Челябинск, Россия; starodubtcev.d.v@gmail.com.

Information about the authors

Oleg V. Loginovskiy, Dr. Sci. (Eng.), Prof., Head of the Department of Informational and Analytical Support of Control in Social and Economic Systems, South Ural State University, Chelyabinsk, Russia; loginovskiiov@susu.ru.

Aleksandr A. Shinkarev, Cand. Sci. (Eng.), Head, Sole Proprietor Shinkarev A.A., Chelyabinsk, Russia; sania.kill@mail.ru.

Maksim E. Koval, Postgraduate Student of the Department of Informational and Analytical Support of Control in Social and Economic Systems, South Ural State University, Chelyabinsk, Russia; kovalmax06@gmail.com.

Maria V. Yadryshnikova, Master's Student of the Department of System Programming, South Ural State University, Chelyabinsk, Russia; reeyardma@gmail.com.

Dmitriy V. Starodubtcev, Master's Student of the Department of System Programming, South Ural State University, Chelyabinsk, Russia; starodubtcev.d.v@gmail.com.

Статья поступила в редакцию 28.02.2023

The article was submitted 28.02.2023

i Надоели баннеры? Вы всегда можете отключить рекламу.