Компьютерное зрение для детектирования людей и идентификации персонала в торговом зале
Владимир Хомяков, разработчик систем компьютерного зрения, Beltel Datanomics.
Аналитический центр Tadviser в 2019 году проводил исследование российского рынка компьютерного зрения. В числе препятствий для развития этого рынка участники называли высокую стоимость разработки и внедрения подобных систем, долгий срок окупаемости, недостаточную точность и надежность системы.
Попробуем разобраться в этих и других опасениях на примере решения для ритейла, которое в период эпидемии и спада деловой активности становится актуальным – детектирование людей и идентификация персонала в торговом зале.
Препятствие 1: «Компьютерное зрение – это долгая разработка»
С технической стороны для задачи детектирования и идентификации людей лучше всего подойдут нейросети. Они намного точнее стандартных алгоритмов распознавания людей (HOG, вычитание заднего фона и т.д.). Причем, есть уже много предобученных нейросетей, которые нужно просто настроить для ввода в эксплуатацию. Поэтому развертывание решения можно выполнить за неделю.
Препятствие 2: «Надо менять ИТ-инфраструктуру, покупать дорогие серверы с графическими процессорами (GPU)»
Нейросети требовательны к системным ресурсам, но нейросети компьютерного зрения не всегда нужно запускать только на GPU, они также могут работать и на CPU, но медленнее. А некоторые нейросети детектирования объектов вполне работают и на мобильных устройствах, но дают менее точный результат. Поэтому при их использовании нужно в первую очередь определиться, какая скорость распознавания требуется. Примерный расчет времени детекции людей:
Также существует возможность использовать и другие гибридные устройства. Например, мы протестировали устройство Jetson Nano стоимостью 10000 рублей на текущий момент. Оно выполнило распознавание одного кадра при детектировании людей за 0,1 секунды.
Препятствие 3: «Система видеонаблюдения уже есть. Мы не хотим ничего менять. Будет ли система компьютерного зрения работать с удовлетворительной точностью на существующих камерах?»
Использование уже установленных и настроенных камер видеонаблюдения даже упростит развертывание системы компьютерного зрения. Точность распознавания современных нейросетей достигает 93-98.5%, например, нейросеть FixEfficientNet-L2 на классификации датасета ImageNet показала точность 98.7%.
Важную роль играет выбор метода решения – какую нейросеть использовать, какие требования и ограничения. Допустим, необходимо идентифицировать человека как свой/чужой. Самый простой подход – это использовать OpenSource решения распознавания лиц, таких как arcFace, FaceNet и др. и сравнивать лица покупателей и кассиров. Но, как правило, на торговом объекте камеры видеонаблюдения крепятся к потолку и не всегда имеют достаточное разрешение, чтобы распознать лицо человека. В результате точность идентификации будет низкой, пользы такое решение не принесет. Тогда как идентифицировать задетектированного человека? Подход в этом случае – это классификация свой/чужой по одежде, поскольку персонал магазина, как правило, одет в униформу компании.
Чтобы предложить оптимальное решение, разработчики систем компьютерного зрения запрашивают примеры входящего видеопотока.
Детектирование и идентификация людей (свой/чужой)
Итог
В результате работы системы компьютерного зрения мы имеем поток информации с торгового объекта – количество покупателей, количество персонала в торговом зале. Далее мы можем получить динамику посещаемости и оптимизировать рабочие смены.
Можно поставить и другие дополнительные задачи, например, носит ли сотрудник медицинскую маску, моет ли он руки в подсобном помещении, находится ли человек в запрещенной зоне.
Как уже говорили, решение можно развернуть на торговом объекте за неделю, нужно иметь доступ к камерам видеонаблюдения и сервер для обработки видеоинформации.
В дальнейшем можно усовершенствовать эту систему – идентифицировать людей в торговой точке не только как свой/чужой, но и собирать статистику посещения конкретного человека, статистику возрастов, пола покупателя, определять людей из «черного списка».