Особенности распознавания лиц в контрольно-пропускных системах

Авторы статьи: Алексей Хомич, Сергей Бойков, Дмитрий Толчин, Тимофей Капустин.

Этапы распознавания лица алгоритмами

Распознавание лиц на терминалах и других контрольно-пропускных системах обычно включает несколько этапов, чтобы обеспечить точную идентификацию и сосредоточиться на распознавании одного лица среди множества лиц. Здесь представлен общий обзор того, как работает этот процесс:
1) Обнаружение лица:
Первым шагом является обнаружение лиц в поле зрения камеры. Для этого используются алгоритмы, подобные системе обнаружения объектов Виолы-Джонса, или более современные методы, основанные на глубоком обучении, такие как методы, использующие сверточные нейронные сети (CNN). Такие нейронные сети принято называть детекторами. На данный момент существует большое количество готовых open source и проприетарных решений, имеющих свои особенности.
Детектор сканирует все изображение и определяет области, в которых с большой вероятностью могут находиться лица.

изображение взято из открытых источников

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

изображение взято из открытых источников

3) Распознавание лица:
Выровненное лицо сравнивается с базой данных известных лиц. Это сравнение часто выполняется с помощью моделей глубокого обучения, например на основе CNN, которые извлекают уникальные черты лица и создают уникальный вектор в многомерном пространстве (эмбеддинг).
Затем эти вектора сопоставляются с базой данных, чтобы найти наилучшее соответствие.

Выделение целевого лица при детекции нескольких лиц на изображении (видеопотоке)

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

a) Фильтрация по близости объекта: система может распознать лицо, которое находится ближе всего к камере или центрировано в кадре.

b) Обнаружение движения: система может отслеживать, какое лицо активно взаимодействует с терминалом, на основе движения или направления взгляда.

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

d) Выбор кадра: система может сделать несколько кадров и выбрать наиболее четкое изображение, на котором хорошо видно только одно лицо.

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

Безопасность и конфиденциальность данных

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

Программные решения

1) Анализпотока:
Эта техника анализирует движение между кадрами видео, чтобы обнаружить тонкие несоответствия, характерные для атак подмены, например, отсутствие естественных движений лица.

2) Методы, основанные на текстуре:
Определение яркости и текстуры лица , также известное как (PAD)
Эти методы анализируют текстуру лица, чтобы обнаружить различия между реальной кожей живого человека и материалами, обычно используемыми в подделках, такими как маски, поверхности фотографий или экранов устройств. Современные методы анализа текстуры значительно превосходят старые методы в классификации настоящих и поддельных лиц.

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

4) Моделирование поддельных ключей (SPSC и SDSC)
Этот подход использует методы дополнения данных для имитации физических и цифровых признаков спуфинга (Спуфинг (от английского spoofing — подмена) — это тип кибератаки, при которой злоумышленник маскируется под другое лицо, устройство или сервис), что повышает способность модели обнаруживать "невидимые" типы атак. Эти методы показали хорошие результаты в различных задачах по борьбе с подменой данных. Моделирование поддельных ключей (Simulated Spoofing Clues Augmentation) - это подход к улучшению методов обнаружения атак на системы распознавания лиц, который включает в себя две основные техники:

а) Симуляция физических поддельных ключей (SPSC - Simulated Physical Spoofing Clues).
Этот метод использует различные техники аугментации данных для имитации физических атак на системы распознавания лиц, таких как использование масок, фотографий, видео и других физических спуфинг-атак.
Цель SPSC - расширить набор данных для обучения моделей, включив в него различные виды физических поддельных ключей, чтобы модель могла лучше обнаруживать такие атаки.

b) Симуляция цифровых поддельных ключей (SDSC - Simulated Digital Spoofing Clues):
Этот метод фокусируется на имитации цифровых атак на системы распознавания лиц, таких как использование отредактированных изображений, синтетических лиц, видео-реплик и других цифровых спуфинг-атак.

Цель SDSC - аналогична SPSC, но в данном случае расширение набора данных происходит за счет включения различных видов цифровых поддельных ключей.
Основная идея SPSC и SDSC заключается в том, чтобы модель, обученная на этих симулированных поддельных ключах, могла лучше обнаруживать как известные, так и неизвестные (ранее не встречавшиеся) виды атак на системы распознавания лиц. Это позволяет повысить устойчивость и надежность таких систем.

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

5)Обнаружение аномалий:
Алгоритмы дифференциального обнаружения аномалий могут быть использованы для выявления подделки путем обнаружения отклонений от нормальных моделей поведения при распознавании лиц.

Физические решения

a)3D-камеры:
Использование камер, снимающих информацию о глубине, может помочь отличить 2D-изображение от 3D-реального лица. Эти камеры обнаруживают несоответствие глубины, характерное для плоских 2D-изображений.

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

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

d) Многоспектральные камеры:
Камеры, работающие в нескольких спектрах (например, видимом, инфракрасном, ультрафиолетовом), предоставляют дополнительные слои данных, можно использовать для повышения точности обнаружения подделок.

e) Реализация задач, требующих от пользователя выполнения определенных действий, таких как моргание, улыбка или слежение глазами за движущимся объектом, может стать эффективным способом обнаружения 'живости' лица. Эти действия трудно точно воспроизвести при попытке подмены.

Рекомендуемые требования для камер устанавливаемых на терминалах идентификации персонала.

Вот основные требования:

Плотность пикселей: Для обеспечения четкого изображения необходима плотность пикселей не менее 500 пикселей на метр, а для повышения точности
идентификации рекомендуется не менее 1000 пикселей на метр.
Плотность пикселей в контексте камер для идентификации персонала означает количество пикселей, приходящихся на один метр изображения. Этот показатель важен для обеспечения достаточно высокого разрешения изображения, чтобы детали, такие как черты лица, могли быть четко различимы системой идентификации. Плотность пикселей 500 пикселей на метр (ppm): Это минимальный уровень плотности, который необходим для получения четких изображений. Однако при такой плотности некоторые детали могут быть недостаточно разборчивыми для точного распознавания лиц или других идентификационных средств.

Плотность пикселей 1000 пикселей на метр (ppm): Это рекомендуемый показатель плотности пикселей для повышения точности идентификации. При такой плотности изображение будет более детализированным, что значительно улучшит способность системы распознавать лица и другие мелкие детали.

Пример: если у вас есть камера с разрешением 1920x1080 пикселей и вы хотите, чтобы она покрывала территорию шириной в 2 метра, то плотность пикселей будет 1920 пикселей / 2 метра = 960 пикселей на метр. Это соответствует требованиям для рекомендованной плотности пикселей и обеспечит высокую точность идентификации.
Таким образом, правильная настройка плотности пикселей помогает достигать необходимого качества изображения для эффективной и точной работы систем распознавания.

Разрешение: Камеры должны иметь высокое разрешение, предпочтительно FullHD (1080p) или выше, для получения детализированных изображений,
повышающих точность распознавания лиц .

Частота кадров: Частота кадров должна составлять не менее 15 кадров в секунду, в некоторых системах требуется до 25 кадров в секунду в зависимости
от конкретных целей проекта.

Фокусное расстояние и ширина объектива: Фокусное расстояние обычно должно быть в диапазоне 14-50 мм. Это позволяет использовать
оптимальные настройки зума, чтобы обеспечить адекватный захват лиц в кадре.

Сжатие и протоколы: Используйте стандарты сжатия видео, такие как H.264 или MJPEG, и поддерживайте протоколы доставки видеопотока,
такие как RTSP и HTTP, для обеспечения эффективной передачи и хранения данных .

Положение и угол наклона камеры: Камера должна быть установлена на оптимальной высоте от 1,5 до 2,2 м и ориентирована в направлении потока людей, чтобы обеспечить захват лиц проходящих мимо людей. Угол наклона по вертикали не должен превышать 15°, а угол отклонения по горизонтали не должен превышать 30°, чтобы избежать искажения изображения.

Экспозиция и освещение: Камеры должны быть оснащены функциями, позволяющими работать в различных условиях освещения, такими как широкий
динамический диапазон (WDR), компенсация встречной засветки (BLC) и цифровое шумоподавление (DNR). Освещение должно быть равномерным, предпочтительный уровень освещенности - около 300 люкс, чтобы избежать теней и бликов.

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

Хранение и обработка данных: Предусмотрите достаточный объем памяти. Например, база данных, связывающая изображения с биометрическими профилями,
может хранить 50 миллионов пропусков посетителей всего в 1 ТБ памяти. Убедитесь, что необходимое дисковое пространство рассчитано с учетом количества камер,
настроек записи и сроков хранения данных.

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

Один из таких образцов реализации технологических и программных решений по идентификации является технология FaceID .
Эта технология представляет собой биометрический алгоритм распознавания лиц, который выполняет аутентификацию пользователя и может быть адаптирована ко многим случаям использования, таким как:

• Разблокировка устройств, таких как телефоны или компьютеры
• Разблокировка дверей и систем
• Проверка онлайн-транзакций (особенно финансовых)
• Авторизация платежей онлайн-покупок
• Слежение в аэропортах, на железных дорогах, стадионах, в правительственных учреждениях и коммерческих учреждениях или за всем населением, как в Китае.

Face ID оказалась намного надежнее и безопаснее традиционного распознавания лиц, выполняемого простой 2D фронтальной камерой, и гораздо более эффективным инструментом отслеживания, чем отпечатки пальцев, поскольку для идентификации не требуется физического контакта.
Технология, лежащая в основе глубокого обучения, демонстрирует отличные возможности в изучении особенностей изображения, которые упрощают классификацию данных и распознавание лиц на основе двух типов нейронных сетей:

• Сверточные нейронные сети (CNN, или ConvNet)
• Сети глубокого автокодирования

FaceID использует пять различных компонентов фотоники для проецирования сетки на лицо пользователя, позволяя составить топокарту лица

• Regular camera (обычная камера)
• Flood illuminator: это инфракрасный источник света, который направляет свет на лицо и позволяет распознать лицо перед камерой даже в условиях низкой освещенности или если человек в очках или шляпе.
• Dot projector: освещает лицо более чем 30 000 невидимых инфракрасных точек, создавая карту глубины, которую можно прочитать инфракрасной камерой

изображение взято из открытых источников

• Infrared camera: инфракрасный свет позволяет видеть в условиях низкой освещенности, в темноте, а также через солнцезащитные очки, обнаруживаявзгляд, и система все равно распознает , если совпадет достаточное количество точек данных.

Затем карта точек считывается инфракрасной камерой, и структура лица передается в нейронную сеть.

•True Depth camera: считывает более 30 000 инфракрасных точек для формирования карты глубины геометрии3D-лица вместе с 2D-инфракрасным изображением, которое используется для создания последовательности 2D-изображений и карт глубины, которые передаются через уже обученные нейронные сети для создания математической модели лица.

Тест-Кейсы для Системы Распознавания Лиц

Тест-Кейс 1: Точность
Описание: Оценка точности распознавания людей, включенных в базу данных, и исключение посторонних.
Шаги тестирования:
  • Провести оценку точности на тестовом наборе данных.
  • Проверить систему в реальном режиме работы.
Ожидаемый результат: Ни один посторонний человек не должен быть распознан как сотрудник, все люди из базы данных должны быть распознаны корректно.

5.2 Тест-Кейс 2: Обработка очереди
Описание: Оценка работы системы при наличии очереди перед терминалом.
Шаги тестирования:
  • Несколько человек стоят в очереди перед терминалом.
  • Проверить распознавание человека непосредственно перед терминалом, при этом позади него стоят другие люди.
  • Проверить ситуацию, когда перед терминалом стоит человек низкого роста, а за ним человек высокого роста.
Ожидаемый результат: Идентификация должна проводиться только для человека, непосредственно находящегося перед терминалом.

5.3 Тест-Кейс 3: Функционал Базы Данных
Описание: Проверка функционала работы с базой данных.
Шаги тестирования:
  • Добавление нового сотрудника:
Проверить процесс добавления нового сотрудника в базу данных.
Проверить корректность работы системы после добавления.
  • Удаление сотрудника:
Проверить процесс удаления сотрудника из базы данных.
Проверить корректность работы системы после удаления.
  • Изменение данных сотрудника:
Проверить процесс изменения данных сотрудника, например, имени или фотографии.
Проверить корректность работы системы после изменения.

Ожидаемый результат: Все операции должны выполняться корректно.

5.4 Тест-Кейс 4: Устойчивость к обману
Описание: Проверка устойчивости системы к попыткам обмана.
Шаги тестирования:
  • Попытка доступа с использованием фотографии лица сотрудника.
  • Попытка доступа с использованием видеозаписи лица.
  • Попытка доступа с использованием маски с изображением лица сотрудника.
  • Попытка доступа с использованием чужого пропуска (логина и пароля другого человека).(Возможно не наша задача)
Ожидаемый результат: Ни одна из попыток обмана не должна привести к успешной идентификации и доступу.

5.5 Тест-Кейс 5: Скорость
Описание: Проверка скорости работы системы при большом количестве сотрудников.
Шаги тестирования:
  • Создать большую базу данных (например, х сотрудников).
  • Проверить скорость работы алгоритма.

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

5.6 Тест-Кейс 6: Освещенность
Описание: Проверка влияния освещенности на распознавание.
Шаги тестирования:
  • Сотрудник подходит к камере при ярком освещении.
  • Сотрудник подходит к камере при слабом освещении.
  • Сотрудник подходит к камере с частичным затемнением лица.
Ожидаемый результат: Освещенность не должна существенно влиять на точность распознавания.

5.7 Тест-Кейс 7: Макияж
Описание: Проверка влияния макияжа на распознавание.
Шаги тестирования:
  • Проверить распознавание сотрудника в макияже при обучении на фотографии без макияжа.
  • Проверить распознавание сотрудника без макияжа при обучении на фотографии в макияже.
Ожидаемый результат: Макияж не должен существенно влиять на точность распознавания.

5.8 Тест-Кейс 8: Борода и Усы
Описание: Проверка влияния бороды и усов на распознавание.
Шаги тестирования:
  • Проверить распознавание сотрудника с бородой и усами при обучении на фотографии без них.
  • Проверить распознавание сотрудника без бороды и усов при обучении на фотографии с ними.
Ожидаемый результат: Борода и усы не должны существенно влиять на точность распознавания.

5.9 Тест-Кейс 9: Очки
Описание: Проверка влияния очков на распознавание.
Шаги тестирования:
  • Проверить распознавание сотрудника в очках при обучении на фотографии без очков.
  • Проверить распознавание сотрудника без очков при обучении на фотографии в очках.
Ожидаемый результат: Очки не должны существенно влиять на точность распознавания (солнцезащитные очки исключены, так как при процессе идентификации скрытие признаков для ее осуществления неприемлемы).

5.10 Тест-Кейс 10: Эмоциональное состояние
Описание: Проверка влияния различных эмоций на распознавание.
Шаги тестирования:
  • Провести распознавание лица сотрудника в различных эмоциональных состояниях (радость, грусть, злость, удивление).
Ожидаемый результат: Эмоциональное состояние не должно существенно влиять на точность распознавания.

5.11 Тест-Кейс 11: Временные изменения лица
Описание: Проверка устойчивости системы к временным изменениям лица, таким как ожоги(солнечные), синяки, шрамы или отеки.
Шаги тестирования:
  • Провести распознавание лица сотрудника до и после появления временных изменений(Например, при помощи грима)
Ожидаемый результат: Система должна корректно распознавать сотрудника несмотря на временные изменения лица.

5.12 Тест-Кейс 12: Влияние головных уборов
Описание: Проверка влияния различных головных уборов на распознавание.
Шаги тестирования:
  • Провести распознавание лица сотрудника в различных головных уборах (шляпа, кепка, капюшон).
Ожидаемый результат: Головные уборы не должны существенно влиять на точность распознавания.

5.13 Дополнительные: Тест-Кейс 13: Различие близнецов (исключая гомозиготных)
Описание: Проверка способности системы различать идентичных близнецов.
Шаги тестирования:
  • Зарегистрировать в базе данных одного из близнецов.
  • Провести распознавание обоих близнецов.
Ожидаемый результат: Система должна правильно идентифицировать зарегистрированного близнеца и не допускать постороннего.

Технические и программные особенности влияющие на точность идентификации персонала

Широкоугольная камера суглом обзора порядка 120-140 градусов не рекомендуется, изображения, полученные с этой камеры, имеют искажения.
Искажения затрудняют правильную идентификацию лиц, так как детали могут быть растянутыми или деформированными.
Широкоугольные объективы создают эффект "рыбьего глаза", который искажает изображение.
Объектив с меньшим углом обзора (например, 60-80 градусов) будет давать более четкие и правильные изображения.
Так же система идентификации для построения модели лиц требует определенного количества пикселей на ширину лица и расстояния между глаз.
При широком угле обзора плотность пикселей становится меньше рекомендуемой, условно те же 1920 пикселей растягиваются на большую ширину кадра, что может сказаться на точности создания модели лица и дальнейшей идентификации. Так же при меньшем угле обзора (меньшем размере кадра) можно снизить вероятность того, что в кадре появится еще одно лицо на заднем плане.
Для улучшения качества изображений и обеспечения точной работы системы идентификации лиц, есть смысл рассмотреть возможность замены камеры или объектива. Рекомендуется установка камеры с более подходящим объективом, например 4 или 6 мм.

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

Made on
Tilda