Как стать автором
Обновить

Computer Vision. Подсчет клиентопотока

Время на прочтение 2 мин
Количество просмотров 1.6K


Стояла задача проанализировать и подсчитать поток клиентов в офисе. Для похожих задач существует множество решений, как с использованием сверточных нейронных сетей (Convolution Neural Network, CNN), таких как YOLO (You Only Look Once), SSD (Single Shot Detection), R-CNN и т.д. Но так как входными данными были видео фрагменты различного разрешения и формата, в зависимости от модели регистраторов и выставленных настроек, было принято решение попробовать метод Background Subtraction. Так же хотелось попробовать данный алгоритм, потому что до этого не сталкивался с ним и было интересно на что он способен.



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





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



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

К сожалению данный метод имеет свои недостатки, это выделение некоторых артефактов, плюс имеет ограниченный функционал и узкую сферу использования, но как опыт и знакомство с возможностями Computer Vision отличная возможность.

Предлагаю воспользоваться моим опытом по использованию открытых инструментов и сервисов, позволяющих решать задачи компьютерного зрения.
Теги:
Хабы:
+3
Комментарии 2
Комментарии Комментарии 2

Публикации

Истории

Работа

Data Scientist
66 вакансий

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн