Оценка лиц
В этом разделе вы узнаете, как интегрировать компоненты для оценки эмоций, пола, возраста и детекции маски в ваш проект на 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"
.
- C++
- Python
configCtx["unit_type"] = "EMOTION_ESTIMATOR";
configCtx = {
"unit_type": "EMOTION_ESTIMATOR",
}
1.2 Создайте процессинг-блок оценки:
- C++
- Python
pbio::ProcessingBlock blockEstimator = service->createProcessingBlock(configCtx);
blockEstimator = service.create_processing_block(configCtx)
2. Attribute estimation
2.1 Follow steps 1-4 Face detection
2.2. Вызовите blockEstimator()
и передайте Context-контейнер ioData
:
- C++
- Python
blockEstimator(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.