Методы программного подсчета людей в очереди. Контроль и повышение качества обслуживания покупателей

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

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

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

Специфика подсчета людей в очереди

В отличие от подсчета в скоплениях, когда зачастую необходимо не столько определить точное количество людей, сколько получить некое оценочное значение, подсчет людей в очереди требует существенно более точного результата.

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

В отличие от детектирования толпы — в этом случае наблюдение зачастую проводится на улице, в кадр попадает большая площадь, поэтому необходимо учитывать влияние перспективы.

С другой стороны, сами объекты, с которыми работает модуль подсчета в очереди, сложнее. Камера «видит» людей близко, их изображение более детально, поэтому они менее схожи друг с другом. Программе необходимо найти людей в очереди, правильно их разделить, исключить посторонние объекты (например, тележки с продуктами) и только после этого произвести подсчет. Кроме того, сложности возникают в связи с малоподвижностью очереди. Работа модуля ведется только с объектами, которые выявил детектор движения, а в очереди если и присутствует подвижность, то минимальная. Поэтому точность работы модуля подсчета в очереди первоначально зависит от точности детектора движения.

Статистический метод подсчета

Методы подсчета людей в очереди условно можно разделить на две группы: статистические и использующие классификацию.

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

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

Для повышения точности подсчета в данном алгоритме может быть реализован ряд улучшений. Например, можно учитывать те случаи, когда люди в очереди стоят вплотную друг к другу и визуально занимают меньшую площадь. Это можно учесть с помощью введения специального коэффициента, который численно равен среднему количеству людей, приходящихся на 1 пкс изображения. Этот параметр может отличаться для разных объектов, и можно вывести некоторые зависимости показателя от размера движущегося объекта. Чем больше движущийся объект, тем выше вероятность, что его составляют несколько людей, и параметр плотности изображений людей на 1 пкс выше. Таким образом, если программа детектирует в очереди объект большего размера, при пересчете будет учтено, что люди могут загораживать друг друга.

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

Метод подсчета, использующий классификацию

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

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

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

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

Особенности методов подсчета людей в очереди

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

Статистические методы основаны на детекции движения и ведут работу с изменяющейся на последовательности кадров областью. Подсчет ведется на основе оценки площади очереди с учетом специальных коэффициентов. Метод не отличается высокой точностью в случае, если в очереди присутствуют не только люди, образующие ее, но и посторонние объекты аналогичной величины.

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

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

Александр Коробков, Главный архитектор компании Macroscop

Опубликовано в Новости
Яндекс.Метрика