Задача MediaPipe Face Landmarker позволяет обнаруживать ориентиры лиц и выражения лица на изображениях и видео. Эту задачу можно использовать для распознавания выражений лица человека, применения фильтров и эффектов лица, а также создания виртуальных аватаров. В этой задаче используются модели машинного обучения (ML), которые могут работать с отдельными изображениями или с непрерывным потоком изображений. Задача выводит трехмерные ориентиры лица, показатели blendshape (коэффициенты, представляющие выражение лица) для определения детальных поверхностей лица в режиме реального времени, а также матрицы преобразования для выполнения преобразований, необходимых для рендеринга эффектов.
Начать
Начните использовать эту задачу, следуя одному из руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android – Пример кода – Руководство
- Python — Пример кода — Руководство
- Интернет — Пример кода — Руководство
Подробности задачи
В этом разделе описываются возможности, входные данные, выходные данные и параметры конфигурации этой задачи.
Функции
- Обработка входного изображения . Обработка включает поворот изображения, изменение размера, нормализацию и преобразование цветового пространства.
- Порог оценки — фильтрация результатов на основе оценок прогноза.
Входные данные задачи | Результаты задачи |
---|---|
Face Landmarker принимает ввод одного из следующих типов данных:
| Face Landmarker выдает следующие результаты:
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
running_mode | Устанавливает режим выполнения задачи. Есть три режима: ИЗОБРАЖЕНИЕ: Режим для ввода одного изображения. ВИДЕО: Режим декодированных кадров видео. LIVE_STREAM: режим прямой трансляции входных данных, например, с камеры. В этом режиме необходимо вызвать resultListener, чтобы настроить прослушиватель на асинхронное получение результатов. | { IMAGE, VIDEO, LIVE_STREAM } | IMAGE |
num_faces | Максимальное количество лиц, которое может обнаружить FaceLandmarker . Сглаживание применяется только в том случае, если для num_faces установлено значение 1. | Integer > 0 | 1 |
min_face_detection_confidence | Минимальный показатель достоверности, позволяющий считать обнаружение лица успешным. | Float [0.0,1.0] | 0.5 |
min_face_presence_confidence | Минимальный показатель достоверности оценки присутствия лица при обнаружении ориентиров лица. | Float [0.0,1.0] | 0.5 |
min_tracking_confidence | Минимальный показатель достоверности, позволяющий считать отслеживание лиц успешным. | Float [0.0,1.0] | 0.5 |
output_face_blendshapes | Выводит ли Face Landmarker формы лица. Формы смешивания лиц используются для рендеринга 3D-модели лица. | Boolean | False |
output_facial_transformation_matrixes | Выводит ли FaceLandmarker матрицу преобразования лица. FaceLandmarker использует матрицу для преобразования ориентиров лица из канонической модели лица в обнаруженное лицо, поэтому пользователи могут применять эффекты к обнаруженным ориентирам. | Boolean | False |
result_callback | Настраивает прослушиватель результатов на асинхронное получение результатов ориентира, когда FaceLandmarker находится в режиме прямой трансляции. Может использоваться только в том случае, если для режима работы установлено значение LIVE_STREAM | ResultListener | N/A |
Модели
Face Landmarker использует ряд моделей для прогнозирования ориентиров лица. Первая модель распознает лица, вторая модель находит ориентиры на обнаруженных лицах, а третья модель использует эти ориентиры для определения черт и выражений лица.
Следующие модели объединены в загружаемый комплект моделей:
- Модель обнаружения лиц : обнаруживает присутствие лиц по нескольким ключевым признакам.
- Модель сетки лица : добавляет полное отображение лица. Модель выводит оценку 478 трехмерных ориентиров лица.
- Модель прогнозирования Blendshape : получает выходные данные модели сетки лица и прогнозирует 52 показателя blendshape, которые представляют собой коэффициенты, представляющие различные выражения лица.
Модель обнаружения лиц — это модель ближнего действия BlazeFace , легкий и точный детектор лиц, оптимизированный для вывода данных на мобильных графических процессорах. Подробнее см. задачу «Детектор лиц» .
На изображении ниже показано полное отображение ориентиров лица из выходных данных пакета моделей.
Более детальное представление ориентиров лица смотрите на полноразмерном изображении .
Модельный комплект | Введите форму | Тип данных | Модельные карты | Версии |
---|---|---|---|---|
ЛицоОриентир | Детектор лица: 192 x 192 FaceMesh-V2: 256 x 256 Форма смешивания: 1 x 146 x 2 | поплавок 16 | Детектор лица FaceMesh-V2 Блендшейп | Последний |