Задача MediaPipe Face Detector позволяет обнаруживать лица на изображении или видео. Эту задачу можно использовать для поиска лиц и черт лица в кадре. В этой задаче используется модель машинного обучения (ML), которая работает с отдельными изображениями или непрерывным потоком изображений. Задача выводит расположение лица, а также следующие ключевые точки лица: левый глаз, правый глаз, кончик носа, рот, трагиция левого глаза и трагиция правого глаза.
Начать
Начните использовать эту задачу, следуя одному из этих руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android – Пример кода – Руководство
- Python — Пример кода — Руководство
- Интернет — Пример кода — Руководство
- iOS – Пример кода – Руководство
Подробности задачи
В этом разделе описаны возможности, входы, выходы и параметры конфигурации этой задачи.
Функции
- Обработка входного изображения . Обработка включает в себя поворот изображения, изменение размера, нормализацию и преобразование цветового пространства.
- Порог оценки — фильтрация результатов на основе оценок прогноза.
Входные данные задачи | Результаты задачи |
---|---|
Детектор лиц принимает входные данные одного из следующих типов:
| Детектор лиц выдает следующие результаты:
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
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 мс |