Ivideon

«Самый быстрый СКУД на Диком Западе!» Как любовь к Call of Duty: Mobile помогла нам улучшить сервис

Привет! Меня зовут Виталий Виноградов, я отвечаю в Ivideon за разработку и запуск продуктов на базе технологии распознавания лиц. Хочу рассказать, как мобильная игра помогла нашей компании улучшить работу сервиса по управлению доступом (СКУД) на базе Face Recognition.

Немного про customer experience и мобильные игры

В свободное время я люблю иногда поиграть в Call of Duty: Mobile. Это мобильный онлайн-шутер, где игрок соревнуется в разных режимах с живыми людьми. И я терпеть не могу, когда игра на телефоне лагает. Плавный геймплей без фризов и лагов — это то, что даёт возможность в полной мере насладиться коротким сеансом игры и выводит customer experience на новый уровень.

Customer experience (или CX, англ. «опыт потребителя») — важная характеристика, которая на конкурентном рынке отличает хороший современный продукт и бренд от рядового.

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

Помня про философию «яблочных», я подумал: «Почему бы не сделать свой пользовательский опыт в мобильной игре лучше». И решил перейти на смартфон с мощным чипсетом Snapdragon 865 — с ним популярный шутер раскрылся для меня именно так, как должен был. О том, что такое средние настройки графики, лаги, фризы и низкое значение fps (кадры в секунду), я забыл.

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

При этом я не преследую цель глобально сэкономить своё время — хочется верить, что несколько секунд в быту вряд ли играют ключевую роль. Но хочется двигаться к светлому сверхскоростному будущему с технологиями 5G, развитым искусственным интеллектом и «бесшовной» автоматизацией рутинных операций.

Это касается и рабочих проектов.

В 2019 году мы в Ivideon запустили услугу для контроля и управления доступом на объект на базе облачной технологии распознавания лиц. От обычного СКУД наш отличается простой инсталляцией — для его работы нужна только камера, связанная с контроллером двери, и подписка на сервис Ivideon Faces стоимостью 3 150 руб/мес. Никаких дополнительных капитальных затрат для клиентов.

Как работает система

Ниже следует довольно подробное описание схемы работы облачного СКУД на базе технологии распознавания лиц. Если вам это не нужно, можно смело переходить к разделу «Зачем ускорять работу СКУД».

Когда вы подходите к двери, вас снимает камера, которая соединена не только с нашим облаком через интернет, но и с контроллером двери через «сухие контакты». Это провода, которые замыкаются по сигналу с камеры, и на них подаётся ток.

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

Затем вектор алгоритмически сравнивается с загруженными в базу лиц. Если лицо найдено в базе и у него проставлен атрибут доступа в помещение, то на камеру отправляется сигнал на открытие двери, камера замыкает «сухие контакты» и дверь открывается. В противном случае вам придется стоять и ждать пока кто-то откроет её для вас. Благодаря оптимизации пути доставки сигнала вся описанная процедура занимает 2,5-3,5 сек.

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

Зачем ускорять работу СКУД

Запуская продукт, мы особо не думали о скорости работы СКУД и на всякий случай оставили для клиентов возможность запуска через локальный сервер без подключения к облаку. Но практика показала, что люди не очень хотят возиться с лишним железом на объекте, при этом скорость срабатывания облачного решения — 3 сек — не давала тот уровень комфорта, который возможен с локальным решением. Здесь вспоминаем пример с Call of Duty — продукт хороший, но для лучшего CX понадобился апгрейд железа. Поэтому мы с командой решили довести работу облачного СКУД до условного идеала.

Цель — сделать так, что облачное решение по скорости срабатывания не уступало локальным аналогам и составляло 1-1,5 сек.

Как мы делали «самый быстрый СКУД на Диком Западе»

Шаг 1. Мы составили табличку, в которой записали каждый этап прохождения сигнала, — кодирование видео на камере, отправка, сохранение в облаке, прогон через аналитику, сравнение с базой лиц, отправка сигнала и замыкание контактов.

Шаг 2. Построили небольшой тестовый стенд на столе у главного разработчика и на каждом этапе провели замеры скорости и времени отклика системы по каждому из пунктов таблицы.

После этого нам стали понятны узкие места.

Проблема №1: время работы аналитики (детекции лица).
Проблема №2: доставка сигнала от аналитического сервера на камеру.

Шаг 3. Проблему работы аналитики мы решали за счёт установки более частых периодов детектирования — сервер при анализе видеопотока стал генерировать события детекции лица чаще. Раньше это происходило каждые 2 секунды, а сейчас каждые 700 мск.

Однако в первый раз это привело к падению всей нашей облачной инфраструктуры, потому что из-за большого количества событий резко возросла нагрузка. В итоге мы приняли решение купить сервера с более удачной архитектурой процессоров. Это нам позволило не только ускорить СКУД, но и сэкономить бюджет компании на модернизацию, потому что вся облачная система в целом стала работать быстрее.

Шаг 4. Проблему доставки сигнала от аналитического сервера на камеру мы решили сокращением пути, по которому шёл сигнал. Если раньше он проходил через 3 промежуточных сервиса (центральный сервер, видеосервер, камера), то сейчас после распознавания сигнал сразу идёт на камеру.

Эти улучшения помогли нам сократить задержки срабатывания почти в 3 раза и обеспечить максимально комфортный experience для наших пользователей. Учитывая, что камера начинает вас «распознавать» ещё на подходе к двери, то весь процесс, который занимает теперь 1-1,5 секунды, вы просто не заметите — дверь будет открыта ещё до того, как вы потянетесь к ручке.

Что можно ещё улучшить?

Несмотря на положительный результат оптимизации, нам есть куда развиваться в плане улучшения качества CX.

Скорость обсчёта дескриптора (вычисление математического вектора найденного лица) составляет порядка 700 мс, а это почти половина всего времени работы СКУД. В ближайшее время мы хотим улучшить эту ситуацию за счёт внедрения аналитических серверов на базе графических процессоров или GPU (сейчас всё работает на центральных процессорах — CPU). Работа нейронных сетей на GPU получается более эффективной: разница в скорости в ряде случаев может увеличиться в десятки раз.

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

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

0
Комментарии
Читать все 0 комментариев
null