Журнал "Системы безопасности" #6, 2019
В И Д Е О Н А Б Л Ю Д Е Н И Е 85 торые товары находятся в ротации, мы не можем применять этот Pipeline бесконечно долго. Поэто- му мы извлекаем эмбеддинги из модели и строим на них аппроксимацию KNN, используя nmslib. То есть переобучаем только ту часть, кото- рая определяет KNN, а все остальные модели фиксированы и не зависят от того, какие товары в данный момент времени мы детектируем. График зависимости уникальных PLU показывает, какие товары стоят на полке в данный момент вре- мени. Если есть значимые изменения в разнооб- разии товаров, то это видно на графике (рис. 2). Метрики Благодаря видеоаналитике можно собирать метрики, исходя из того, что происходит на полке в данный момент времени и что происхо- дило в прошлом за разные временные отрезки. Используя предсказания всех моделей, мы собираем метрики, которые анализируются супервайзерами и отображаются в двух местах: 1) в каждом в магазине на мониторе, где сотрудники могут видеть, что происходит в раз- ных отделах, и оперативно на это реагировать; 2) на центральном сервере, куда стекается ста- тистика со всех магазинов и строятся дашборды. Распознавание лиц В кейсе распознавания лиц мы сначала детек- тируем лицо с помощью MTCNN и затем выде- ляем ключевые точки, чтобы выровнять лицо. После выравнивания оно выглядит как фото на паспорт, только немного искаженное. Далее мы используем нейросеть, которая выдает эмбеддинги. Это набор абстрактных признаков, которые должны быть разные у людей, не похо- жих друг на друга и совпадать у одного челове- ка, даже если он был снят в разных условиях. После этого мы обучаем nmslib. Примечательно то, что мы не обучаем модели под конкретную задачу, мы подбираем трешхолд, по которому определяем, есть ли этот человек в базе или нет. Антиспуфинг Обычно мошенники пытаются обмануть систе- му, показав фотографию в телефоне или на бумаге. Система должна определить, кто перед ней – фейк либо реальный человек. Для этой задачи у нас есть очень хорошее решение, кото- рое мы получили, заняв топовое место в сорев- новании по машинному обучению. Мы сделали Web-сервис, который по собран- ной базе может определить, что перед ним кон- кретный человек. Решение мы портировали на прайс-чекер – дешевое легковесное устройство с Андроидом, которое за три секунды опреде- ляет, реальное это лицо или фото. Определение очередей В этом кейсе все очень банально: мы считаем количество людей в конкретной области и гово- рим, что это, например, очередь из трех чело- век. В более продвинутом варианте мы считаем головы и части тела, а дальше по модели вто- рого уровня определяем, что если видно две головы, два человека и три части тела, то, ско- рее всего, в очереди семь человек. В качестве библиотеки здесь можно использо- вать NVIDIA RetinaNet, которая позволяет вести обработку в режиме реального времени. В результате мы получаем достаточно дешевое решение для контроля количества людей в оче- реди либо подсчета других объектов. Распознавание действий Алгоритм распознавания действий позволяет определить, что человек в конкретный момент времени взял конкретный товар. При этом можно сделать сличение людей с двух камер по внешним признакам, которые не связаны с лицом (например, по одежде) и понять, что это один и тот же человек. Кроме того, можно строить скелет людей на изображении, детек- тировать их руки и определять, что в руке что- то есть. И все это – в реальном времени на видеокарте достаточно низкого уровня. n www.secuteck.ru декабрь 2019 – январь 2020 Ваше мнение и вопросы по статье направляйте на ss @groteck.ru Рис. 2. График зависимости уникальных PLU Рис. 3. Высокоуровневая схема решения. Все сложные и тяжелые вычисления происходят в самом магазине. В ЦОД отправляются только агрегированные метрики Рис. 4. Подсчет людей – Advanced Глоссарий Эмбеддинг (англ. Embedding) – векторное представление объектов. Одинаковое либо очень близ- кое для одного и того же объекта в разных условиях. И разное для похожих, но разных объектов. KNN (k Nearest Neighbours, метод ближайших соседей) – алгоритм решения задач классифи- кации или регрессии, который строит предсказания на основе ближайших объектов с извест- ными значения целевой переменной. nmslib – библиотека с апроксимацией алгоритма KNN. https://github.com/nmslib/nmslib. MTCNN – архитектура нейросети, разработанная для детектирования и выравнивания лица человека
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw