Вестник Череповецкого государственного университета. 2022. № 6 (111). С. 79-88. Cherepovets State University Bulletin, 2022, no. 6 (1101), pp. 79-88.
Научная статья УДК 303.732.4
https://doi.org/10.23859/1994-0637-2022-6-111-6
Технологии компьютерного зрения и методы машинного обучения в задаче разработки системы промышленной видеоаналитики
Георгий Германович Рапаков10 , Леонид Леонидович Малыгин2,
Ольга Станиславовна Пчелкина3
1 ^Вологодский государственный университет,
Вологда, Россия, 2ООО «Малленом Системс», Череповец, Россия
'[email protected], https://orcid.org/0000-0001-8996-0136
[email protected] [email protected]
Аннотация. Публикация отражает результаты применения методов машинного обучения и возможностей компьютерного зрения при разработке системы видеоаналитики в целях обеспечения промышленной безопасности. Выполнено исследование, объектом которого является технология интеграции системы видеоуправления. На основе применения интеллектуальных методов и технологий технического зрения разработан плагин для системы многофункционального программного обеспечения - VMS Milestone, который осуществляет интеграцию с программным интерфейсом приложений интеллектуальной системы обнаружения и сопровождения людей на видео - API ядра EYECONT. Результаты работы использованы в системе промышленной видеоаналитики для контроля производственной безопасности.
Ключевые слова: компьютерное зрение, машинное обучение, видеоаналитика Благодарность. Статья выполнена из средств субсидии федерального бюджета на разработку программ бакалавриата и программ магистратуры по профилю «искусственный интеллект», а также на повышение квалификации педагогических работников образовательных организаций высшего образования в сфере искусственного интеллекта (соглашение №075-15-2021-1039 от 28.09.2021).
Для цитирования: Рапаков Г. Г., Малыгин Л. Л., Пчелкина О. С. Технологии компьютерного зрения и методы машинного обучения в задаче разработки системы промышленной видеоаналитики // Вестник Череповецкого государственного университета. 2022. № 6 (111). С. 79-88. https://doi.org/10.23859/1994-0637-2022-6-111-6.
® Рапаков Г. Г., Малыгин Л. Л., Пчелкина О. С., 2022
Computer vision technologies and machine learning methods for developing an industrial video analytics system
Georgii G. Rapakov1H, Leonid L. Malygin2, Olga S. Pchelkina3,
1,3Vologda State University, Vologda, Russia, 2 OOO Mallenom Sistems (Mallenom Systems), Cherepovets, Russia, [email protected], https://orcid.org/0000-0001 -8996-0136
[email protected] [email protected]
Abstract. This article presents the results of the system approach to study the application of machine learning methods and computer vision capabilities for development of a video analytics system in order to ensure industrial safety. The object of the study is the technology of video control system integration. Based on the application of intelligent methods and computer vision technologies, a plugin for VMS Milestone has been developed. It integrates with the software interface of intelligent system applications for detecting and tracking people on the video EYECONT. The results were used in the industrial video analytics system to control industrial safety. Keywords: computer vision, machine learning, video analytics system
Acknowledgments. The article was funded by the federal budget subsidy for the development of bachelor's and master's programs of "Artificial intelligence"; for the advanced training of lecturers of higher education organizations in the field of artificial intelligence (agreement no. 075-15-2021-1039 dated 28.09.2021)
For citation: Rapakov G. G., Malygin L. L., Pchelkina O. S. Computer vision technologies and machine learning methods for developing an industrial video analytics system. Cherepovets State University Bulletin, 2022, no. 6 (111), pp. 79-88 (In Russ.). https://doi.org/10.23859/1994-0637-2022-6-111-6.
Введение
В настоящее время сохраняет свою актуальность задача применения технологий видеоаналитики (ВА) на основе машинного обучения (МО) и компьютерного зрения (КЗ) в условиях промышленной безопасности. Цель данной работы состоит в разработке плагина для системы VMS Milestone, который осуществляет интеграцию с API ядра EYECONT. В ходе разработки проекта были поставлены следующие задачи: ознакомление с концепцией EYECONT API SDK; изучение вариантов интеграции с SDK Milestone, выбор инструментальных средств; разработка программного обеспечения (ПО). Практическая значимость нашего исследования обусловлена уменьшением затрат на сопровождение технологий ВА, созданием единого интерфейса пользователей и перспективами импортозамещения. Подобный подход к решению производственных задач не нашел своего отражения в научной литературе.
Основная часть
Возможности современных компьютерных технологий позволяют широко внедрять видеоаналитику для обеспечения безопасности в промышленности, торговле, финансовом секторе, на транспорте и при управлении городским имуществом. Компания «Малленом Системс» является лидером разработки систем ВА и промышленного контроля на основе технологий КЗ и искусственного интеллекта в Вологодской области.
Интеллектуальная система (ИС) EYECONT является комплексным программным продуктом, который позволяет обнаружить человека на видео и определить его поведение. С использованием алгоритмов и методов КЗ в режиме реального времени обеспечивается: анализ видеопотоков с IP-камер, выделение людей и контроль за их перемещением и поведением, попаданием работников в опасные зоны; констатация положения дел при нештатных ситуациях (задымление, возгорание, обнаружение подозрительных объектов и пр.)1.
Многофункциональное ПО VMS Milestone XProtect эффективно применяется для управления системами видеонаблюдения. Так, VMS с использованием алгоритмов видеоанализа обеспечивает унифицированный интерфейс при работе с различными источниками видеоданных и осуществляет централизованный контроль за учетными записями операторов. Это упрощает управление системами видеонаблюдения. Сборка EYECONT API SDK включает в себя сервис искусственных нейронных сетей (ИНС) и зашифрованные файлы ИНС. Взаимодействие с сервисами EYECONT SDK реализовано с помощью клиентских библиотек, в которых находятся основные классы, методы и события [2].
Пакет ПО Milestone XProtect VMS обеспечивает функциональную совместимость средств управления доступом и оптимизированную среду пользователя, управление видеоданными и интеграцию протоколов, компонентов и MIP (Milestone Integration Platform) Plug-in. Выделяют следующие сценарии интеграций2:
1. Приложение с альтернативным пользовательским интерфейсом (Protocol).
2. Уведомление Matrix Wall (Protocol).
3. Добавление видеоконтента в существующее приложение (Component) (рис. 1).
4. Система сигнализации и мониторинга (Component) (рис. 2).
5. Жилая проверка (Component).
6. Улучшение умного клиента (Plug-in).
1 EYECONT. URL: https://eyecont.ru/#rec328752062 (дата обращения: 01.09.2022)
2 Milestone XProtect 2014 VMS. URL: http://lib.secuteck.ru/articles2/test/milestone-xprotect-2014-vms-vozmozhnosti-integratsii-novogo-pokoleniya (дата обращения: 01.09.2022); Analysis of Milestone integration formats // Google docs. URL: https://docs.google.com/document/ii/12F-rNg1oFjJAe8SFcUfcvnooOhQ2oERe3u4dVXxyiUA/edit (дата обращения: 01.09.2022); Welcome to the MIP SDK Documentation // Milestone Systems. URL: https://doc.developer. mile-stonesys.com/html/index.html (дата обращения: 01.09.2022); XProtect Smart Client frequently shows the message «Server lost connection to camera» (Live video frequently drops out) // Milestone Systems. URL: https://developer.milestonesys.com/s/article/XProtect-Smart-Client-frequently-shows-the-message-Server-lost-connection-to-camera-Live-video-frequently-drops-out (дата обращения: 01.09.2022)._
7. Интеграция аналитики с собственным сервером (Plug-in).
8. Интеграция аналитики с собственным сервером и видео с сервера изображений (Plug-in).
9. Интеграция аналитики с сервером событий XProtect (Plug-in).
10. Интеграция управления дисками (Plug-in).
Existing System
Рис. 1. Интеграция при добавлении видеоконтента в приложение
Рис. 2. Интеграция систем сигнализации и мониторинга
Анализ инструментов при написании программного обеспечения показал, что для реализации интеграции должны быть разработаны следующие плагины:
1. Milestone XProtect Management Client (плагин Admin) - для настройки файлов конфигурации сервиса ИНС и сервиса ядра, которые применяются в плагине Client.
2. Milestone XProtect Smart Client (плагин Client) - с отображением детекции, настройками зон контроля (ЗК) и контекстов обработки, выбором средств индивидуальной защиты (СИЗ).
Взаимодействие плагина с VMS Milestone согласно требованиям технического задания (ТЗ) представлено на рис. 3.
' Milestone Server
Milestone Event Server
Рис. 3. Взаимодействие плагина с VMS Milestone
Процесс выполнения работ (алгоритм) можно описать следующим образом. Milestone Server (1). Разработка плагинов на сервере не требуется. Адресная информация (1) используется для подключения к (3); Администратор (2). Выполняется разработка плагина, необходимого для выбора камер и передачи их данных на сервер
(3); Сервер (3). Получение видео с сервера Milestone ImageServer осуществляется через Media Toolkit, DirectShow Filter или через прямое подключение TCP/IP к серверу Milestone ImageServer. Результаты анализа отправляются на сервер событий XProtect через MIP SDK, используемый на сервере (3); Milestone XProtect Analytics
(4). Сервер событий Milestone XProtect хранит оповещения. Разработка плагинов не
требуется. Правило тревоги и управление такое же, как и для всех других событий; XProtect Smart Client (5). Разработка плагинов не требуется, поскольку стандартный плагин для управления сигнализациями используется для отображения аналитических сигналов тревоги.
Взаимодействие должно выполняться по следующей схеме: интеграция с помощью Media Toolkit, фильтра DirectShow или осуществляется подключение непосредственно к API Image Server. Данные о событиях аналитики отправляются на сервер событий XProtect для хранения и управления сигнализациями.
MIP SDK для создания интеграции плагинов поставляется с шаблоном Visual Studio на C#. Реализация интерфейса плагина Admin в шаблоне MIP SDK осуществляется пользовательскими контроллерами Windows Forms. Плагин Client может быть реализован как Windows Forms, так и WPF. В соответствии с ТЗ для разработки плагина Client используется WPF1.
На этапе разработки программного обеспечения в результате создания проекта для плагинов формируется стандартная структура шаблона MIP Plug-in. При этом используется богатый функционал MIP SDK - набора инструментов и библиотек от Milestone2. Для создания UI модели плагина Admin используется технология WinForms3.
Основными настройками плагина Client являются: создание контекста обработки; настройка зоны контроля - добавление, расположение, удаление; выбор СИЗ, которые обнаруживают в ЗК; получение событий. В ходе исследовательской работы реализованы: выбор камеры, воспроизведение видео с выбранной камеры, запуск и остановка видео, выбор настроек пользователя.
После выбора пользователя из числа созданных ранее в плагине Admin файлы с конфигурацией изменяются в зависимости от параметров, заданных пользователем. Для реализации этих изменений используются классы NetworkServiceEdit, ServiceEdit и метод SetConfig. Они принимают параметры конфигурации и преобразуют их в json-файлы.
1 A tour of the C# language // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp (дата обращения: 01.09.2022); Windows Forms overview // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4.8 (дата обращения: 01.09.2022); Tutorial: Create a simple WPF application with C# // Microsoft Docs. URL: https://docs.microsoft.com/en-us/visualstudio/designers/getting-started-with-wpf?view=vs-2022 (дата обращения: 01.09.2022); Introduction to WPF Controls // Milestone Systems. URL: https://doc.developer.milestonesys.com/html/reference/architecture/WPFIntroduction.html (дата обращения: 01.09.2022).
2 Welcome to the MIP SDK Documentation // Milestone Systems. URL: https://doc.developer.milestonesys.com/html/index.html (дата обращения: 01.09.2022).
3 Windows Forms overview // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4.8 (дата обращения: 01.09.2022)._
В ходе первого этапа работ по проекту при анализе методов и инструментов разработки плагина Milestone для программного обеспечения EYECONT было выполнено:
1.1 Изучение концепции EYECONT API SDK.
1.1.1 Обзор API и SDK.
1.1.2 Обзор системы EYECONT.
1.2 Анализ форматов интеграции с SDK Milestone.
1.2.1 Рассмотрены виды интеграции.
1.2.1.1 Интеграция протоколов.
1.2.1.2 Интеграция компонентов.
1.2.1.3 Интеграция MIP Plug-in.
1.2.2 Изучены сценарии интеграций.
1.2.2.1 Приложение с альтернативным пользовательским интерфейсом (Protocol).
1.2.2.2 Уведомление Matrix Wall (Protocol).
1.2.2.3 Добавление видеоконтента в существующее приложение (Component).
1.2.2.4 Система сигнализации и мониторинга (Component).
1.2.2.5 Жилая проверка (Component).
1.2.2.6 Улучшение умного клиента (Plug-in).
1.2.2.7 Интеграция аналитики с собственным сервером (Plug-in).
1.2.2.8 Интеграция аналитики с собственным сервером и видео с сервера изображений (Plug-in).
1.2.2.9 Интеграция аналитики с сервером событий XProtect (Plug-in).
1.2.2.10 Интеграция управления дисками (Plug-in).
1.3 Анализ инструментов для написания программного обеспечения.
Второй этап - разработка собственно программного обеспечения - проекта включал:
2.1 Формирование структуры программного обеспечения.
2.2 Создание плагина администратора.
2.3 Создание и настройка плагина клиента.
2.3.1 Разработка главного меню.
2.3.2 Настройка зон контроля.
2.3.3 Настройка контекстов обработки.
Программное обеспечение было разработано на языке программирования С#.
1 A tour of the C# language // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp (дата обращения: 01.09.2022); Use and configure the Universal Driver // Milestone Systems. URL: https://supportcommunity.milestonesys.com/s/article/Use-and-configure-the-Universal-Driver?language=en_US (дата обращения: 01.09.2022); Guide to installing and configuring Autocad for XProtect Enterprise // Milestone Systems. URL: https://www.milestonesys.com/globalassets/marketplace/uploaded-assets/0012000000mez36aaf/ admin-manual-autocode-for-xprotect-enterprise-ru.pdf (дата обращения: 01.09.2022); DIP (Dependency inversion principle). URL: https://makedev.org/principles/solid/dip.html (дата обращения: 01.09.2022); Using DirectShow // Microsoft Docs. URL: https://docs.microsoft.com/en-us/windows/win32/directshow/using-directshow (дата обращения: 01.09.2022).
Использовалась платформа WPF1. Интерфейс программы содержит:
1. Главное меню, в окне которого отображаются события, возникающие в результате детекции.
2. Окно настройки зон контроля. Для ее описания применяется класс ControlZoneParameters, который создает и возвращает дефолтную ЗК.
3. Окно настройки контекстов обработки. В нем создается или выбирается уже существующий контекст обработки видео. Для описания контекста используется класс Context. Для взаимодействия ПО с интерфейсом - ContextModel, который обрабатывает команды создания, выбора и сохранения контекстов.
Выводы
В ходе проекта изучены возможности использования систем видеоуправления; исследовано взаимодействие между программами при помощи API и SDK; выполнен обзор VMS Milestone, вариантов и сценариев интеграции; рассмотрены инструменты интеграции; выбран подходящий способ интеграции ИС EYECONT с VMS Milestone. В соответствии с техническим заданием разработано ПО: плагины Admin и Client, которые обеспечивают требуемый функционал взаимодействия EYECONT с VMS Milestone.
Результаты выполненного проекта с использованием VMS Milestone для API ядра EYECONT уже применяются при обеспечении охраны труда на промышленных предприятиях, позволяют оптимизировать бизнес-процессы в организации и могут быть использованы в ходе анализа данных для системы «Умный город».
Список источников
A tour of the C# language // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp (дата обращения: 01.09.2022).
Analysis of Milestone integration formats // Google docs. URL: https://docs.google.com/documeniyd/12F-rNg1oFjJAe8SFcUfcvnooOhQ2oERe3u4dVXxyiUA/edit (дата обращения: 01.09.2022).
DIP (Dependency inversion principle). URL: https://makedev.org/principles/solid/dip.html (дата обращения: 01.09.2022).
EYECONT. URL: https://eyecont.ru/#rec328752062 (дата обращения: 01.09.2022).
Guide to installing and configuring Autocad for XProtect Enterprise // Milestone Systems. URL: https://www.milestonesys.com/globalassets/marketplace/uploaded-
assets/0012000000mez36aaf/admin-manual-autocode-for-xprotect-enterprise-ru.pdf (дата обращения: 01.09.2022).
1 Tutorial: Create a simple WPF application with C# // Microsoft Docs. URL: https://docs.microsoft.com/en-us/visualstudio/designers/getting-started-with-wpf?view=vs-2022 (дата обращения: 01.09.2022); Introduction to WPF Controls // Milestone Systems. URL: https://doc.developer.milestonesys.com/html/reference/architecture/WPFIntroduction.html (дата обращения: 01.09.2022)._
Introduction to WPF Controls // Milestone Systems. URL: https://doc.developer.milestonesys.com/htmI/reference/architecture/WPFIntroduction.html (дата обращения: 01.09.2022).
Milestone XProtect 2014 VMS. URL: http://lib.secuteck.ru/articles2/test/milestone-xprotect-2014-vms-vozmozhnosti-integratsii-novogo-pokoleniya (дата обращения: 01.09.2022).
Tutorial: Create a simple WPF application with C# // Microsoft Docs. URL: https://docs.microsoft.com/en-us/visualstudio/designers/getting-started-with-wpf?view=vs-2022 (дата обращения: 01.09.2022).
Use and configure the Universal Driver // Milestone Systems. URL: https://supportcommunity.milestonesys.com/s/article/Use-and-configure-the-Universal-Driver?language=en_US (дата обращения: 01.09.2022).
Using DirectShow // Microsoft Docs. URL: https://docs.microsoft.com/en-us/windows/win32/directshow/using-directshow (дата обращения: 01.09.2022).
Welcome to the MIP SDK Documentation // Milestone Systems. URL: https://doc.developer.milestonesys.com/html/index.html (дата обращения: 01.09.2022).
Windows Forms overview // Microsoft Docs. URL: https://docs.microsoft.com/ru-ru/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4. 8 (дата обращения: 01.09.2022).
XProtect Smart Client frequently shows the message «Server lost connection to camera» (Live video frequently drops out) // Milestone Systems. URL: https://developer.milestonesys.com/s/article/XProtect-Smart-Client-frequently-shows-the-message-Server-lost-connection-to-camera-Live-video-frequently-drops-out (дата обращения: 01.09.2022).
References
A tour of the C# language. Microsoft Docs. Available at: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp (accessed: 01.109.2022).
Analysis of Milestone integration formats. Google docs. Available at: https://docs.google.com/document/d/12F-rNg1oFjJAe8SFcUfcvnooOhQ2oERe3u4dVXxyiUA/edit (accessed: 01.09.2022).
DIP (Dependency inversion principle). Available at:
https://makedev.org/principles/solid/dip.html (accessed: 01.09.2022).
EYECONT. Available at: https://eyecont.ru/#rec328752062 (accessed: 01.09.2022).
Guide to installing and configuring Autocad for XProtect Enterprise. Milestone Systems. Available at: https://www.milestonesys.com/globalassets/marketplace/uploaded-assets/0012000000mez36aaf/admin-manual-autocode-for-xprotect-enterprise-ru.pdf (accessed: 01.09.2022).
Introduction to WPF Controls. Milestone Systems. Available at: https://doc.developer.milestonesys.com/html/reference/architecture/WPFIntroduction.html (accessed: 01.10.2022).
Milestone XProtect 2014 VMS. Available at: http://lib.secuteck.ru/articles2/test/milestone-xprotect-2014-vms-vozmozhnosti-integratsii-novogo-pokoleniya (accessed: 01.09.2022).
Tutorial: Create a simple WPF application with C#. Microsoft Docs. Available at: https://docs.microsoft.com/en-us/visualstudio/designers/getting-started-with-wpf?view=vs-2022 (accessed: 01.09.2022).
Use and configure the Universal Driver. Milestone Systems. Available at: https://supportcommunity.milestonesys.com/s/article/Use-and-configure-the-Universal-Driver?language=en_US (accessed: 01.09.2022).
Using DirectShow. Microsoft Docs. Available at: https://docs.microsoft.com/en-us/windows/win32/directshow/using-directshow (accessed: 01.09.2022).
Welcome to the MIP SDK Documentation. Milestone Systems. Available at: https://doc.developer.milestonesys.com/html/index.html (accessed: 01.09.2022).
Windows Forms overview. Microsoft Docs. Available at: https://docs.microsoft.com/ru-ru/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4.8 (accessed: 01.09.2022).
XProtect Smart Client frequently shows the message «Server lost connection to camera» (Live video frequently drops out). Milestone Systems. Available at: https://developer.milestonesys.com/s/article/XProtect-Smart-Client-frequently-shows-the-message-Server-lost-connection-to-camera-Live-video-frequently-drops-out (accessed: 01.09.2022).
Сведения об авторах
Георгий Германович Рапаков - кандидат технических наук, доцент кафедры автоматики и вычислительной техники; https://orcid.org/0000-0001-8996-0136, [email protected], Вологодский государственный университет (д. 15, ул. Ленина, 160000 Вологда, Россия); Georgii G. Rapakov - Candidate of Technical Sciences, Associate Professor of the Automation and Computer Engineering Department, https://orcid.org/0000-0001-8996-0136, [email protected], Vologda State University (15, ul. Lenina, 160000 Vologda, Russia).
Леонид Леонидович Малыгин - доктор технических наук, доцент, [email protected], президент ООО «Малленом Системс» (д. 21 б, ул. Металлургов,162606 Череповец, Россия); Leonid L. Malygin - Doctor of Technical Sciences, Associate Professor, [email protected], President of the company OOO Mallenom Sistems (Mallenom Systems) (21 б, ul. Metallurgov, 162606 Cherepovets, Russia).
Ольга Станиславовна Пчелкина - студент, [email protected], Вологодский государственный университет (д. 15, ул. Ленина, 160000 Вологда, Россия); Olga S. Pchelkina - Student, [email protected], Vologda State University (15, ul. Lenina, 160000 Vologda, Russia).
Заявленный вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.
Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.
Статья поступила в редакцию 01.10.2022; одобрена после рецензирования 17.11.2022; принята к публикации 22.11.2022.
The article was submitted 01. 10.2022; Approved after reviewing 17.11.2022; Accepted for publication 22.11.2022.