Перейти к основному содержимому
Версия: 3.25.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 реализован интерфейс коллбэков, который предоставляет данные о событии.

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