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

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

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

Начать

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

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

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

Функции

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

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

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

Название опции Описание Диапазон значений Значение по умолчанию
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 Настраивает прослушиватель результатов на асинхронное получение результатов обнаружения, когда Детектор лиц находится в режиме прямой трансляции. Может использоваться только в том случае, если для режима работы установлено значение LIVE_STREAM . N/A Not set

Модели

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

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

BlazeFace (ближняя дистанция)

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

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

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

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

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

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

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

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

Тесты задач

Вот тесты задач для всего конвейера, основанные на предварительно обученных моделях, описанных выше. Результатом задержки является средняя задержка на Pixel 6 с использованием ЦП/ГП.

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