Сценарии использования
В данном разделе представлены возможные сценарии использования и схематично показана взаимосвязь объектов Face SDK. Синим цветом обозначены входные данные, зеленым – объекты-обработчики данных, фиолетовым – результаты обработки.
Оценка лиц на видеопотоке

Стандартный сценарий определения пола, возраста и эмоций лица на видеопотоке реализуется с помощью объекта VideoWorker
. Кадры (Frames), получаемые с камеры (Camera), передаются для обработки в VideoWorker
. Результаты обработки (данные о поле, возрасте и эмоциях) поступают в коллбэк VideoWorker::TrackingCallbackU
.
Оценка лиц с изображений

Если Вам не подходит вариант оценки лиц с использованием объекта VideoWorker
(например, если требуется оценка лиц с изображений), можно воспользоваться данным сценарием. Изображения (Images) передаются в объект Capturer
, который служит для детекции лиц. Найденные лица и информация о них (RawSample
) передаются для обработки в объекты AgeGenderEstimator
и EmotionsEstimator
, которые возвращают пол и возраст лица и эмоции лица соответственно.
Создание базы лиц

Для идентификации лиц требуется единократно создать базу биометрических шаблонов. Изображения (Images) передаются в объект Capturer
, который служит для детекции лиц. Найденные лица и информация о них (RawSample
) передаются в объект Recognizer
, который возвращает биометрические шаблоны (Template
). Операция получения шаблонов для больших баз занимает длительное время, поэтому предусмотрен механизм сохранения шаблона в долговременную память (см. методы Template::save
, Recognizer::loadTemplate
).
Идентификация лиц на видеопотоке

Стандартный сценарий идентификации лиц на видеопотоке реализован с помощью объекта VideoWorker
. Кадры (Frames), получаемые с камеры (Camera), передаются для обработки в VideoWorker
. В случае, если Вы используете 3D-сенсор, для обработки в VideoWorker
также передается карта глубины (Depth Map). Данные о найденных и распознанных лицах, а также созданные шаблоны возвращаются посредством коллбэков.
Идентификация лиц (RGB-камера)

Кадры (Frames), получаемые с камеры (Camera), поступают в объект Capturer
, который служит для детекции лиц. Найденные лица и информация о них (RawSample
), а также готовая база лиц (TemplatesIndex
, см. пункт Создание базы лиц) передаются в объект Recognizer
. Recognizer
строит биометрические шаблоны по данным из RawSample
и сравнивает их с шаблонами из базы лиц.
Идентификация лиц (с проверкой Liveness)

Данная схема идентификации аналогична предыдущей, однако в данном случае дополнительно используется карта глубины (Depth Map), полученная от 3D-сенсора (3D Sensor). Карта глубины передается в объект DepthLivenessEstimator
для определения принадлежности лица живому человеку. Если возвращен статус REAL
, найденное лицо и информация о нем (RawSample
) передаются для последующей идентификации в объект Recognizer
.