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

Сегодня мы поговорим о детектировании скопления людей.

Данный модуль не только полезен при построении системы "Безопасный город", но и востребован частными организациями. ПО позволяет оператору определить пороговое значение количества субъектов в скоплении и получать тревожные сообщения при его превышении. Каким же образом работает программа? Предлагаем разобраться.

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

1. Подсчет площади

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

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

75% -достоверность определения количества людей в толпе у систем, основанных на подсчете площадей.

2. Особые точки градиента

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

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

3. Подсчет по текстуре

Данный метод относится к числу самых неточных (достоверность 50%). Есть также требования к перспективе: толпа должна располагаться на неком удалении от камеры. Принцип метода заключается в отслеживании изменения "рисунка" толпы: набора цветов в ней.

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

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

4. Детектирование голов

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

К минусам можно отнести необходимость использования камер с высоким разрешением.

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

5. Анализ траектории

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

Итоги

Самым правильным решением является комбинация таких методов. Это дает существенный рост достоверности оценки. Обращайтесь к менеджерам ДЕЛК. Наш опыт поможет подобрать вам необходимое ПО без лишних затрат. Ждем Вас!