16.01.2021 | В одной «коробке». Как совместить задачи аналитики и безопасности в распознавании |
Юрий Годына, основатель компании видеоаналитики Facemetric Сегодня затраты на внедрение технологий безопасности и аналитики не всегда легко обосновывать даже в очень крупных компаниях. Однако это не взаимоисключающие задачи, и обе крайне важны для конкретных отделов — маркетинга и службы безопасности. Когда мы соединяем функционально разные задачи по принципу «2 в 1», то у организаций появляется возможность сэкономить и «пошерить» высвобожденные средства на другие отделы (как минимум, внедрение подобной идеи гораздо проще защитить на совете директоров). Специально для SecurityLab мы расскажем о том, как «в одной коробке» соединить два главных сценария — задачу безопасности и задачу аналитики, с технической точки зрения. Как происходит распознавание лица: краткий ликбезПредставьте камеру, установленную в определенной зоне — на стене над входом. Камера снимает видеопоток и отправляет его на распознавание. Затем за дело берется специальный детектор — программный модуль “парсер”. Он перебирает кадры из видеопотока, и в каждом из них ищет лицо. Следом за детектором идет еще один модуль — трекер. Его задача в том, чтобы из последовательности кадров выбрать удачные и собрать на человека “трек”, условное досье, которое расскажет о перемещении человека в кадре. Например, человек попадает в объектив камеры. Это всего пара секунд — но их достаточно, чтобы камера сделала примерно 20 кадров. Трекер связывает кадры и собирает на этого человека трек — набор изображений его лица от первого до последнего момента появления в кадре. В итоге мы имеем 20 кадров лица, из которых выбираются идеальные с технической точки зрения ракурсы: с удачным расположением головы, такие, где человек не отвернулся, не наклонился, где лицо не размазано и так далее. Некоторые даже удачные ракурсы технология может доработать дополнительно: например, довернуть голову в нужную нам сторону, максимально близко к анфасу. И здесь наступает распознавание — то есть из картинки с лицом выделяется вектор признаков (набор байт, который характеризует это лицо), по которому мы ищем в базе данных похожие вектора. Как программируется распознавание лица: чуть сложнееВекторы размещаются в векторном пространстве. Условно можно представить их как множество точек на плоскости. Если точки располагаются близко друг к другу (расстояние между векторами минимально), то можно сделать вывод, что эти вектора характеризуют один и тот же объект. Если же точки разнесены далеко, то скорее всего они никак друг с другом не связаны и характеризуют разные объекты. Если нужно распознать эмоции, к описанному выше пайплайну просто добавятся новые шаги. После того, как лицо найдено, технология его классифицирует — прогоняет по одному или нескольким классификаторам. Каждый классификатор дает нам информацию о человеке: один — о его возрасте, другой — о поле, третий — об эмоциональном состоянии, четвертый — о его прическе, пятый - о наличии защитной маски на лице и так далее. Чем больше классификаторов, тем более детальную характеристику мы получаем. Две задачи технологии распознаванияТехнологии распознавания лиц решают две основные задачи: задачу безопасности и задачу аналитики посетителей/людей/прохожих. Например, у нас есть сеть супермаркетов формата “у дома”. В одном из них у входа стоит камера. В день в точке проходит около 5000 человек, и среди них нам нужно “отлавливать” посетителей из “черного списка”, в который входит всего 30 человек. Это могут быть воришки, которые орудуют в ближайших магазинах, или преступники, которые находятся в оперативном розыске (обычно такие списки составляются сотрудниками сил безопасности магазина по своим данным или по данным федеральной службой исполнения наказаний либо МВД). Или, наоборот, это могут быть VIP-клиенты — то есть какое-то ограниченное количество лиц. Получается, что в задаче безопасности мы всегда работаем с условно короткими списками, их размер ограничен, наполнение регламентировано. Вторая задача технологии распознавания — анализ потока людей. Нам важно узнать, сколько людей приходит, новые это или “возвращающиеся” клиенты, какого они пола и возраста. Также у технологии распознавания текста есть и другие прикладные задачи: например, когда нам нужно опознать человека в системе контроля и управления доступом (СКУД) или системе учета рабочего времени (СУРВ). Подобные системы внедряются в бизнес-центрах, на предприятиях, скоро будут внедряться в московском метро — люди смогут без прикладывания билета, по распознаванию лица проходить через турникеты. Такую же систему можно интегрировать в домофон. Совмещение задач в распознавании
Чтобы понять, как совместить две задачи в одной технологии, нам нужно отталкиваться от ошибок, которые имеют место в процессе распознавании. В процессе распознавания выделяются 2 вида ошибок — “ошибка первого рода” и “ошибка второго рода”. Эти статистические термины пришли из военной практики: при противовоздушной обороне ошибка первого рода — это когда зенитная батарея не определяет летящий самолет, как вражеский (опровержение верной гипотезы) — и самолет пролетает мимо и бомбит наш тыл. То есть “ошибка первого рода” — это “мы должны были его сбить врага, но не сбили, т.к. приняли за своего”. “Ошибка первого рода”, это когда зенитная батарея видит самолет, принимает его за вражеский и сбивает — а потом оказывается, что это был свой самолет, т.е. произошло принятие ложной гипотезы. Это “мы сбили и обознались, но зато сняли риск уничтожения нашего тыла”. В статистике эти ошибки есть всегда, и их уровень связан друг с другом. Поэтому при решении прикладных задач важно выбрать правильное соотношение ошибок первого и второго рода, достигая оптимального уровня вероятности совершения ошибки второго рода при допустимом уровне значимости (вероятности получения ошибки первого рода). При распознавании в целях безопасности мы можем себе позволить иметь относительно высокое значение ошибки второго рода (выдать ложную сигнализацию о том, что зашел человек из черного списка, однако на самом деле это будет не он). Но мы максимально должны снизить возможность ошибки первого рода. Потому что для безопасности самое главное — не пропустить человека из черного списка. В аналитике, наоборот, нам важнее допускать как можно меньше ошибок второго рода. Потому что если мы в каждом десятом человеке будем видеть кого-то другого, то мы будем выдавать недостоверную статистику. Как (и зачем) совмещать задачу безопасности и задачу аналитикиОбычно эти задачи решаются порознь, даже с использованием разных аппаратных средств. Однако часто заказчики приходят с просьбой решить обе этих проблемы одновременно. Обычно это ритейл компании с несколькими подразделениями: службе безопасности нужно искать воришек, а службе маркетинга — анализировать поток. Мы нашли пути, как объединить решение двух задач, не потеряв качество распознавания: а именно — настроили оборудование так, чтобы использовать разные пороги похожести (то самое расстояние между векторами). Для задачи безопасности (где мы снижаем вероятность ошибки первого рода и вынуждены считаться с ростом вероятности ошибок второго рода) мы используем один порог похожести — он заниженный. В случае с задачей аналитики порог похожести гораздо выше, чем в первом случае — а за счет постпроцессинга мы “вытягиваем” ошибку первого рода (тут уже появляется третий уровень порога).
Когда мы объединяем две разные задачи, мы просто используем разные пороги для разных задач и на разных этапах — чтобы убить двух зайцев сразу. При этом мы можем использовать дублирующие камеры (чтобы повысить вероятность обнаружения человека из черного списка) для безопасности, и они не несут погрешности в систему подсчета, создавая дубли. Как правило, мы отталкиваемся от первой задачи — изначально мы решали задачу подсчета, затем перед нами появилась новая — подготовить систему так, чтобы она решала еще и задачу безопасности без потери качества первой. Именно так совмещаются «в одной коробке» два главных сценария. Тема сейчас в тренде, потому что, во-первых, совмещение сейчас актуально для всех сфер. Во-вторых, зная принцип совмещения, можно перенести их и на другие инженерные решения. И, конечно, это позволит компании убить двух зайцев: сократить расходы, не исключая вопросы безопасности и аналитики. |
Проверить безопасность сайта