
Задача MediaPipe Face Landmarker позволяет обнаруживать лицевые ориентиры и выражения лица на изображениях и видео. Вы можете использовать эту задачу для идентификации выражений лица, применения лицевых фильтров и эффектов, а также для создания виртуальных аватаров. В задаче используются модели машинного обучения (ML), которые могут работать как с отдельными изображениями, так и с непрерывным потоком изображений. Задача выдает трехмерные лицевые ориентиры, оценки блендшейпов (коэффициенты, представляющие выражение лица) для определения детализированных поверхностей лица в реальном времени, а также матрицы преобразования для выполнения преобразований, необходимых для рендеринга эффектов.
Начать
Начните использовать эту задачу, следуя одному из руководств по реализации для вашей целевой платформы. Эти руководства, специфичные для вашей платформы, помогут вам выполнить базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android — Пример кода — Руководство
- Python — Пример кода — Руководство
- Веб -разработка - Пример кода - Руководство
Детали задачи
В этом разделе описываются возможности, входные и выходные данные, а также параметры конфигурации данной задачи.
Функции
- Обработка входного изображения — обработка включает в себя поворот изображения, изменение размера, нормализацию и преобразование в цветовое пространство.
- Пороговое значение оценки — фильтрация результатов на основе оценок прогноза.
| Входные данные задачи | Результаты выполнения задачи |
|---|---|
Устройство 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, когда FaceLandmarker находится в режиме прямой трансляции. Может использоваться только при установке режима работы в LIVE_STREAM | ResultListener | N/A |
Модели
Инструмент Face Landmarker использует ряд моделей для прогнозирования лицевых ориентиров. Первая модель обнаруживает лица, вторая определяет местоположение ориентиров на обнаруженных лицах, а третья использует эти ориентиры для идентификации черт лица и выражений.
Следующие модели объединены в загружаемый пакет моделей:
- Модель распознавания лиц : определяет наличие лиц по нескольким ключевым лицевым ориентирам.
- Модель лицевой сетки : добавляет полное отображение лица. Модель выдает оценку 478 трехмерных ориентиров лица.
- Модель прогнозирования формы лица (Blendshape prediction model ): получает выходные данные от модели лицевой сетки и прогнозирует 52 показателя формы лица (Blendshape scores), которые представляют собой коэффициенты, отражающие различные выражения лица.
В качестве модели для обнаружения лиц используется модель BlazeFace ближнего действия — легкий и точный детектор лиц, оптимизированный для выполнения операций на мобильных графических процессорах. Для получения дополнительной информации см. задачу «Детектор лиц» .
На изображении ниже показано полное сопоставление лицевых ориентиров, полученное из выходных данных пакета моделей.

Для более детального рассмотрения лицевых ориентиров см. изображение в полном размере .
| Комплект моделей | Форма входных данных | Тип данных | Модельные карточки | Версии |
|---|---|---|---|---|
| FaceLandmarker | Детектор лиц: 192 x 192 FaceMesh-V2: 256 x 256 Форма изгиба: 1 x 146 x 2 | поплавок 16 | FaceDetector FaceMesh-V2 Форма бленда | Последний |