Знакомые все лица

27 августа 2018, 23:03    575

О видеоаналитике говорят и спрашивают практически на каждой выставке, посвященной техническим средствам безопасности. Иногда на стендах с мониторов на нас смотрят лица, пойманные в кадр, обведенные «рамочкой». И споры об увиденном продолжаются от выставки к выставке — распознавание лиц это дорого, но решает какие-то фантастические задачи или толком нигде не работает, и нужно только спецслужбам.

АЛГОРИТМ РАСПОЗНАВАНИЯ ЛИЦ

Работа по распознаванию, когда из видеопотока выхватывается лицо, которое в дальнейшем надо будет узнать, начинается еще «за кулисами» собственно алгоритма — с анализа изображения на наличие лица в кадре. Уже тут начинается первая проверка на «помехоустойчивость». Помехами алгоритму тут будут различные узоры на одежде и формы предметов, похожие на лица. Или тени, головные уборы — все, что не дает алгоритму понять в принципе, что в кадре есть предмет для распознавания. Как ни странно, высокое разрешение камеры тоже отчасти «помеха» — чем выше разрешение, тем больше участков кадра алгоритм должен «разобрать», чтобы понять — есть тут лицо человека, или нет.

Следующий шаг подготовки к распознаванию — это выравнивание лица. Даже если оно повернуто четко в кадр, голова может быть чуть-чуть наклонена, а значит, один глаз будет выше линии другого глаза. Чтобы такое лицо распознать, нужно будет его «повернуть», хотя это актуально не для всех систем. Все зависит от алгоритма. Наконец, третий шаг — непосредственно применение алгоритма распознавания, по сути, построение математической модели из изображения. То есть алгоритм распознавания не накладывает две картинки друг на друга (одна с камеры, другая из базы), а сравнивает их математические модели.

МАТЕМАТИЧЕСКИЕ МОДЕЛИ ЛИЦ ДЛЯ РАСПОЗНАВАНИЯ

Рассмотрим наиболее часто используемые алгоритмы (иногда по отдельности, а у некоторых разработчиков последовательно для одного и того же лица для большей точности).

1 Графы

Нанесение различных «сеток» или «масок», называемых графами, на изображение с учетом ключевых точек. Суть метода в том, что расстояния между ключевыми точками лица (разные алгоритмы выделяют от десятков до тысяч таких точек) дают уникальную картину. Важно не просто построить математическую модель, а научить систему изменять граф в зависимости от смещения точек (например, поворот головы) — одни точки и ребра графа нужно будет поднять, другие опустить, одни удлинить, другие укоротить.

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

2 3D-графы

Механизм распознавания с помощью графов работает не только для двухмерных изображений (обычная камера видит только ширину и высоту, но не понимает «глубины» в кадре). Этот же алгоритм применим и для 3D-камер, у которых вероятность распознавания существенно выше. Суть алгоритма в целом та же — ключевые точки соединяются ребрами, но с учетом глубины изображения. При этом есть алгоритмы создания «псевдо3D» графов из обычного двухмерного изображения (плоский граф как бы «натягивается» на шаблон головы, и модель сохраняется уже с учетом глубины изображения). В вершинах графа вычисляются значения признаков, чаще всего используют комплексные значения фильтров Габора или их упорядоченных наборов — Габоровских вейвлет (строи Габора), которые вычисляются в некоторой локальной области вершины графа локально путем свертки значений яркости пикселей с фильтрами Габора.

3 Анализ кожного покрова 

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

4 Нейронные сети

Распознавание с помощью нейронных сетей. Несмотря на то что сами технологии нейронных сетей развивались с сороковых годов XX века, реальный опыт их использования для распознавания графических образов, в частности и для распознавания лиц, — это достижения последних пяти лет.

Суть алгоритма напоминает работу собственно мозга, в основе которого лежат реальные нейроны. Наш мозг не накладывает графы на лица, чтобы узнать знакомого или вспомнить бывшего одноклассника, которого не видел десять лет. Мы помним образы и какие-то черты лица и признаки человека в целом. А не расстояние от уха до уха или от носа до губ. Так и нейронные сети — они сначала должны пройти некоторое обучение, для чего в сеть загружаются тысячи и даже миллионы фотографий лиц (мужчин, женщин, разных рас и народностей, с поворотом головы и без, с разным освещением, с бородами и без, в очках и головных уборах и т. д.). Это аналогично процессу знакомства с разными людьми и запоминанием — чем они отличаются друг от друга. А дальше на этой базе нейронная сеть обучается находить лицо даже при нестандартных ракурсах и эмоциях на лице, а также находить признаки, отличающие одно лицо от другого.

В последнее время именно распознавание, основанное на использовании нейронных сетей, показывает действительно отличные результаты. Только за прошедшие месяцы 2016 года две российские компании возглавили рейтинг эффективности алгоритмов распознавания на онлайн тестовой площадке MegaFace. Сначала это была компания N-Tech.Lab, чуть позже — компания Vocord, оставив позади и российских коллег (которые возглавляли рейтинг чуть раньше), и алгоритм от Google. В основе алгоритма распознавания обеих компаний лежит как раз использование нейронных сетей.

ЗАДАЧИ И СФЕРЫ ПРИМЕНЕНИЯ

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

Первая задача — организация и управление доступом. Лицо — это уникальный биометрический идентификатор, такой же, как и отпечаток пальца. Его также практически нельзя подделать, в отличие от бумажных или электронных пропусков. А при использовании двухфакторной авторизации (карточка плюс лицо) — эта задача уже сегодня решается очень эффективно.

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

В этом случае еще до выбора системы распознавания нужно организовать зону прохода — ограничить рамкой металлоискателя или турникетом, чтобы инсталлятор знал, откуда и как будет проходить человек и куда будет повернуто его лицо в момент распознавания. В этом направлении, естественно, нужно будет расположить камеру с нужным объективом. В зависимости от условий освещения стоит позаботиться о дополнительном направленном искусственном освещении, чтобы на лицах проходящих людей не было теней или сильной засветки из-за плеча.

При выборе камеры и объектива для распознавания необходимо выяснить один очень важный параметр. Какое требуется линейное разрешение в точке прохода для максимально эффективного распознавания? Кто-то укажет значение в пикселях на метр, а кто-то — в количестве пикселей, приходящихся на расстояние между зрачками глаз.

Но так или иначе, этот параметр должен помочь правильно выбрать камеру и объектив для обеспечения требуемого разрешения. Следующее, на что нужно обратить внимание, — это вероятность ошибок первого и второго рода (не распознание лица, присутствующего в базе и наоборот — ложное «узнавание» лица, которого в базе нет). Многие системы сегодня позволяют задать порог «узнавания» (или процент «совпадения» с шаблоном из базы). Поэтому количество этих ошибок можно будет отрегулировать — где-то важнее ни в коем случае не допустить «чужого», даже если «свой» распознается с 3-4-го раза, а где-то нельзя допустить задержки на точке прохода.

Также важно знать, что чем больше база лиц, тем больше вероятность ошибки. Поэтому, если у заказчика в базе планируется всего 10-20 лиц, можно использовать «лицо» и как единственный идентификатор — сравнение по базе из 20 лиц даст очень малую вероятность ошибки. А вот если база из сотен, а то и тысяч сотрудников, то системе лучше будет сначала «подсказать», с кем вести сравнение (с предварительной авторизацией по карте).

Дальше система уже будет сравнивать лицо с камеры только с одним лицом из базы. Важно не забывать, что решается конкретная задача — организация доступа. Поэтому нужно позаботиться, чтобы у выбранного решения для распознавания была какая-то интеграция с системой контроля доступа — после «считывания» лица как идентификатора перед человеком нужно еще турникет открыть и записать время прохода.

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

Вторая задача — сравнение лица из ограниченной зоны прохода с какой-то заранее сформированной базой поиска. Речь идет не о функции СКУД (пропустить или нет), а о распознавании в зоне ограниченного прохода. Имеются в виду проходы на вокзалы, аэропорты и т. п. В этом случае нет списка «своих», кому проход разрешен, но есть список «чужих» — лиц, находящихся в розыске. Здесь задача максимально быстро захватить в потоке лицо и сравнить его с базой данных известных разыскиваемых лиц. При том что никаких «подсказок» (в виде именного билета или карточки доступа) нет, сравнение идет со всей базой поиска (а это могут быть тысячи и десятки тысяч лиц).

В основном такая задача актуальна для силовых ведомств. Но сегодня эта сфера решений «ищет себя» и в коммерческих структурах. Где-то можно вести «черный список» посетителей (известные службе безопасности воришки в супермаркетах — не пустить нельзя, но можно пристально следить при появлении), где-то эту задачу можно развернуть на 180 градусов и вести не черный список, а «белый» — привилегированных клиентов (служащих банков, сети отелей, казино). В этом случае еще на подходе к стойке администрации или в зал обслуживания такой клиент уже может получить индивидуальный сервис — обратиться к нему уже можно лично, сказать, что привычный номер в гостинице (или стол в казино, или персональный менеджер в банке) уже ожидает.

Возможны и более массовые варианты — рестораны быстрого обслуживания могли бы предлагать скидки или напоминать о недокупленном, как обычно, пирожке. Однако пока реализация такой программы лояльности на основе распознавания лиц обходится дороже, чем на базе каких-нибудь пластиковых карт — поточным решением она не станет.

Для поиска лиц в ограниченной зоне прохода из базы все предыдущие организационные требования также справедливы (ограничение прохода, равномерность освещения, правильное расположение камеры, а также интеграция с билетной системой). Только теперь важна именно вероятность (точность) распознавания. Чем больше, тем лучше. Потому что даже при вероятности распознавания в 99%, система должна будет осуществлять десятки тысяч сравнений в минуту (например, проходит через рамку 30 человек в минуту, и каждый будет сравниваться с базой из 1000 разыскиваемых лиц — итого 30 000 сравнений в минуту), а значит, ложных срабатываний может быть порядка сотни.

И второй важный параметр, который заранее стоит обговорить с разработчиком решения, — скорость идентификации и поиска по базе (эта скорость, кстати, будет зависеть от объема базы поиска). Логично, что если ожидается проход разыскиваемого, то сотрудника на посту или оператора нужно уведомить как можно быстрее, и даже не через минуту, когда человек уже смешается с толпой.

Третья задача — самая сложная как для разработчиков алгоритмов, так и для пользователей конечной системы. Главное условие здесь — распознавание лиц из некой базы (на тысячи лиц), но не в ограниченном пространстве, а на большой, открытой площади. И проходят люди не по одному перед камерой, а попадают в поле зрения толпой. В большей степени решение такой задачи нужно силовым структурам, отвечающим за безопасность при проведении различных массовых мероприятий. Или же при постоянном наблюдении за местами массовых скоплений людей, когда есть подозрение в появлении разыскиваемых лиц. Также, возможно, такой массовый поиск будет эффективно работать и на стадионах, непосредственно на трибунах, чтобы оперативно определять хулиганов.

Для толпы невозможно ни ограничить область прохода, ни заставить людей смотреть в определенную сторону, ни обеспечить равномерное освещение на открытой территории. Что же будет самым важным при выборе решения? Требуемое разрешение — чем меньше (при сохранении высокой точности распознавания), тем лучше. Это и понятно. Покрыть, например, полностью Красную площадь или все трибуны стадиона с разрешением 500-700 пикселей на метр — задача сложная как технически, так и экономически. Кроме требуемого разрешения, при выборе решения важно обращать внимание на такие параметры, как точность распознавания и скорость. И именно для этой задачи принципиальное значение имеют аппаратные средства, на которых происходит работа алгоритма.

АППАРАТНАЯ СОСТАВЛЯЮЩАЯ АЛГОРИТМА РАСПОЗНАВАНИЯ

Независимо от задачи применение какого-либо продукта по распознаванию лиц требует определенных (и, как правило, немалых) вычислительных ресурсов. И они тем выше, чем больше каналов распознавания (требуются ресурсы на поиск лица в кадре, на построение математической модели лица), база сравнения (ресурсы на поиск в базе), а также вероятность массового распознавания по одному каналу видео (то есть на проходной в объектив камеры редко будет попадать больше 2-3 лиц, а вот в толпе потребуется сравнение десятков и сотен лиц на предмет совпадения с базой).
Требования к вычислительным ресурсам нужно заранее обговаривать с поставщиком решения. Кто-то запросит два физических ядра процессора и 4 Гб оперативной памяти на один канал распознавания. Кто-то предложит создать кластерный сервер — некое «вычислительное облако» на стороне клиента. А кто-то перенесет вычислительные ресурсы с центрального процессора (CPU) на графические процессоры видеокарт (GPU), которые в рамках одного ПК еще и в кластер можно собрать, увеличив производительность алгоритма (и скорость работы) в разы при меньшем количестве «железа». Именно перенос «математики» алгоритмов распознавания на GPU позволяет говорить сегодня о возможности эффективной работы в толпе.
Особенно важно обратить внимание на требуемые ресурсы «железа» при решении третьей задачи (распознавание в толпе): в кадре могут находиться одновременно сотни лиц, каждое из которых должно пройти сравнение с базой из тысяч человек, и вдобавок — если камера выдает поток 25 кадров в секунду — это значит, за секунду алгоритм должен разобрать 25 кадров с лицами.

ЧЕЛОВЕЧЕСКИЙ ФАКТОР

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


Был ли вам полезен данный материал?


Знакомые все лица

Вопрос номера:
Как обязательная
сертификация изменит рынок
транспортной безопасности?

Герой номера:
Владимир Машкин,
генеральный директор АО«Московская кольцевая железная дорога»

Продукт номера:
Геоинформационные системы

RUБЕЖ в vk RUБЕЖ на dzen RUБЕЖ на youtube RUБЕЖ в telegram+ RUБЕЖ-RSS

Контакты

Адрес: 121471, г. Москва, Фрунзенская набережная, д. 50, пом. IIIа, комн.1

Тел./ф.: +7 (495) 539-30-20

Время работы: 9:00-18:00, понедельник - пятница

E-mail: info@ru-bezh.ru


Для рекламодателей

E-mail: reklama@ru-bezh.ru

тел.: +7 (495) 539-30-20 (доб. 103)

total time: 0.5267 s
queries: 140 (0.1100 s)
memory: 4 096 kb
source: database
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение.