Перейти к основному содержимому
Версия: 3.22.2

Компоненты Face SDK

Face SDK состоит из набора компонентов, которые используются для решения основных функциональных задач: детекции, оценки лиц и позы человека, распознавания лиц и обработки видеопотоков. Компоненты Face SDK реализованы в виде процессинг-блоков Processing Block API и/или объектов Legacy API.

Детекция лиц, тел и объектов

Face Detector

Face Detector предназначен для обнаружения лиц на изображениях. Результат работы компонента – список задетектерованных лиц, для каждого из которых определяются значения следующих атрибутов:

  • BBox (Bounding Box) – координаты ограничивающего прямоугольника вокруг лица на исходном изображении.
  • Face Landmarks – 2D/3D-координаты антропометрических точек лица.
  • Iris Landmarks – координаты 40 точек глаз (зрачки и веки).
  • Pitch, Yaw, Roll – углы поворота головы.

Реализация компонента:

примечание

Для детекции лиц на видео или упорядоченных по времени последовательностях изображений рекомендуется использовать компонент Video Engine.

Body Detector

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

Результатом детекции являются координаты ограничивающего прямоугольника (bbox) вокруг обнаруженного силуэта.

Реализация компонента:

Object Detector

Object Detector используется для обнаружения объектов различных типов на изображении.

Результатом обнаружения являются координаты ограничивающего прямоугольника (bbox) вокруг обнаруженного объекта с классом объекта: "body" - человеческое тело, "bicycle" - велосипед, "car" - автомобиль, "motorcycle" - мотоцикл, "bus" - автобус, "train" - поезд, "truck" - грузовик, "traffic_light" - светофор, "fire_hydrant" - пожарный гидрант, "stop_sign" - сигнал "стоп", "bird" - птица, "cat" - кошка, "dog" - собака, "horse" - лошадь, "sheep" - овца, "cow" - корова, "bear" - медведь, "backpack" - рюкзак, "umbrella" - зонт, "handbag"- сумка, "suitcase" - чемодан, "sports_ball" - спортивный мяч, "baseball_bat" - бейсбольная бита, "skateboard"- скейтборд, "tennis_racket" - теннисная ракетка, "bottle" - бутылка, "wine_glass" - бокал вина, "cup" - чашка, "fork" - вилка, "knife" - нож, "laptop" - ноутбук, "phone" - телефон, "book" - книга, "scissors" - ножницы.

Реализация компонента:

  • Processing Block API: в виде процессинг-блока Object Detector.

Оценка лиц и позы человека

Face SDK предоставляет набор инструментов для оценки изображений, полученных от компонента Face Detector.

Gender-Age Estimator

Gender-Age Estimator позволяет определить пол и возраст лица на изображении.

Реализация компонента:

Emotions Estimator

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

Реализация компонента:

Quality Estimator

Quality Estimator производит оценку качества изображения лица. Результатом оценки является список обнаруженных лиц с подробным анализом качества.

Реализация компонента:

Mask Estimator

Mask Estimator определяет наличие или отсутствие маски на изображении лица.

Реализация компонента:

Eyes Openness Estimator

Eyes Openness Estimator служит средством оценки состояния глаз на изображении лица и возвращает результат «открыт» или «закрыт» для правого и левого глаза.

Реализация компонента:

Liveness Estimators

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

Active Liveness Estimator анализирует выполнение человеком определенных действий – сценария проверки, например: «моргнуть», «улыбнуться», «повернуть голову».

Реализация компонента:

2D / RGB Liveness Estimator позволяет выполнить оценку «живости» лица на RGB-изображении. Для выполнения проверки достаточно появления лица в поле зрения камеры.

Реализация компонента:

3D / Depth Liveness Estimator защищает от попыток использовать изображение вместо реального лица, анализируя поверхность лица по карте глубины, полученной от 3D (RGBD) сенсора.

Реализация компонента:

IR Liveness Estimator определяет «живость» лица на основании снимка, полученного от инфракрасной камеры, в комбинации с цветным изображением.

Реализация компонента:

Human Pose Estimator

Human Pose Estimator используется для вычисления ключевых точек скелета тела человека на изображении.

Реализация компонента:

Распознавание лиц

Face SDK предоставляет набор компонентов и алгоритмов для распознавания лиц. Основой этой функциональности являются операции с использованием биометрического шаблона лица.

Encoder

Encoder извлекает биометрический шаблон из изображения лица, полученного от Face Detector.

Биометрический шаблон лица – уникальный набор биометрических признаков лица, извлеченных из изображения лица. Шаблоны позволяют сравнить два изображения лица и определить степень их схожести.

Ключевые особенности биометрического шаблона лица:

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

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

Извлечение биометрического шаблона – одна из самых ресурсоемких операций, поэтому Face SDK предоставляет возможность использовать ускоритель GPU для повышения производительности.

Реализация компонента:

Matcher

Matcher позволяет выполнять операции сравнения биометрических шаблонов лиц, полученных с помощью компонента Encoder:

  • Верификация 1:1 – сравнение двух биометрических шаблонов (лиц) между собой, оценка совпадения.
  • Идентификация 1:N – сравнение одного биометрического шаблона (лица) с другими шаблонами (лицами), поиск и оценка совпадений.

При сравнении шаблонов лиц Matcher вычисляет разницу между биометрическими признаками лиц. Результат вычислений является мерой соответствия изображений лиц и отражает вероятность принадлежности одному человеку.

Шаблоны, извлеченные с помощью различных алгоритмов, обладают различными свойствами и не могут сравниваться между собой.

Реализация компонента:

Обработка видеопотоков

Video Engine

Video Engine предназначен для обработки видеопотоков в режиме реального времени и решает следующие задачи:

  • Детекция и трекинг лиц.
  • Распознавание лиц (опционально).
  • Проверка Liveness (опционально).
  • Оценка пола, возраста и эмоций лица (опционально).

Video Engine работает в многопоточном режиме. Каждый поток – это последовательность изображений (кадров), получаемых из одного источника (например камеры или видео).

Все потоки обрабатываются в Video Engine одновременно. Потоки, кадры и обнаруженные лица в кадре получают собственные идентификаторы. В процессе отслеживания лица на последовательности изображений потока формируется трек этого лица, который также обозначается собственным ID (track_id).

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

Реализация компонента: