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

Сценарии использования

В данном разделе представлены возможные сценарии использования и схематично показана взаимосвязь компонентов 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) либо передается для последующей идентификации, либо нет. Более подробную информацию об оценке принадлежности лица живому человеку см. в разделе Принадлежность лица реальному человеку.