Контакты
Подписка
МЕНЮ
Контакты
Подписка

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

В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик  |  К списку авторов  |  К списку публикаций

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

Системы видеонаблюдения все чаще используются для задач, выходящих за рамки безопасности. Рассмотрим модуль подсчета людей в очереди, который нашел широкое применение в ритейле и выступает эффективным инструментом для маркетинговых задач, сбора статистики и повышения качества обслуживания покупателей
Александр Коробков
Главный архитектор компании Macroscop

Реализации подсчета людей в очереди и в местах скоплений имеют много общего (см. статью "Эффект толпы, или Детектирование скопления людей в городе" в журнале СБ № 1/2014). В обоих случаях возможен подсчет с использованием методов, анализирующих группу (очередь или толпу) в целом и детектирующих отдельных людей.

Специфика подсчета

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опубликовано: Журнал "Системы безопасности" #5, 2015
Посещений: 5837

  Автор

Александр Коробков

Александр Коробков

Директор по разработкам компании MACROSCOP

Всего статей:  47

В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик  |  К списку авторов  |  К списку публикаций