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

Определение антропометрических точек лица

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

Определение антропометрических точек лица (C++/Python)

1. Создание Face Fitter

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

  • "FACE_FITTER" для ключа "unit_type";
configCtx["unit_type"] = "FACE_FITTER";

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

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

2. Детекция антропометрических точек лица

2.1. Выполните обнаружение человеческого лица с помощью FaceDetector, как описано в разделе Детекция лиц, тел и объектов].

2.2. Передайте полученный Context-контейнер методу faceFitter():

faceFitter(ioData);

Результат вызова faceFitter() добавит результат обработки сэмплов (изображений) в контейнер ioData.

Каждому объекту из списка объектов доступных по ключу "objects" добавляются ключевые точки лица.

Ключ "keypoints" содержит набор именованных ключевых точек, каждая из которых содержит значения "proj". А также список всех точек в ключе "points", каждая из которых содержит значения "x" и "y".

Точки являются относительными координатами точки в диапазоне [0,1].

/*
[{
"keypoints": [
{"proj": {x_proj, y_proj}, "confidence": {"type": "double", "minimum": 0, "maximum": 1}}, ...
"points": [{"x", "y"}: {"type": "double", "minimum": 0, "maximum": 1}]
]
}]
*/