Распознавание лиц

С помощью API обнаружения лиц ML Kit вы можете обнаруживать лица на изображении, определять ключевые черты лица и получать контуры обнаруженных лиц.

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

iOS Android

Если вы разработчик Flutter, вас может заинтересовать FlutterFire , который включает плагин для API Firebase ML Vision.

Ключевые возможности

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

Примеры результатов

Пример 1

Для каждого обнаруженного лица:

Лицо 1 из 3
Ограничивающий многоугольник (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882) 812, 329.660278320312)
Углы поворота Y: -14.054030418395996, Z: -55.007488250732422
Идентификатор отслеживания 2
Ориентиры на лице
Левый глаз (945.869323730469, 211.867126464844)
Правый глаз (971.579467773438, 247.257247924805)
Нижняя часть рта (907.756591796875, 259.714477539062)

... и т. д.

Вероятности функций
Улыбаясь 0,88979166746139526
Левый глаз открыт 0,98635888937860727
Правый глаз открыт 0.99258323386311531

Пример 2 (обнаружение контура лица)

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

Контуры черт лица
переносица (505.149811, 221.201797), (506.987122, 313.285919)
Левый глаз (404.642029, 232.854431), (408.527283, 231.366623), (413.565796, 229.427856), (421.378296, 226.967682), (432.598755, 225.434143), (4 42.953064, 226.089508), (453.899811, 228.594818), (461.516418, 232.650467), (465.069580 , 235.600845), (462.170410, 236.316147), (456.233643, 236.891602), (446.363922, 237.966888), (435.698914, 238.149323), (424.320740, 237.235168), (416.037720, 236.012115), (409.983459, 234.870300)
Верхняя часть верхней губы (421.662048, 354.520813), (428.103882, 349.694061), (440.847595, 348.048737), (456.549988, 346.295532), (480.526489, 346.089294), (5 03.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031) , 351.693268), (570.226685, 354.210175), (575.305420, 359.257751)
(и т. д.)