Распознавание лиц позволяет находить лица людей на визуальных носителях, таких как цифровые изображения или видео. При обнаружении лица определяется его положение, размер и ориентация, а также выполняется поиск ориентиров, таких как глаза и нос.
Ниже приведены некоторые термины, которые мы используем в отношении функции распознавания лиц в ML Kit:
Отслеживание лиц – это функция распознавания лиц в видео. Любое лицо, которое появляется в видео на любое время, можно отслеживать от кадра к кадру. Это означает, что лицо, обнаруженное в нескольких последовательных кадрах видео, может быть идентифицировано как принадлежащее одному и тому же человеку. Обратите внимание, что это не распознавание лиц. Отслеживание лиц позволяет делать выводы только на основе положения и движения лиц в видео.
Ориентир – это точка интереса на лице. Левый глаз, правый глаз и основание носа – это примеры ориентиров. ML Kit позволяет находить ориентиры на обнаруженном лице.
Контур – это набор точек, повторяющих форму черты лица. ML Kit позволяет находить контуры лица.
Классификация определяет, присутствует ли определенная характеристика лица. Например, лицо можно классифицировать по тому, открыты или закрыты глаза, улыбается ли человек и т. д.
Ориентация лица
Ниже приведены термины, описывающие угол, под которым лицо ориентировано относительно камеры:
- Угол Эйлера X: если угол Эйлера X положительный, лицо направлено вверх.
- Угол Эйлера Y. Если угол Эйлера Y положительный, лицо повернуто вправо от камеры, а если отрицательный – влево.
- Угол Эйлера Z. Если угол Эйлера Z положительный, лицо повернуто против часовой стрелки относительно камеры.
ML Kit не сообщает углы Эйлера X, Y или Z обнаруженного лица, если одновременно заданы значения LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE и PERFORMANCE_MODE_FAST.
Ориентиры
Ориентир – это точка интереса на лице. Левый глаз, правый глаз и основание носа – это примеры ориентиров.
ML Kit обнаруживает лица, не ища ориентиры. Распознавание достопримечательностей – это необязательный шаг, который по умолчанию отключен.
В таблице ниже перечислены все ориентиры, которые можно обнаружить, учитывая угол Эйлера Y связанного лица:
| Угол Эйлера Y | Распознаваемые ориентиры |
|---|---|
| < -36 градусов | левый глаз, левый уголок рта, левое ухо, основание носа, левая щека |
| От -36 до -12 градусов | левый угол рта, основание носа, нижняя губа, правый глаз, левый глаз, левая щека, кончик левого уха; |
| От -12 до 12 градусов | правый глаз, левый глаз, основание носа, левая щека, правая щека, левая часть рта, правая часть рта, нижняя часть рта |
| От 12 до 36 градусов | правый уголок рта, основание носа, нижняя губа, левый глаз, правый глаз, правая щека, кончик правого уха; |
| > 36 градусов | правый глаз, правый угол рта, правое ухо, основание носа, правая щека; |
Для каждого обнаруженного ориентира указывается его положение на изображении.
Контуры
Контур – это набор точек, представляющих форму черты лица. На изображении ниже показано, как эти точки соотносятся с лицом. Нажмите на изображение, чтобы увеличить его.
Каждый контур, обнаруженный ML Kit, представлен фиксированным количеством точек:
| Овал лица | 36 баллов | Верхняя губа (верхняя часть) | 11 баллов |
|---|---|---|---|
| Левая бровь (верх) | 5 баллов | Верхняя губа (снизу) | 9 баллов |
| Левая бровь (нижняя часть) | 5 баллов | Нижняя губа (верхняя часть) | 9 баллов |
| Правая бровь (верхняя часть) | 5 баллов | Нижняя губа | 9 баллов |
| Правая бровь (нижняя часть) | 5 баллов | Переносица | 2 балла |
| Левый глаз | 16 баллов | Нижняя часть носа | 3 балла |
| Правый глаз | 16 баллов | ||
| Левая щека (центр) | 1 балл | ||
| Правая щека (центр) | 1 балл |
Если получить все контуры лица одновременно, вы получите массив из 133 точек, которые соответствуют контурам черт лица, как показано ниже:
| Индексы контуров объектов | |
|---|---|
| 0-35 | Овал лица |
| 36-40 | Левая бровь (верх) |
| 41-45 | Левая бровь (нижняя часть) |
| 46-50 | Правая бровь (верх) |
| 51-55 | Правая бровь (нижняя часть) |
| 56-71 | Левый глаз |
| 72-87 | Правый глаз |
| 88-96 | Верхняя губа (снизу) |
| 97-105 | Нижняя губа (верхняя часть) |
| 106-116 | Верхняя губа (верхняя часть) |
| 117-125 | Нижняя губа (нижняя часть) |
| 126, 127 | Переносица |
| 128-130 | Нижняя часть носа (центральная точка имеет индекс 128) |
| 131 | Левая щека (центр) |
| 132 | Правая щека (центр) |
Классификация
Классификация определяет, присутствует ли определенная характеристика лица. В настоящее время ML Kit поддерживает две классификации: открытые глаза и улыбка.
Классификация – это значение достоверности. Оно указывает на уверенность в наличии характеристики лица. Например, значение 0,7 или выше для классификации улыбки указывает на то, что человек, скорее всего, улыбается.
Обе классификации основаны на распознавании ориентиров.
Обратите внимание, что классификация "глаза открыты" и "улыбка" работает только для лиц, расположенных фронтально, то есть с небольшим углом Эйлера Y (от -18 до 18 градусов).
Минимальный размер лица
Минимальный размер лица – это желаемый размер лица, выраженный как отношение ширины головы к ширине изображения. Например, значение 0,1 означает, что наименьшее лицо, которое нужно найти, составляет примерно 10% от ширины изображения.
Минимальный размер лица – это компромисс между производительностью и точностью: если задать меньший размер, детектор будет находить меньшие лица, но обнаружение займет больше времени; если задать больший размер, меньшие лица могут быть исключены, но детектор будет работать быстрее.
Минимальный размер лица не является жестким ограничением. Детектор может находить лица, которые немного меньше указанного размера.
Дальнейшие действия
Используйте распознавание лиц в приложении для iOS или Android: