Опыт разработки и внедрения систем объектовой видеоаналитики на СХД

18 November 2019

СХД – это системы хранения данных, сервера или иные устройства с большим количеством установленных дисков и системами быстрого доступа к ним с гарантией сохранности информации (аппаратные или программные RAID-контроллеры). Если речь идёт про несколько камер, то специализированных решение не требуется. СХД или обычные диски будут использоваться для хранения видеоархива и там же или на отдельном носителе будут храниться события (результат детекции, например, нарушения ПДД или пресечение запретных зон) для дальнейшего доступа к ним и анализа. Но если камер много, например, 80 штук и мы рассматриваем поток RTSP Full HD, 15 FPS с дорожных камер, то зарегистрированных событий в сутки будет уже около 100 Гб. Для хранения таких объемов данных требуются уже специализированные решения. Мы остановили свой выбор на СХД от компании QNAP, куда смогли встроить свой собственный продукт Cumulator. Цель и задача этого продукта – сбор событий с множеством устройств: серверов для инференса, камер или микрокомпьютеров, установленных в непосредственной близости от камер.

Сервер на базе Intel NUC, который осуществляет обработку данных с 80 камер с агрегацией этих данных через ПО Cumulator
Сервер на базе Intel NUC, который осуществляет обработку данных с 80 камер с агрегацией этих данных через ПО Cumulator

Цели и задачи, которые решает программный продукт Cumulator:

  1. Сборка данных с множества устройств
  2. Единая точка доступа к событиям по REST API
  3. Централизованное хранение событий
  4. Визуализация и отображение данных об установленных и подключенных устройствах и событиях на них в режиме реального времени
  5. Управление множеством устройств (мониторинг, подключение)

Для интеграции мы остановились на QNAP AppCenter, т.к. внутри используются Docker-контейнеры, в рамках которых может работать программное обеспечение сторонних разработчиков. Тестовое оборудование QNAP:

СХД QNAP для агрегации данных в объектовой видеоаналитике
СХД QNAP для агрегации данных в объектовой видеоаналитике

Приложение Cumulator, запущенное на QNAP со статистикой потребления ресурсов CPU, RAM:

Приложение Cumulator, запущенное на СХД QNAP
Приложение Cumulator, запущенное на СХД QNAP

По статистике потребления ресурсов видно, что их достаточно в рамках СХД. Фактически, инференс, т.е. исполнение нейронных сетей, выполняется на удаленных устройствах (серверах, камерах, специализированных устройствах рядом с камерами), а агрегацией, сборкой и хранением данных занимается само СХД со специализированным ПО. Это программное обеспечение по REST API забирает данные и при необходимости отдает сопутствующим информационным системам.