В этом посте мы расскажем о том, как решали задачу определения факта курения посредством объектовой видеоаналитики на Intel NUC. На входе – видеопотоки с камер видеонаблюдения, которые декодируются, нарезаются на вычислителе на фреймы, а далее каждый фрейм (с учетом делителя кадровой частоты) отдается нейронной сети, которая детектирует наличие факта курения и возвращает вероятность события.

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

Общая проблематика


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

В целях борьбы с курением многие государства ввели закон о запрете курения в общественных местах. Во всех офисах и театрах ликвидировали «курилки», а в местах общественного питания убрали залы для курения.

Введение описанных выше запретов подразумевает контроль соблюдения установленных норм и правил. На сегодняшний день для этой цели используются разнообразные датчики улавливания пыли и газоанализаторы (например, CO2). Общий принцип действия этих приборов следующий:



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

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

Общая блок-схема аппаратно-программного комплекса


Существует несколько вариантов реализации комплекса:

  1. Обособленная система в компактном исполнении для установки на объекте
  2. Централизованная система с передачей и обработкой данных в ЦОД с возможностью задействования существующих систем видеонаблюдения
  3. Гибридный вариант, когда часть данных обрабатывается в непосредственной близости от источника данных, а часть обрабатывается в ЦОД с централизованным хранением результата работы обоих систем

Рассмотрим их подробнее:



Состав комплекса при использовании в непосредственной близости от источника данных:

  • 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 и др.

Области применения решения


Рассмотрим некоторые объекты и проблематику для применения описанного аппаратно-программного комплекса по детекции курения в видеопотоке:

  • Коридоры бизнес-центров и иных зданий и сооружений, лестничные площадки
  • Школы и детские сады (из-за неэффективности датчиков дыма и иных существующих решений на открытом пространстве и в продуваемых зонах)
  • АЗС (из-за неэффективности датчиков дыма и иных существующих решений на открытом пространстве и в продуваемых зонах)
  • Метрополитен (из-за большой площади, высоты потолков и возможности подключения множества камер в единую систему)
  • Вокзалы и зоны ожидания (из-за большой площади, высоты потолков и возможности подключения множества камер в единую систему)
  • Терминалы аэропортов, ВПП (из-за большой площади, высоты потолков, а также неэффективности датчиков дыма на открытом воздухе)
  • Жилые и офисные помещения (чтобы обмануть существующие датчики достаточно открыть окно)
  • Кафе, рестораны (чтобы обмануть существующие датчики достаточно открыть окно)
  • Бары (чтобы обмануть существующие датчики достаточно открыть окно)

Несколько примеров, где можно использовать детектор курения с применением методов объектовой видеоаналитики