Как работает распознавание лиц?

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

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

Описание инструмента

Этот инструмент позволяет сравнивать две фотографии лиц рядом, чтобы определить, принадлежат ли они одному человеку. Он использует предварительно обученную модель глубокого обучения (SSD MobileNet v1) для обнаружения лиц и специализированную сеть распознавания лиц для создания 128-мерных дескрипторов лиц. Весь процесс — от загрузки модели до обнаружения лиц и сравнения — выполняется локально в вашем браузере с использованием ускорения WebGL. Изображения и данные никогда не загружаются на сервер, что делает это полностью приватным инструментом проверки лиц.

Как это работает

  1. Загрузка модели — при первом использовании инструмент загружает легковесные модели нейронных сетей (детектор лиц, предсказатель ориентиров и сеть распознавания) и кэширует их в браузере.
  2. Обнаружение лиц — каждое загруженное изображение сканируется с помощью детектора SSD MobileNet v1 для определения местоположения лица и извлечения 68 ориентиров лица.
  3. Извлечение дескриптора — область лица, выровненная по ориентирам, передается через сеть распознавания, которая создает вектор дескриптора размерностью 128.
  4. Вычисление расстояния — вычисляется евклидово расстояние между двумя дескрипторами. Расстояние ниже порога указывает на совпадение; выше него указывает на разных людей.
  5. Визуальная обратная связь — обнаруженные лица выделяются ограничивающими прямоугольниками на обоих изображениях, и отображаются процент сходства и необработанное расстояние.

Примеры

Сценарий Ожидаемый результат
Две селфи одного человека, сделанные в разные дни Высокое сходство (85–99%), совпадение
Фото человека A против фото человека B Низкое сходство (20–50%), несовпадение
Один человек с очками и без очков Обычно все еще совпадение, если лицо четко видно
Один человек в значительно разном возрасте Может не совпадать, если структура лица существенно изменилась

Возможности

  • 100% работает в браузере — вся обработка происходит локально с использованием WebGL; без загрузки на сервер, без облачных API
  • Настраиваемый порог совпадения — точная настройка чувствительности с помощью ползунка в диапазоне от 0,1 до 1,0 (по умолчанию: 0,6)
  • Визуальное наложение обнаружения лиц — ограничивающие прямоугольники рисуются вокруг обнаруженных лиц на обоих изображениях
  • Подробные метрики — отображает как процент сходства, так и необработанное евклидово расстояние для прозрачности
  • Несколько форматов изображений — поддерживает загрузку JPEG, PNG и WebP

Варианты использования

  • Проверка личности — быстро проверьте, показывают ли две фотографии одного человека, что полезно для проверки документов или верификации профиля
  • Организация фотографий — определите, какие фотографии в коллекции принадлежат одному человеку, прежде чем сортировать их в альбомы
  • Аудит безопасности — сравните живую фотографию с эталонным изображением для контроля доступа или подтверждения посещаемости

Объяснение опций

Опция Описание По умолчанию
Порог совпадения Контролирует, насколько строгим является сравнение. Более низкие значения требуют большего сходства лиц для совпадения. Более высокие значения более мягкие. 0,6

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

Ограничения

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

Часто задаваемые вопросы

Мои данные в безопасности? Да. Инструмент работает полностью в вашем браузере. Ваши изображения никогда не загружаются на какой-либо сервер. Вся логика обнаружения и сравнения лиц выполняется локально с использованием WebGL.

Почему говорится "Лицо не обнаружено"? Изображение может быть слишком маленьким, слишком темным, сильно затемненным или сделано под экстремальным углом. Попробуйте более четкую фотографию в анфас с хорошим освещением.

Что означает здесь евклидово расстояние? Это числовая мера того, насколько различаются два дескриптора лица. Значения, близкие к 0, указывают на почти идентичные лица; значения выше порога предполагают разных людей.

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