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

Три человека, лица которых выделены ограничивающими рамками.

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

Попробуйте!

Начать

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

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

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

Функции

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

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

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

Название варианта Описание Диапазон значений Значение по умолчанию
running_mode Задает режим выполнения задачи. Существует три режима:

ИЗОБРАЖЕНИЕ: Режим для ввода одного изображения.

ВИДЕО: Режим декодирования кадров видео.

LIVE_STREAM: Режим для потоковой передачи входных данных в реальном времени, например, с камеры. В этом режиме необходимо вызвать функцию resultListener для настройки слушателя, который будет получать результаты асинхронно.
{ IMAGE, VIDEO, LIVE_STREAM } IMAGE
min_detection_confidence Минимальный показатель достоверности, при котором распознавание лица считается успешным. Float [0,1] 0.5
min_suppression_threshold Минимальный порог подавления немаксимальных значений, при котором обнаружение лица считается перекрывающимся. Float [0,1] 0.3
result_callback Настраивает обработчик результатов для асинхронного получения результатов обнаружения, когда детектор лиц находится в режиме прямой трансляции. Может использоваться только в том случае, если для параметра running mode установлено значение LIVE_STREAM . N/A Not set

Модели

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

Модели, перечисленные в этом разделе, являются вариантами BlazeFace, легковесного и точного детектора лиц, оптимизированного для выполнения операций на мобильных графических процессорах. Модели BlazeFace подходят для таких приложений, как оценка 3D-ключевых точек лица, классификация выражений лица и сегментация областей лица. BlazeFace использует легковесную сеть извлечения признаков, аналогичную MobileNetV1/V2 .

BlazeFace (ближний бой)

Легковесная модель для обнаружения одного или нескольких лиц на селфи-подобных изображениях, полученных с помощью камеры смартфона или веб-камеры. Модель оптимизирована для изображений, полученных с фронтальной камеры телефона на небольшом расстоянии. Архитектура модели использует метод сверточной нейронной сети Single Shot Detector (SSD) с пользовательским кодировщиком. Для получения дополнительной информации см. исследовательскую статью о Single Shot MultiBox Detector .

Название модели Форма входных данных Тип квантования Модель карты Версии
BlazeFace (ближний бой) 128 x 128 поплавок 16 информация Последний

BlazeFace (полный диапазон)

Относительно легкая модель для обнаружения одного или нескольких лиц на изображениях, полученных с камеры смартфона или веб-камеры. Модель оптимизирована для изображений с полным диапазоном фокусных расстояний, например, снятых с помощью задней камеры телефона. Архитектура модели использует метод, аналогичный сверточной сети CenterNet с пользовательским кодировщиком.

Название модели Форма входных данных Тип квантования Модель карты Версии
BlazeFace (полный диапазон) 128 x 128 поплавок 16 информация Последний

BlazeFace Sparse (полный диапазон)

Облегченная версия стандартной полнодиапазонной модели BlazeFace, примерно на 60% меньше по размеру. Модель оптимизирована для полнодиапазонных изображений, например, тех, что получаются при съемке с помощью задней камеры телефона. В архитектуре модели используется технология, аналогичная сверточной сети CenterNet с пользовательским кодировщиком.

Название модели Форма входных данных Тип квантования Модель карты Версии
BlazeFace Sparse (полный диапазон) 128 x 128 поплавок 16 информация Последний

Контрольные показатели задач

Ниже представлены результаты тестирования производительности всего конвейера на основе предварительно обученных моделей. Результат по задержке — это средняя задержка на Pixel 6 с использованием CPU/GPU.

Название модели Задержка ЦП Задержка графического процессора
BlazeFace (ближний бой) 2,94 мс 7,41 мс