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

Оценка лиц

В этом разделе вы узнаете, как интегрировать компоненты для оценки эмоций, пола, возраста и детекции маски в ваш проект на C++ или Python.

Блоки оценки(C++/Python)

Требования

  • Операционная система Windows x86 64-bit или Linux x86 64-bit.
  • Установлен пакет Face SDK windows_x86_64 или linux_x86_64 (см. Начало работы).

Types of evaluation blocks for the key "unit_type"

  • EMOTION_ESTIMATOR
  • GENDER_ESTIMATOR
  • AGE_ESTIMATOR
  • MASK_ESTIMATOR

Dependencies on other blocks

  • Results of the detection unit operation.
  • Some require face points obtained from the FACE_FITTER block.

1. Create an estimation block

1.1 Для создания блока оценки, выполните шаги 1-3, описанные на странице Создание процессинг-блока и укажите значение, инетересующего вас блока, для ключа "unit_type".

configCtx["unit_type"] = "EMOTION_ESTIMATOR";

1.2 Создайте процессинг-блок оценки:

pbio::ProcessingBlock blockEstimator = service->createProcessingBlock(configCtx);

2. Attribute estimation

2.1 Follow steps 1-4 Face detection

2.2. Вызовите blockEstimator() и передайте Context-контейнер ioData:

blockEstimator(ioData);

Calling blockEstimator() will add the result of processing samples (images) to the container ioData'. Attributes corresponding to the evaluation block are added to each object from the list of objects available by the key "objects"`.

3. Attributes to add

3.1 EMOTION_ESTIMATOR

/*
[{
"emotions" : [
"confidence": {"type": "double", "minimum": 0, "maximum": 1},
"emotion": {
"enum": ["ANGRY", "DISGUSTED", "SCARED", "HAPPY", "NEUTRAL", "SAD", "SURPRISED"]
}
]
}]
*/
примечание

Примеры использования Emotion Estimator:

3.2 AGE_ESTIMATOR

/*
[{
"age": {"type": "long", "minimum": 0}
}]
*/
примечание

Примеры использования Age Estimator:

3.3 GENDER_ESTIMATOR

/*
[{
"gender": {
"enum": ["FEMALE", "MALE"]
}
}]
*/
примечание

Примеры использования Gender Estimator:

3.4 MASK_ESTIMATOR

/*
[{
"has_medical_mask": {
"confidence": {"double", "minimum": 0, "maximum": 1}, // числовое значение уверенности в наличии/отсутствии маски на лице
"value": {"type": "boolean"} // true - человек в маске, false - человек без маски. Значение параметра "value" определяется по значению ключа `confidence_threshold`
}
}]
*/
примечание

Примеры использования Mask Estimator:

4. Ускорение на GPU

Блоки оценки могут быть использованы с ускорением на GPU (CUDA). Более подробная информация в разделе Ускорение на GPU.