Сценарии использования
В данном разделе представлены возможные сценарии использования и схематично показана взаимосвязь компонентов Face SDK. Синим цветом обозначены источники данных, зеленым – компоненты-обработчики данных, фиолетовым – объекты, получаемые на выходе в результате обработки.
Оценка лиц (с использованием объекта VideoWorker)
Стандартный вариант определения пола, возраста и эмоций лица на видеопотоке – использование объекта VideoWorker
. Кадры (Frames), получаемые с камеры (Camera), передаются для обработки в VideoWorker
, в результате которой данные о поле, возрасте и эмоциях приходят в коллбэк VideoWorker::TrackingCallbackU
. Более подробную информацию об оценке лиц на видеопотоке см. в разделе Определение пола, возраста и эмоций.
Оценка лиц (пользовательский вариант)
В случае, если Вам не подходит вариант оценки лиц с использованием объекта VideoWorker
(например, если требуется оценка лиц с фотографий), Вы можете использовать данный вариант оценки лиц. Кадры (Frames), получаемые с камеры (Camera), передаются в объект Capturer
, который служит для захвата лиц. Найденные лица и информация о них (RawSample
) передаются для обработки в объекты AgeGenderEstimator
и EmotionsEstimator
, которые возвращают пол и возраст лица и эмоции лица соответственно. Более подробную информацию об оценке лиц см. в разделе Оценка лиц.
Создание базы лиц
Для распознавания лиц требуется единократно создать базу. Фотографии (Photos) передаются в объект Capturer
, который служит для захвата лиц. Найденные лица и информация о них (RawSample
) передаются в компонент Processor
, который возвращает шаблоны для распознавания (Template
). Операция получения шаблонов для больших баз занимает длительное время, поэтому предусмотрен механизм сохранения шаблона в долговременную память (см. методы Template::save
, Recognizer::loadTemplate
).
Распознавание лиц (с использованием объекта VideoWorker)
Стандартный вариант распознавания лиц на видеопотоке – использование объекта VideoWorker
. Кадры (Frames), получаемые с камеры (Camera), передаются для обработки в VideoWorker
. В случае, если Вы используете 3D-сенсор, для обработки в VideoWorker
также передается карта глубины (Depth Map). Данные о найденных и распознанных лицах, а также созданные шаблоны возвращаются коллбэками. Более подробную информацию о детекции, создании шаблонов и распознавании лиц на видеопотоке см. в разделе Обработка видеопотока.
Распознавание лиц (пользовательский вариант, RGB-камера)
В случае, если Вам не подходит вариант распознавания лиц с использованием объекта VideoWorker
, Вы можете использовать данный вариант распознавания лиц. Кадры (Frames), получаемые с камеры (Camera), передаются в объект Capturer
, который служит для захвата лиц. Найденные лица и информация о них (RawSample
) передаются в компонент Processor
. Компонент Matcher
служит для сравнения найденных лиц с лицами из базы, соответственно, на входе он принимает готовую базу лиц (TemplatesIndex
, см. пункт Создание базы лиц) и шаблоны найденных лиц от компонента Processor
. Компонент Matcher
возвращает результат сравнения двух шаблонов между собой. Более подробная информация представлена в пунктах Детекция лиц и Идентификация лиц.
Распознавание лиц (пользовательский вариант, Depth Liveness)
Данная схема распознавания аналогична предыдущей, однако в данном случае дополнительно используется карта глубины (Depth Map), полученная от 3D-сенсора (3D Sensor). Карта глубины передается в объект DepthLivenessEstimator
для определения принадлежности лица живому человеку. В зависимости от результата (статус REAL
или FAKE
) найденное лицо и информация о нем (RawSample
) либо передается для последующей идентификации, либо нет. Более подробную информацию об оценке принадлежности лица живому человеку см. в разделе Принадлежность лица реальному человеку.