Детекторы и классификаторы

Компания ComBox Technology является разработчиком собственных детекторов и классификаторов с использованием нейронных сетей различных топологий для решения бизнес-задач.

Детектор курения

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

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

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

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

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

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

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

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

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

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

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

  • IP-камера / камера прямого подключения или набор камер (используются в качестве источника данных).
  • Коммутатор (при подключении более чем одного источника данных).
  • Исполнительное устройство, вычислитель Intel NUC8i5BEK.

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

  • Контроль соблюдения правил пожарной безопасности с высокой точностью и с фото-фиксацией факта правонарушения (включая данные о времени, дате, месте совершения правонарушения)
  • Выявление фактов правонарушений на опасных производствах и компаний, деятельность которых связана с применением легковоспламеняющихся и горюче-смазочных материалов
  • Контроль за соблюдением внутреннего режима на режимных объектах

Допустимым вариантом использования является серверная архитектура, при которой данные с камер передаются в ЦОД для дальнейшей обработки:

Серверная архитектура, при которой данные с камер передаются в ЦОД для дальнейшей обработки

При масштабировании и использовании данной схемы, в качестве устройства для централизованного инференса, предполагается применение тех же Intel NUC8i5BEK, но в другом форм-факторе (серверном 1U):

Сервер для исполнения нейронных сетей на базе 8 штук Intel NUC8i5BEK

Для детекции факта курения на фото (кадрах входящего видеопотока) используется нейронная сеть топологии 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. Результаты:

Детекция факта курения, запущенная на 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 и др.

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

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

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

Помимо этого, на транспорте можно каскадом (последовательно) применять несколько нейронных сетей, таких как детекция курения и детекция факта/времени использования мобильного телефона. Понятно, что дальше подобные системы должны масштабироваться, например, с интеграцией телематики и подключением к CAN-шине автомобиля для отслеживания использования телефонов только при движении ТС, но это уже детали интеграции.

Наглядный пример, что конкретно детектируем и что получаем в итоге:

Демонстрация на ботах в Телеграме (вход – картинка с камеры смартфона или из галереи, выход – вероятность):

Если в начале мы говорили об Intel NUC и серверах на их основе, как вычислителях для инференса, то сейчас мы говорим об эксплуатации решения в транспортных средствах, то есть появляется влияние погодных условий (жара, холод, точка росы и т.д.). Хорошее решение оказалось у AAEON, VPC-3350S:

AAEON, VPC-3350S

Конкретно наша версия – с процессором Intel Atom x5 E3940. Инференс – на MyriadX на плате расширения. FPS в инференсе:

Тесты декодера:

Чем хороша железка и почему наш выбор пал на нее:

  • Наличие встроенного LTE-модуля.
  • Наличие возможности расширения VPU ускорителем Intel MyriadX.
  • Встроенная графика Intel HD Graphics 500, на которой можно использовать аппаратные декодеры и энкодеры для обработки видеопотоков.
  • Наличие множества LAN-портов для прямого подключения сетевых камер без необходимости установки коммутатора.
  • Широкий эксплуатационный температурный диапазон (-20+70).

Как это работает:

  1. На автомобиле устанавливаются сетевые камеры с питанием по Ethernet, POE (одна на водителя или две: водитель, пассажир).
  2. Данные с камер поступают напрямую на вычислитель, в данном случае AAEON NVR 3350.
  3. На вычислителе выполняется декодирование и нарезка видеопотока на фреймы.
  4. Фреймы с заданным делителем кадровой частоты обрабатываются нейронной сетью.
  5. Нейронная сеть возвращает вероятность события (курение или наличие телефона в руках). Каждое изображение пропускается через эти нейронные сети последовательно. Если одна из них выдала вероятность выше, условно, 50%, то фотография и запись об этом фиксируется во временной таблице в базе данных (в памяти).
  6. На основе количества повторяющихся событий фиксируется время действия/нарушения.
  7. Если время действия превышает заданную константу (10 секунд), то происходит фиксация факта события в базе данных. Событие включает следующую информацию:
    • дата, время
    • фотография факта нарушения
    • длительность события в сек.
    • идентификатор ТС (статичный GUID)
    • номер камеры (0, 1)
    • тип события
  8. Данные о событиях по факту наличия 3G/LTE передаются на центральный сервер обработки данных с интеграцией с существующей информационной системой каршеринга для проведения билинговых операций.

Мы постарались поделиться опытом реализации и интеграции решений в области ИИ на примере транспортной инфраструктуры. Что самое главное, большинство объектов автоматизации уже оснащено камерами, и можно обрабатывать существующие потоки без какой-либо существенной модернизации.

Детектор кашля

Собственно, да, на простом языке – мы захотели (и реализовали) детектор кашляющих людей, но не по позе (так как это требует больших ресурсов), а путем классификации входящих фото после детекции лица с расширением зоны.

Детектор кашля для Intel NUC

На сложном языке бизнес-задача звучит так — детекция людей с симптоматикой заболеваний на этапе прохождения досмотра в аэропортах и вокзалах с соответствующим информированием должностных лиц у рамок о наличии признаков заболевания для прохождения дополнительных проверок. Ожидаемый результат в краткосрочной перспективе – минимизация распространения короновирусной инфекции COVID-19 в рамках локальных и международных железнодорожных, транспортных и авиаперевозок.

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

Во-первых, уточним, что мы используем Intel NUC8i5BEK с процессором 8-го поколения Intel Core i5 и встроенной графикой Intel Iris Plus 655. Исполнение нейронных сетей в этом случае можно запускать на GPU, освобождая CPU под траекторный анализ. А в случае увеличения числа камер, направленных на устройство, можно дооборудовать комплекс ускорителями, например Intel NCS2.

Мы используем фреймворк Intel OpenVINO, т.к. он позволяет эффективно исполнять нейронные сети на процессорах Intel и, что важнее, – задействовать интегрированную графику Intel. Применяемая нами модель – это SSD Mobilenet v2, предобученная на датасете COCO. Для обучения модели использовался Tensorflow.

Intel NUC8i5BEH

Собственно, почему мы выбрали NUC:

  1. Низкая стоимость процессоров 8-го поколения в комплекте с устройством, в отличие от рыночной стоимости компонентов по-отдельности.
  2. Высокая производительность в инференсе за счет наличия встроенной графики Iris Plus 655. Iris Plus 655 по производительности исполнения нейросетей на 25% выше Intel UHD Graphics 630, используемого в десктопных процессорах (от i5 8400 до i9 9900k).
  3. Наличие возможности увеличения числа обрабатываемых потоков за счет подключения ускорителей, например, Intel NCS2 без изменения топологии сети и фреймворка.
  4. Низкое энергопотребление при максимальной нагрузке: 28 Вт против 65 Вт у десктопного аналога.
  5. Возможность использования устройств в рамках серверной и облачной инфраструктуры.

В рамках настоящего решения мы сделали следующее:

  1. Собрали и структурировали исходные данные для обучения (подготовили датасет).
  2. Обучили классификатор наличия внешних признаков заболевания на SSD Mobilenet V2.
  3. Конвертировали модель в Intel OpenVINO.
  4. Собрали каскад нейронных сетей под управлением Intel OpenVINO для последовательного выполнения следующих операций: детекция лиц и определение вероятности наличия признаков инфекции с фиксацией событий, их частотности и длительности.

Результат классификации – это вероятность наличия признака на фотографии или фрейме из видеопотока. Наглядный пример:

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

Далее, мы назначили зоны детекции на примере имеющейся под руками камеры. Получилось так (интерфейс ComBox Monster Vision):

Первая детекция – это лица, сетка из публичной и общедоступной модели model zoo, Intel OpenVINO. На OpenCV реализован траекторный анализ для удержания объекта (лица) в кадре. Далее, лица с расширением зоны передаются классификатору симптоматики и возвращается вероятность.

Мы фиксируем события (кашель) и их длительность. Предполагается, что на пункте пропуска за счет реидентификации лиц по 5 точкам (быстро, но не очень точно) можно будет уведомлять персонал транспортных узлов о необходимости дополнительных проверок (например, измерения температуры тела).

Детектор медицинских масок и иных СИЗ


Одной из областей применения объектовой видеоаналитики является безопасность. В рамках сложившейся ситуации целесообразно контролировать и детектировать использование медицинских масок и иных средств индивидуальной защиты персоналом торговых точек и медицинских учреждений. Для демонстрации возможностей нейронных сетей мы реализовали простой детектор масок на базе Mobilenet, с работой которого можно ознакомиться в боте в Телеграмм - https://tlgg.ru/imasks_bot

Детектор и счетчик пассажиропотоков для транспортной отрасли

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

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

Для решения этой задачи в пассажирский транспорт внедряют системы контроля пассажиропотока. Наше решение состоит из видеокамер, которые устанавливаются над зонами входа и микрокомпьютера с GPS/LTE-модулем, который отвечает за сбор и передачу данных в ЦОД. В ЦОД реализована система хранения видеоархивов со всех подключенных к системе камер с глубиной хранения в 1 мес., а также видеоаналитика, результат которой – количество входящих и выходящих пассажиров в разрезе времени.

Назначение:

  • Подсчет входящих и выходящих пассажиров на транспорте с точностью не менее 95%
  • Учет входящих и выходящих пассажиров по головам (high angle cameras)

Возможности и функционал:

  • Доступность эксплуатации решения на различных бортах (1/2/3 двери на пассажирских автобусах, железнодорожный транспорт и т.д.)
  • Обработка данных "на краю" или в ЦОД по данным сформированных ранее видео архивов
  • Исполнение нейронной сети под управлением Intel OpenVINO
  • Блок питания широкого диапазона
  • Нечувствительность к перепаду освещения
  • Хранение видеозаписи во внутренней памяти не менее 3-х суток
  • Хранение видеоархивов в ЦОД глубиной не менее 1 мес.
  • Подключение к сторонним блокам мониторинга под REST API
  • Удаленная передача данных на сервер с транспортного средства по сети GSM
Преимущества:

  1. Точность детектирования и подсчета количества входящих и выходящих пассажиров не менее 95%
  2. Учет не только входящего трафика, но и выходящего в том числе
  3. Единое универсальное решение для различного вида пассажирского транспорта
  4. Включение или выключение видеоаналитики и облачного хранения данных по требованию Заказчика
  5. Наличие видео-факта подтверждения каждого входа и выхода пассажиров в течении последнего календарного месяца
  6. Низкая стоимость единовременных вложений на комплект оборудования при высокой точности детектирования
  7. Исключение из статистики учета детей высотой менее 1 м
  8. Отсутствие дублирования входов пассажиров, которые вышли для пропуска выходящих (трекинг и удержание в кадре)

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

dba4eaaf-3ba2-477d-903e-e15bcd683477.jpg

Детектор дорожно-транспортных происшествий

Проект по внедрению технологий искусственного интеллекта в автоматизацию процессов фиксации ЧП и ДТП. Для демонстрации возможностей технологий на текущем этапе развития, мы реализовали и обучили нейронную сеть для распознавания факта наличия ДТП по фото или видео. С ней можно ознакомиться и проверить ее работу на боте в Телеграм по ссылке - https://t.me/car_crash_bot. Боту нужно отправлять фото с или без ДТП и он автоматически распознает факт его наличия, возвращая вероятность. При работе с видео, мы нарезаем поток на кадры и повторяем аналогичное действие (в боте это не интегрировано). В следующей итерации мы планируем встроить решение в видеорегистраторы некоторых вендоров и мобильные платформы, чтобы автоматизировать процесс получения информации о фактах ДТП в реальном времени. Результат распознавания, фото и метаданные (геолокация, место, время, данные об авторе при наличии соответствующих разрешений) могут отправляться и публиковаться в соответствующих группах в полуавтоматическом режиме (предлагаемые новости, например).

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