Руководство по обнаружению ориентиров лица

Задача "Опорный знак на лице"

Задача MediaPipe Face Landmarker позволяет обнаруживать лицевые ориентиры и выражения лица на изображениях и видео. Вы можете использовать эту задачу для идентификации выражений лица, применения лицевых фильтров и эффектов, а также для создания виртуальных аватаров. В задаче используются модели машинного обучения (ML), которые могут работать как с отдельными изображениями, так и с непрерывным потоком изображений. Задача выдает трехмерные лицевые ориентиры, оценки блендшейпов (коэффициенты, представляющие выражение лица) для определения детализированных поверхностей лица в реальном времени, а также матрицы преобразования для выполнения преобразований, необходимых для рендеринга эффектов.

Попробуйте!

Начать

Начните использовать эту задачу, следуя одному из руководств по реализации для вашей целевой платформы. Эти руководства, специфичные для вашей платформы, помогут вам выполнить базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:

Детали задачи

В этом разделе описываются возможности, входные и выходные данные, а также параметры конфигурации данной задачи.

Функции

  • Обработка входного изображения — обработка включает в себя поворот изображения, изменение размера, нормализацию и преобразование в цветовое пространство.
  • Пороговое значение оценки — фильтрация результатов на основе оценок прогноза.
Входные данные задачи Результаты выполнения задачи
Устройство Face Landmarker принимает на вход данные одного из следующих типов:
  • Неподвижные изображения
  • Расшифрованные видеокадры
  • Прямая видеотрансляция
Инструмент "Маркеры лица" выдает следующие результаты:
  • Для каждого обнаруженного лица представлена ​​полная сетка лица с оценками формы (blendshape scores), обозначающими выражения лица, и координатами лицевых ориентиров.
  • Матрицы преобразования формы лица и трансформации лица

Параметры конфигурации

Данная задача имеет следующие параметры конфигурации:

Название варианта Описание Диапазон значений Значение по умолчанию
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
Форма бленда
Последний