Научная статья на тему 'Нейросетевая система видеонаблюдения'

Нейросетевая система видеонаблюдения Текст научной статьи по специальности «Техника и технологии»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Вестник кибернетики
ВАК
Область наук
Ключевые слова
информационная система / искусственные нейронные сети / распознавание образов / information system / artifi cial neural networks / pattern recognition

Аннотация научной статьи по технике и технологии, автор научной работы — Василенко Н. Е., Медведева Н. А.

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

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

Neural network surveillance system

The purpose of the paper is to design and implement an effi cient and affordable automatic surveillance system, which can operate in real time and integrate with existing surveillance systems. The method presented includes analyzing existing solutions on the market, selecting and training a profound learning model for objects detection, developing user interfaces, containerizing of the application and testing the system in a real-world environment. The result is a system capable of detecting objects of interest in real time using neural networks and notifying the user of the detected items. This system is designed for public places like airports, railway stations, schools, and other institutions needing enhanced security.

Текст научной работы на тему «Нейросетевая система видеонаблюдения»

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

УДК 004.415.2.031.43

https://doi.org/10.35266/1999-7604-2024-4-3

Нейросетевая система видеонаблюдения

Никита Евгеньевич Василенко1^, Наталья Александровна Медведева2

12Сургутский государственный университет, Сургут, Россия [email protected], https://orcid.org/0009-0007-7880-1026 [email protected], https://orcid.org/0009-0005-9379-718X

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

Ключевые слова: информационная система, искусственные нейронные сети, распознавание образов

Для цитирования: Василенко Н. Е., Медведева Н. А. Нейросетевая система видеонаблюдения // Вестник кибернетики. 2024. Т. 23, № 4. С. 25-33. https://doi.org/10.35266/1999-7604-2024-4-3.

Original article

Neural network surveillance system

Nikita E. Vasilenko1^, Natalya A. Medvedeva2

1, 2Surgut State University, Surgut, Russia

[email protected], https://orcid.org/0009-0007-7880-1026 [email protected], https://orcid.org/0009-0005-9379-718X

Abstract. The purpose of the paper is to design and implement an efficient and affordable automatic surveillance system, which can operate in real time and integrate with existing surveillance systems. The method presented includes analyzing existing solutions on the market, selecting and training a profound learning model for objects detection, developing user interfaces, containerizing of the application and testing the system in a real-world environment. The result is a system capable of detecting objects of interest in real time using neural networks and notifying the user of the detected items. This system is designed for public places like airports, railway stations, schools, and other institutions needing enhanced security. Keywords: information system, artificial neural networks, pattern recognition

For citation: Vasilenko N. E., Medvedeva N. A. Neural network surveillance system. Proceedings in Cybernetics. 2024;23(4):25-33. https://doi.org/10.35266/1999-7604-2024-4-3.

ВВЕДЕНИЕ

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

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

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

Существуют решения, разработанные такими компаниями, как Videonet, ZeroEyes, Athena Security, Actuate и NtechLab, которые также направлены на улучшение безопасности с использованием видеоаналитики и искусственного интеллекта.

После анализа этих решений можно выделить ряд их недостатков:

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

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

3. Сложность интеграции с существующими системами безопасности из-за возможной несовместимости или отсутствия необходимых интерфейсов.

МАТЕРИАЛЫ И МЕТОДЫ

При проектировании системы была выбрана модель YOLO («You Only Look Once») [3-6] для задачи обнаружения предметов в реальном времени, что обусловлено рядом причин (рис. 1).

Прежде всего, эта модель представляет собой эффективную архитектуру нейронной сети, в которой входное изображение разби-

Рис. 1. Принцип работы алгоритма YOLO

Примечание: составлено авторами по [3].

вается на сетку, и каждая ячейка сетки отвечает за обнаружение объектов в своей области.

Параметры этих ячеек (рис. 2) в виде векторов [7] являются выходным результатом работы модели, в основе которой лежит принцип сверточной нейронной сети.

Для получения предсказаний модели, изображению требуется пройти через нее всего один раз. Это отличает алгоритм YOLO от других алгоритмов обнаружения объектов и позволяет выполнять инференс с высокой скоростью (рис. 3), что очень важно для си-

стемы, работающей в режиме реального времени.

Установка необходимых библиотек, импортирование модели, установка датасета, обучение модели и экспорт файла весов производились в среде Google Colab с подключенным Google хранилищем для сохранения файловой структуры проекта (рис. 4-5) [8].

Параметры обучения (рис. 6) подбирались экспериментальным путем для выведения наилучшей точности модели. Крайний вариант модели обучался на протяжении

- ( V -1-4

tx ty trv th Pa Pi P-2 .... Pc, 1 J

Координаты рамки Индекс Индекс класса

объектности

Рис. 2. Параметры ячеек изображения

Примечание: составлено авторами по [3].

Model mAP FPS Real Time speed

Fast VOLO 52,™ 155 Yes

VOLO 63.4% 45 Ves

VOLO VGG-16 66.4% 21 No

Fast Ft-CNN 70.044 0.5 No

Faster Ft-CNN VGG-16 73.2% 7 NO

Faster R-CNN ZF 62-1% IS NO

Рис. 3. Сравнение скорости и производительности моделей, обученных с наборами данных PASCAL VOC

2007 и 2012 гг.

Примечание: составлено авторами.

YOLOv8.ipynb it — и г, л

Щ Комментировать Поделиться ф

Файл Изменить Вид Вставка Среда выполнения Инструменты (

+ КОД + ТеКСТ ПОДКЛЮЧИТЬСЯ T4 ▼ А

^ [ ] import os

HOME = ' /corvtent/drive/HyDrivg' {.*} print (HOME)

/contert/drive/MyOrive

ГН [ ] from google.colab import drive drive.mourt(1/content/drive')

Mounted at /content/drive

[ ] %cd {HOME}

!pip install ultralytics==8.e.l96

Рис. 4. Подключение Google хранилища и установка библиотеки для работы

с моделями ИИ Примечание: составлено авторами.

[ ] from ultralytics import YOLO

[ ] !plp Install roboflow

from roboflow import Roboflow

rf = Roboflow(apikey="t n nsWs LSTYAoERnf rZvV")

project = rf .warkspace("imam-maijlaria-b4xet").project('handgun-detectiori-jtva j"} version = project.version(S) dataset = version.download{"yolovS")

Рис. 5. Импорт модели YOLO и установка датасета с помощью библиотеки Roboflow

Примечание: составлено авторами.

!yolo task=detect \ mode=train \ model=yolovS5.pt \

data=/content/drive/MyDrive/Handgun-Detection-9/data.yami V

epochs=30 \

batch=16 \

device=S \

imgsz=64e

Рис. 6. Метод обучения модели на установленном датасете с определенными параметрами обучения

Примечание: составлено авторами.

30-ти эпох, с количеством образцов данных, обрабатываемых нейронной сетью за одну итерацию, равную 16-ти, и с использованием более 4-х Гб видеопамяти.

При конечном инференсе (рис. 7-9) модель показала 78,5 % средней точности, что, относительно затраченных ресурсов, является хорошим показателем.

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

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

2. Разработка веб-приложения осуществлялась с использованием фреймворка Flask. Его главным преимуществом является простая и гибкая архитектура, позволяющая создавать веб-приложения любой сложности.

3. Платформа для контейнеризации Docker, с помощью которого программный код упако-

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

4. Библиотека PyQt5 для верстки стороны клиента и создание алгоритма обнаружения предметов для десктоп-приложения.

РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ

В файле «desktop.py» находится код, интерпретация которого (рис. 10) создаст объект «QApplication», представляющий собой основное окно приложения PyQt5. После чего создастся экземпляр «LoginWindow» (окно входа), установится иконка окна и оно отобразится (рис. 11).

Откроется следующее окно. Если пользователь не регистрировался ранее, то он может это сделать нажатием кнопки «Зарегистрироваться» (рис. 12).

Это действие откроет веб-страницу с разделом регистрации, что позволит пользователю зарегистрироваться (рис. 13).

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

dfl_loss Instances

1.339 24

Вох(Р R

0.774 0.614

Size

640: 100JS 303/303 [02:02i00:00, 2.47it/s]

П1АР50 Л1АР50-95) : 100% 10/10 [00:04(00:00, 2.231t/s] 0.73 0.49

640: îees; 303/303 [02:ei<00:00, 2.4slt/s]

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

B1AP50 ЯАР50-95): 100% 10/10 [00:0403:00; 2.25it/s] 0.739 0.504

Images Instances 300 363

5ize

640: îeej; 303/303 [02:01400:0

Я1АР50 Я1ЙР50-95): 100% 10/10 [0

0.755 0.514

», 2.50it/s]

1:05<00:00, 1.81it/s]

b0X_l055 С1S_l05 S

0.7223 0.5107

Images Instances

300 363

dfl_loss Instances

1.286 13

Box(P R

0.822 0.667

Size

640: 100% 303/303 [02:05<00:00 , 2.40it/s]

ШАР50 »APS0-95): 100% 10/10 [00:04(00:00, 2.26it/s] 0.765 0.52

box_loss с 1 s_lo5 s

0.7029 0.4937

Images Instances

300 363

dfl_loss Instances

1.258 13

Box(P R

0.837 0.678

Size

640: 1003S 303/303 [02:05<00:00, 2.42it/s]

ЯАР50 Я1ЙР50-95): 100% 10/10 [00:04(00:00, 2.11it/s] 0.78 0.54

dfl loss Instances

Images Instances 300 363

640: 100% 303/303 [02:01<00:00, 2.49it/s] ШАР50 ЯАР50-95): 100% 10/10 [00:05(00:00, 1.70it/s] 0.782 0.54

Ь0Х_1055 С1S_l05 S

0.6721 0.4523

Images Instances

300 363

dfl_loss Instances

1.233 13

Box(P R

0.826 0.686

640: 100% 303/303 [02:02<00:00, 2.4Sit/s] ШАР50 ЯАР50-95): 100% 10/10 [00:04(00:00, 2.18it/s] 0.786 0.541

30 epochs completed in 1.119 hours.

Optimizer stripped from runs/detect/train2/weights/last.pt, 22.5HB Optimizer stripped from runs/detect/train2/weights/best.pt, 22.5MB

Validating runs/detect/train2/weights/best.pt...

Ultralytics YOLOvS.0.196 Python-3.10.12 torch-2.2.1+cul21 CliDA:0 (Tesla T4, 15102MiB) Model summary (fused): 168 layers, 11125971 parameters, в gradients, 28.4 GFLOPs

Class Images Instances Box(P R mAP50 ЛАР50-95): 100% 10/10 [00:09(00:00, 1.07it/s]

all 300 363 0.826 0.686 0.785 0.541

5peed: 0.4ms preprocess, 5.4ms inference, 0.0ms loss, 7.1ms postprocess per image Results saved to runs/detect/train2

f Learn more at https://docs.ultralytics.com/modes/train

Рис. 7. Зафиксированные последние эпохи обучения модели с выводом результатов

Примечание: составлено авторами.

model = YOLO{1/content/drive/MyDrive/runs/detect/train2/weights/best.pt') exported = model . export (ft>rmat="onrix")

Рис. 8. Экспорт файла весов в необходимый для дальнейшей работы формат

Примечание: составлено авторами.

V Ш weighrts

□ best_2.onnx

□ best_3.onnx Q best.onnx

Рис. 9. Каталог с файлами весов

Примечание: составлено авторами.

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

Запустив мониторинг, перед пользователем появится окно мониторинга, где изображение будет передаваться в реальном времени с указанной камеры (рис. 16).

desktop,py > ...

1 2

3

4

5

6 7 S 9

10 11 12

13

14

15

16 17 IS

19

20 21 22

from PyQt5 .QtWidgets import (^Application from PyQt5.QtGLi import Qlcon import sys import logirwindow

def main{):

app = QApplication{sys.argv) appicon = Qlcon ("UI/ICCtJ_32.png")

mainwindow = login_window. LoginUirdoi-j() mainwiindow. setL'indowIcon(app_icon)

try :

sys .exit (app. exec_Q) except Exception as e:

print(f"An error occurred: {a}") finally :

login_window.smtpObj.quit() print("Exiting...")

if _паше_ — "_main_":

mainQ

Рис. 10. Содержимое файла desktop.py

Примечание: составлено авторами.

(base) PS E:\UNIVERSnY\DIPLCH\50WA> python desktop.py

Рис. 11. Команда запуска приложения пользователя

Примечание: составлено авторами.

Пароль:

Рис. 12. Окно входа

Примечание: составлено авторами.

О о _ □

v Регистрация X +

^Python ¡¡J © local host:1337 Регистрация Я " 'J1

Рис. 13. Страница регистрации

Примечание: составлено авторами.

Рис. 14. Вход в систему

Примечание: составлено авторами.

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

Рис. 15. Заполнение полей окна настройки

Примечание: составлено авторами.

Рис. 16. Процесс мониторинга

Примечание: составлено авторами.

ЗАКЛЮЧЕНИЕ

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

1. Обнаружение предметов в реальном времени. Для этого были использованы технологии компьютерного зрения и глубокого обучения. Эти технологии позволяют системе анализировать видеопоток с камер наблюдения и автоматически определять наличие предметов на изображениях.

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

Список источников

1. Ларина Ю. Событийный видеоконтроль // Безопасность. Достоверность. Информация. 2009. № 83. С. 28-40.

2. VideoNet PSIM - интеллектуальная система безопасности. URL: https://www.videonet.ru/ (дата обращения: 05.05.2024).

3. Распознавание образов с помощью искусственного интеллекта. URL: https://habr.com/ru/articles/ 709432/ (дата обращения: 05.05.2024).

4. YOLO: You Only Look Once - Real Time Object Detection - GeeksforGeeks. URL: https://www.geeks-forgeeks.org/yolo-you-only-look-once-real-time-object-detection/ (дата обращения: 05.05.2024).

5. Real-Time Object Identification Through Convolution Neural Network Based on YOLO Algorithm. URL: https://www.sciencepg.com/article/10.11648/j. mcs.20230805.11 (дата обращения: 05.05.2024).

6. YOLO with adaptive frame control for real-time object detection applications. URL: https://link.springer. com/article/10.1007/s11042-021-11480-0 (дата обращения: 05.05.2024).

7. D_0.06 YOLO - Head. URL: https://junha1125. github.io/blog/artificial-intelligence/2020-08-18-YOLO/ (дата обращения: 05.05.2024).

8. How to Train YOLOv8 Object Detection on a Custom Dataset. URL: https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset/ (дата обращения: 05.05.2024).

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

Н. Е. Василенко - магистрант.

Н. А. Медведева - старший преподаватель.

ствует дальнейшему развитию систем безопасности с использованием современных технологий.

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

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

References

1. Larina Yu. Sobytiinyi videokontrol. Bezopasnost. Dostovernost. Informatsiia. 2009;(83):28-40. (In Russ.).

2. VideoNet PSIM - intellektualnaia sistema bezo-pasnosti. URL: https://www.videonet.ru/ (accessed: 05.05.2024). (In Russ.).

3. Raspoznavanie obrazov s pomoshchyu iskusstvennogo intellekta. URL: https://habr.com/ru/articles/709432/ (accessed: 05.05.2024). (In Russ.).

4. YOLO: You Only Look Once - Real Time Object Detection - GeeksforGeeks. URL: https://www.geeks-forgeeks.org/yolo-you-only-look-once-real-time-object-detection/ (accessed: 05.05.2024).

5. Real-Time Object Identification Through Convolution Neural Network Based on YOLO Algorithm. URL: https://www.sciencepg.com/article/10.11648/j. mcs.20230805.11 (accessed: 05.05.2024).

6. YOLO with adaptive frame control for real-time object detection applications. URL: https://link.springer. com/article/10.1007/s11042-021-11480-0 (accessed: 05.05.2024).

7. D_0.06 YOLO - Head. URL: https://junha1125. github.io/blog/artificial-intelligence/2020-08-18-YOLO/ (accessed: 05.05.2024).

8. How to Train YOLOv8 Object Detection on a Custom Dataset. URL: https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset/ (accessed: 05.05.2024).

About the authors

N. E. Vasilenko - Master's Degree Student. N. A. Medvedeva - Senior Lecturer.

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