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

Задача Face Landmarker

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

Попробуй это!

Начать

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

Подробности задачи

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

Функции

  • Обработка входного изображения . Обработка включает поворот изображения, изменение размера, нормализацию и преобразование цветового пространства.
  • Порог оценки — фильтрация результатов на основе оценок прогноза.
Входные данные задачи Результаты задачи
Face Landmarker принимает ввод одного из следующих типов данных:
  • Неподвижные изображения
  • Декодированные видеокадры
  • Живое видео
Face Landmarker выдает следующие результаты:
  • Ограничительные рамки для обнаруженных лиц в кадре изображения.
  • Полная сетка лица для каждого обнаруженного лица с оценками blendshape, обозначающими выражения лица и координаты ориентиров лица.

Варианты конфигурации

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

Название опции Описание Диапазон значений Значение по умолчанию
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 , легкий и точный детектор лиц, оптимизированный для вывода данных на мобильных графических процессорах. Подробнее см. задачу «Детектор лиц» .

На изображении ниже показано полное отображение ориентиров лица из выходных данных пакета моделей.

Ключевые точки Face Landmarker

Более детальное представление ориентиров лица смотрите на полноразмерном изображении .

Модельный комплект Введите форму Тип данных Модельные карты Версии
ЛицоОриентир Детектор лица: 192 x 192
FaceMesh-V2: 256 x 256
Форма смешивания: 1 x 146 x 2
поплавок 16 Детектор лица
FaceMesh-V2
Блендшейп
Последний