Тема: РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ВИДЕОСТРИМА С АВТОНОМНЫХ УСТРОЙСТВ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Актуальность задачи 4
Постановка задачи 5
1. АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ 7
1.1. Обработка информации в реальном времени 8
1.2. Сравнение распределенной обработки видеоданных у конкурентов 11
2. ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИЙ 16
3. АРХИТЕКТУРА СИСТЕМЫ 20
4. ПРАКТИЧЕСКАЯ ЧАСТЬ 23
4.1. Серверная часть 24
4.1.1. Сбор потоков с автономных устройств видеонаблюдения 26
4.1.2. Распознавание движения 26
4.1.3. Настройка вычислительного кластера 27
4.2. Web-клиент 29
ЗАКЛЮЧЕНИЕ 33
ГЛОССАРИЙ 34
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 36
ПРИЛОЖЕНИЕ
📖 Введение
Объемы видеоинформации растут с каждым днем. Только в черте города можно насчитать тысячи камер, которые наблюдают за происходящим на улицах. Возникает вопрос: как пользовательским приложениям удаленного видеонаблюдения осуществить быструю обработку потоков видеоданных с такого количества устройств в реальном времени? Классические решения, такие как последовательная обработка фрагментов видеопотока на одном сервере, позволяют приступить к анализу видео только после размещения видео в хранилище. При использовании приложениями удаленного видеонаблюдения такого способа возникает торможение при обработке видеопотока, связанные с его сохранением и нехваткой мощностей узла-обработчика. К тому же пользователь получает результаты анализа с некоторой задержкой, тогда получение актуальной информации в реальном времени остается под вопросом [1].
Недостатком процесса обрабатывания видеопотока единственным устройством является не только скорость. При возникновении сбоев в работе сервера, занимающегося видеостримингом, возможна потеря всего потока данных с автономного устройства. Решением может стать внедрение распределенной системы анализирования данных, приходящих с камер видеонаблюдения, позволяющей перенести обработку на другой узел системы без потерь.
Проблемы обработки, анализа и хранения видеозаписей актуальны не только в сфере использования систем видеонаблюдения для контроля за территорией и для обеспечения безопасности. В 2017 году на конференции Intelligent Video 2.0 поднимались вопросы, касающиеся важности видеоанализа и видеохранилища в сфере экономики и маркетинга [2]. Системы видеомониторинга приносят большую пользу в принятии бизнес - решений, анализируя, к примеру, поток клиентов. Так можно определять, какие торговые точки наиболее проходимые, куда лучше располагать товар. Однако нужно учитывать, что анализ потока с камер связан не только с обработкой видео. Для получения большей информации необходимо надежное хранилище для видеоданных.
Создание фреймворка видеостриминга с автономных устройств с распределенной обработкой и облачным хранением видеоданных является решением таких проблем анализа больших потоков видеоинформации.
Среди приложений удаленного видеонаблюдения, использующих распределенную обработку, найдено:
• ITRIUM video [3];
• TRASSIR [4].
В рассматриваемых системах видеомониторинга используется распределенное хранилище данных, что облегчает обработку больших объемов информации. Однако обязательное наличие отдельной базы данных для каждой камеры требует лишней информации о структуре данных, а при малом количестве либо отсутствии видеозаписей с каждой камеры приводит к растрате ресурсов. Таким образом, в силу отсутствия открытого исходного кода в существующих коммерческих решениях и возможных аналогах на российском рынке не найдено приложений с распределенной обработкой видеопотоков, которые бы не нуждались во внедрении распределенной базы данных для хранения видеозаписей для каждого отдельного устройства.
В 2017 году было разработано пилотное решение для удаленного видеомониторинга [5]. Предложенный фреймворк позволяет подключать до 1000 автономных сетевых устройств видеонаблюдения одновременно, просматривать видеозаписи с камер, делиться видео-файлами с использованием URL-ссылок. Рассматриваемая система предполагает хранение данных о пользователях и об их подключенных устройствах в базе данных на сервере, а сами видеоданные хранятся в облачном сервисе. Использование облачного решения для хранения видео позволяет накапливать большие объемы информации. Обработка видеозаписей происходит на сервере, что замедляет работу всей системы в целом и не является решением проблемы задержки и торможения при воспроизведении и анализе видеоинформации в реальном времени.
Постановка задачи
Таким образом, целью данной работы является создание фреймворка для распределенной обработки видео при его стриминге с автономных устройств, среди функционала которого можно выделить:
• добавление IP-камер видеонаблюдения, их удаление и редактирование настроек подключенных устройств;
• просмотр потока данных с автономных устройств видеонаблюдения;
• выявление подозрительной подвижности на осматриваемой территории путем распределенной обработки видеопотоков;
• сохранение в облачное хранилище и дальнейший просмотр кадров с выделенными движущимися объектами.
В рамках достижения цели должны быть выполнены следующие задачи:
• реализация системы удаленного видеонаблюдения с возможностью подключения своих IP-устройств;
• добавление функционала распределенной обработки видео с целью выявления подозрительной подвижности на территории для повышения скорости и отказоустойчивости системы;
• создание вычислительного кластера из трех узлов-обработчиков для распределенного анализа видеоинформации;
• внедрение облачного хранилища данных, позволяющего сохранять кадры произошедших инцидентов на охраняемой территории;
• создание удобного пользовательского интерфейса.
Перед разработкой рассматриваемой системы были проведены:
• анализ конкурентов и аналогов системы;
• анализ решений по реализации распределенной обработки видеоинформации.
Помимо этого в рамках работы будут рассмотрены следующие пункты:
• обоснование выбора технологий для реализации задач;
• архитектура системы;
• описание практической части разработанной системы видеомониторинга с распределенной обработкой видеоданных.
✅ Заключение
Помимо этого были проведены разработка фреймворка, позволяющего просмотр кадров с обнаруженным движением, реализованным с использованием распределенной вычислительной системы, обоснование выбора технологий для ее реализации, представлены веб-интерфейсы и рассмотрен основной функционал.
В силу публикации открытого API система может быть как расширена дополнительным функционалом, к примеру, распознаванием только человеческих движений, так и являться модулем, расширяющим уже существующий функционал.
Благодаря использованию Apache Kafka можно отметить повышение надежности и отказоустойчивости системы распознавания движения на собранных кадрах, а на основе анализа времени выполнения с использованием кластера Spark — повышение производительности при обработке на распараллеленной на нескольких узлах системе.
Также стоит отметить, что результаты выполнения данной работы готовятся для оформления заявки на государственную регистрацию программы для ЭВМ в Роспатент.



