Принадлежность лица реальному человеку
В этом разделе вы узнаете, как интегрировать компонент Liveness Estimator в ваш проект C++ для оценки принадлежности лица реальному человеку ("живость").
#
2D RGB Оценка принадлежности лица реальному человеку (C++)#
1. Создание Liveness Estimator1.1. Для создания Liveness Estimator, выполните шаги 1-3, описанные на странице Создание процессинг-блока
и укажите значение "LIVENESS_ESTIMATOR"
для ключа "unit_type"
. При создании Liveness Estimator можно не указывать значение для ключа "model_path"
или передать пустую строку ""
.
1.2. Создание процессинг-блока Liveness Estimator:
#
2. Оценки лица2.1. Создайте Context-контейнер ioData
для данных ввода-вывода, используя метод createContext()
:
2.2. Создайте Context-контейнер imgCtx
с RGB-изображением, выполнив шаги, описанные на странице
Создание контейнера Context c RGB-изображением.
2.3. Поместите исходное изображение в контейнер данных ввода-вывода:
2.4. Вызовите livenessEstimator
и передайте Context-контейнер ioData
, содержащий исходное изображение:
Для точной оценки требуется присутствие в кадре лица только одного человека, смотрящего в камеру, иначе будет возвращен статус "MULTIPLE_FACE_FRAMED".
Если на изображении обнаружено несколько лиц, будет обработано только одно из них (порядок не гарантируется).
Метод livenessEstimator()
добавит результат обработки сэмплов (изображений) в контейнер ioData
.
Формат выходных данных представляет собой список объектов, доступный по ключу "objects"
.
Каждый объект списка имеет ключ "class"
со значением "face"
.
По ключу "liveness"
доступен объект Context, содержащий 2 элемента:
- ключ
"value"
со значением типа string, которое соответствует одному из состояний pbio::Liveness2DEstimator::Liveness - ключ
"confidence"
со значением типа double в диапазоне [0,1]
#
3. GPU AccelerationПроцессинг-блок Liveness Estimator не поддерживает ускорение на GPU.