Привет, Хабр! Мы — Александр Просвирнин, руководитель проектного направления, и Иван Григорьев, старший менеджер продукта центра «Видеонаблюдения и Безопасности» блока по телекоммуникационному бизнесу, работаем в экосистеме МТС.
В этой статье мы расскажем о решении для анализа уникальных посетителей. Опишем недостатки существующих на рынке решений и расскажем, почему надо остановиться именно на видеоаналитике — и что мы сделали для улучшения алгоритмов.
Сначала о проблематике
Подсчет посетителей — известная задача, наиболее часто возникающая в реальных точках продаж. На основе статистики посещений по часам и дням недели владелец торговой точки может:
планировать маркетинговые акции в дни и часы наибольшей посещаемости;
определять, какие смены/сотрудники лучше обслуживают посетителей.
Эти данные легко конвертируются в подсчет прибыли (или убыточности) точки, а также дают представление о работе персонала — то есть помогают руководству при необходимости принимать кадровые решения по ротации персонала.
Что представляют из себя большинство таких решений?
Присмотритесь к входным группам магазинов в торговых центрах: вы увидите, что по краям этих «ворот» расположены датчики — эти датчики ведут подсчет посетителей на основе данных о пересечении инфракрасных лучей.
Однако, если в магазин заходит ребёнок — его датчики могут не заметить, так как рост детей ниже линии пересечения луча. А если магазин детский? Тогда статистика будет не так уж и точна.
Есть варианты потолочных датчиков на основе видеокамер.
Они считают людей по «головам» или «плечам» (на основе ИИ на борту или сервере), могут определять направления пересечения и считать, сколько людей зашло в магазин и вышло. Это актуально для точек с несколькими входами и выходами.
У этих типов датчиков есть общий недостаток — невозможность исключения повторных пересечений одним и тем же человеком из‑за того, что датчики распознают не лица, а считают количество проходов между рамками.
То есть, если кто‑то передумал и вернулся или что‑то забыл на кассе — этот посетитель будет посчитан несколько раз. А владелец или управляющий магазина увидит повышенную проходимость без конвертации в продажи. Кроме того, на погрешность подсчета посетителей влияет то, что персонал также проходит через рамки.
Подсчет по лицам
Выход из ситуации — подсчет по лицам. Разработка такого решения раскладывается на две подзадачи: распознавание лиц и исключение из подсчёта дубликатов.
Технология распознавания лиц на рынке безопасности уже хорошо отработана. Есть несколько типов решений, известны нюансы монтажа камер и так далее. Сегодня разработчики технологии сместили свой фокус в сторону метаданных объекта: в этом случае задачи работы «по лицам» разделяются на два условно независимых направления — классическое распознавание лиц и направление работы с метаданными лица или объекта. Причем области применения и модели монетизации в обоих направлениях сугубо специфичны.
В случае классического распознавания лиц, на рынке есть огромное количество реализованных проектов, в том числе в портфеле проектов от МТС. Мы уже реализовали более полутора тысяч проектов по умному видеонаблюдению в различных регионах РФ. Самый крупный и масштабный проект был реализован в Приморье, где уже с 2020 года более трёх десятков общественных пространств оснащены системами распознавания лиц.
В этом примере основная функция распознавания лиц — поиск людей. Решение позволяет найти пропавших людей при помощи интеллектуального поиска по фото, методом вторичного поиска: можно отследить, где и когда человек впервые попал в кадр, кто был с ним рядом, проследить его дальнейшее перемещение. Эта технология полезна и при поисках злоумышленников.
Решения для подсчета количества посетителей
Если обобщить, на рынке есть следующие решения:
Тип подсчета |
Описание |
|
1 |
Датчик входа |
Лучевые датчики, датчики обнаружения движения, 2D/3D видеодатчики |
2 |
Камера подсчета |
Камеры со встроенным алгоритмом определения фигуры человека |
3 |
Камера определения и распознавания лица |
Специализированные камеры распознавания лиц |
4 |
Камера определения и распознавания лица + метаданные |
Специализированные камеры распознавания лиц с функцией определения метаданных |
Примечание: решения 2-4 можно встретить на рынке в виде программной аналитики. В этом случае используются стандартные камеры, а все распознавания и вычисления производят на сервере/рабочей станции. Оба решения (аппаратная и программная аналитика) имеют свои сильные и слабые стороны, и выбор обусловлен совокупностью факторов — но это вопрос отдельной статьи. Здесь же мы остановимся на аппаратной аналитике, как на варианте, который не требователен в плане эксплуатации решения и минимизирует риски неработоспособности.
О камерах подсчета
При помощи умной видеоаналитики лиц посетителей можно более точно определить посещаемость выбранной точки.
График ниже показывает проходимость конкретного сквера во Владивостоке, оснащенного системой видеонаблюдения.
Исключение дубликатов
Однако, эта задача не решает проблему повторов/дубликатов, когда один и тот же человек может несколько раз пройти мимо камеры и каждый раз будет посчитан.
Для этого как раз требуется решить вторую подзадачу — исключение дубликатов лиц. Тут понадобилась серьёзная разработка самого функционала и доработка существующего программного обеспечения.
Нам это удалось не с первого раза: на внедрение и пилотирование потребовалось четыре месяца. Систему испытывали в клинической больнице №4 Владивостока.
Технически структурная схема решения выглядит следующим образом:
Наша система с распознаванием лиц позволяет точно фиксировать моменты прибытия и убытия. А доработанное ПО исключает дубликаты лиц, например, персонал и позволяет точно рассчитывать время пребывания пациентов в больнице. Эта информация позволяет руководству медицинского учреждения выявлять причины длительного обслуживания и оптимизировать процесс приема и обследования.
Все, кто хоть раз бывал в поликлинике, знают, что такое длительное ожидание в очередях на приём или на различные процедуры. Имея данные, каких врачей и кабинеты посещал тот или иной больной, можно оценить качество работы персонала. Давайте подробнее остановимся на том, каким образом это реализовано.
Данное решение состоит из 3 уровней: камеры захвата лиц, регистратора, который помимо функции записи видео, также может распознавать лица и производить различные манипуляции с базой данных и специализированное программное обеспечение, которое производит пост-анализ данных.
Структура может быть упрощена — тогда мы используем обычные камеры вместо специализированных.
Пройдемся по каждому компоненту системы:
Камера захвата лиц
Распознавание лиц состоит из 2 этапов: захват лица и его распознавание. Применение решения, как на примере выше, позволяет разгрузить вышестоящие компоненты системы, взяв на себя функцию захвата лиц. Распределение вычислительных и аналитических задач делает работу более прогнозируемой, а подобные системы оказываются более приспособленными к масштабированию и работе на пределе их производительности.
Регистратор распознавания лиц
В этой части может применяться как регистратор, так и специализированный сервер. В случае децентрализованности и большого количества точек ритейла, на практике применение серверов нецелесообразно.
Регистратор/сервер производит следующие действия: [захватывает лицо], распознает лицо (см. структурную схему ниже).
То есть по большому счету задача регистратора сводится к поиску новых лиц и их добавлении в базу данных, нахождению лиц из базы данных и обновлению информации по ним (время обнаружения, место, возможно также иная сопутствующая информация). Все это представляет собой неструктурированный массив данных о лицах, так называемые «сырые данные» (RAW‑данные).
В дальнейшем нам потребуется произвести их структурирование, в модельном времени или в реальном времени, в зависимости от поставленных задач и временных рамок на эти задачи. На этом шаге мы прибегаем к помощи структурированных запросов в БД, которые и позволяют вычленить из RAW-данных интересующую нас суть.
Программное обеспечение
ПО, получив данные об обнаруженных лицах (а точнее об их уникальных идентификаторах), сопоставляет время входа, выхода, маршруты перемещения и так далее. Результат выдается в виде отчетов или специализированных dashboard.
Здесь мы возвращаемся немного назад и вспоминаем о структурированных запросах. Именно на этом уровне системы как правило, они формируются (безусловно есть исключения и существуют специализированные аппаратно-программные комплексы (АПК), есть полностью программные решения, но с точки зрения функционального наполнения они абсолютно идентичны).
Какие метаданные, помимо пола и возраста возможно использовать для конкретизации результата анализа посетителей? На сегодняшний день востребованы такие параметры как: выражение лица (частый запрос для объектов обслуживания населения, банками), тип одежды (хорошая маркетинг метрика для оптимизации ассортимента, проведения акций и прочих активностей).
В совокупности как данные так и метаданные — это универсальный инструмент для всестороннего анализа посетителей как для внутреннего понимания так и для внешнего потребителя такой информации (как пример — потенциальные или существующие арендаторы) и наша задача сводилась к структуризации этих данных в готовые формы отчетов и dashboard. Но безусловно такого рода решения позволяют свободно оперировать всеми данными в рамках сложноструктурированных запросов.
Подобные решения минимизируют ошибки учета посетителей, исключают из оценки сотрудников предприятия, позволяют получить много больше полезных метрик ТЦ, магазинов, развлекательных и выставочных центров и так далее. Всё это, в конечном счёте, может использоваться руководителями для повышения эффективности работы учреждения или бизнеса.
Спасибо за уделенное статье время! Если у вас есть вопросы – с радостью отвечу на них в комментариях. Также с удовольствием почитаю ваши истории о работе с системами видеонаблюдения.