В этом посте мы расскажем о том, как решали задачу определения факта курения посредством объектовой видеоаналитики на Intel NUC. На входе – видеопотоки с камер видеонаблюдения, которые декодируются, нарезаются на вычислителе на фреймы, а далее каждый фрейм (с учетом делителя кадровой частоты) отдается нейронной сети, которая детектирует наличие факта курения и возвращает вероятность события.
Теперь рассмотрим более детально проблематику, основные отличия от существующих на рынке решений, а также полученные показатели по скорости и числу потоков.
Общая проблематика
В России с 1 июня 2014 года вступили в силу новые нормы Антитабачного закона. Закон против табака регулирует отношения, возникающие в сфере охраны здоровья граждан от воздействия окружающего табачного дыма и последствий потребления табака: запрещено курение в поездах дальнего следования, на пассажирских платформах, в общежитиях и гостиницах, торговых помещениях, на рынках, в кафе, барах, ресторанах.
В целях борьбы с курением многие государства ввели закон о запрете курения в общественных местах. Во всех офисах и театрах ликвидировали «курилки», а в местах общественного питания убрали залы для курения.
Введение описанных выше запретов подразумевает контроль соблюдения установленных норм и правил. На сегодняшний день для этой цели используются разнообразные датчики улавливания пыли и газоанализаторы (например, CO2). Общий принцип действия этих приборов следующий:
Датчик фиксирует изменения в окружающей среде, а управляющий микроконтроллер создает событие реакции по заданному заранее алгоритму.
Альтернативой датчикам улавливания пыли и газоанализиторам может быть объектовая видеоаналитика с применением нейронных сетей, где входом является фото или видеопоток с камеры видеонаблюдения, а выходом – вероятность наличия в кадре или наборе кадров факта курения табака или иных составов.
Общая блок-схема аппаратно-программного комплекса
Существует несколько вариантов реализации комплекса:
- Обособленная система в компактном исполнении для установки на объекте
- Централизованная система с передачей и обработкой данных в ЦОД с возможностью задействования существующих систем видеонаблюдения
- Гибридный вариант, когда часть данных обрабатывается в непосредственной близости от источника данных, а часть обрабатывается в ЦОД с централизованным хранением результата работы обоих систем
Рассмотрим их подробнее:
Состав комплекса при использовании в непосредственной близости от источника данных:
- IP-камера / камера прямого подключения или набор камер (используются в качестве источника данных).
- Коммутатор (при подключении более чем одного источника данных).
- Исполнительное устройство, вычислитель Intel NUC8i5BEK.
При низкой себестоимости аппаратно-программного комплекса, решается множество значимых и существенных задач безопасности, таких как:
- Контроль соблюдения правил пожарной безопасности с высокой точностью и с фото-фиксацией факта правонарушения (включая данные о времени, дате, месте совершения правонарушения)
- Выявление фактов правонарушений на опасных производствах и компаний, деятельность которых связана с применением легковоспламеняющихся и горюче-смазочных материалов
- Контроль за соблюдением внутреннего режима на режимных объектах
Допустимым вариантом использования является серверная архитектура, при которой данные с камер передаются в ЦОД для дальнейшей обработки:
При масштабировании и использовании данной схемы, в качестве устройства для централизованного инференса, предполагается применение тех же Intel NUC8i5BEK, но в другом форм-факторе (серверном 1U):
Описание принципа детекции факта курения
Для детекции факта курения на фото (кадрах входящего видеопотока) используется нейронная сеть топологии SSD Mobilenet v2 из Open Model Zoo. Сеть предобучена на датасете COCO и далее обучена на Tensorflow. Далее модель сконвертирована через Intel OpenVINO для дальнейшей эксплуатации на CPU/GPU с целью оптимизации стоимости FPS. Показатели модели после конвертации:
Итого на одном Intel NUC8i5BEK при значении делителя кадровой частоты – 5 (25 FPS / 5 = 5 FPS на входе), можно обработать до 40 потоков без учета затрат на декодирование. При использовании аппаратного декодирования VAAPI и свежего драйвера intel-media-driver затраты на декодирование будут минимальны.
Одним из преимуществ фреймворка Intel OpenVINO является возможность переноса сетей между различными устройствами, например, одну и ту же модель с минимальной модификацией можно запускать на CPU, GPU, FPGA, VPU и других устройствах.
Ради эксперимента модель детекции факта курения была запущена на Intel Neural Compute Stick 2 на базе Myriad X. Результаты:
На базе индустриальных ПК с платами от AAEON или других производителей со встроенными чипами MyriadX можно получать и использовать уже промышленные решения.
Для демонстрации работы нейронной сети реализован бот Телеграм – https://t.me/smokers_recognition_bot. Входом является изображение, а выходом – вероятность наличия факта курения на нем. Пробуем, смотрим, экспериментируем…
Инференс выполняется на GPU Intel NUC8i5BEK.
Преимущества решения
Можно отметить следующие преимущества:
- Наличие возможности обработки данных с множества источников в одном месте
- Наличие возможности детекции факта курения на расстоянии, ограниченном лишь фокусным расстоянием камеры, источника данных, например, 5, 50 или 100 м (подобные показатели невозможно получить классическими датчиками и/или устройствами)
- Наличие возможности детекции курения не только классических сигарет, но и иных устройств (например, вейпы или курительные смеси)
- Наличие возможности сохранения факта правонарушения (фото и метаданные события, такие как дата, время, местоположение) при курении в неположенных местах
- Наличие возможности дооснащения существующих камер функцией детекции факта курения и реакциями на это событие
- Наличие возможности интеграции с существующими системами мониторинга и системами видеонаблюдения, например, Zabbix, Telegraf, Hikvision NVR и др.
Области применения решения
Рассмотрим некоторые объекты и проблематику для применения описанного аппаратно-программного комплекса по детекции курения в видеопотоке:
- Коридоры бизнес-центров и иных зданий и сооружений, лестничные площадки
- Школы и детские сады (из-за неэффективности датчиков дыма и иных существующих решений на открытом пространстве и в продуваемых зонах)
- АЗС (из-за неэффективности датчиков дыма и иных существующих решений на открытом пространстве и в продуваемых зонах)
- Метрополитен (из-за большой площади, высоты потолков и возможности подключения множества камер в единую систему)
- Вокзалы и зоны ожидания (из-за большой площади, высоты потолков и возможности подключения множества камер в единую систему)
- Терминалы аэропортов, ВПП (из-за большой площади, высоты потолков, а также неэффективности датчиков дыма на открытом воздухе)
- Жилые и офисные помещения (чтобы обмануть существующие датчики достаточно открыть окно)
- Кафе, рестораны (чтобы обмануть существующие датчики достаточно открыть окно)
- Бары (чтобы обмануть существующие датчики достаточно открыть окно)