Concepts de détection de visages

La détection de visages localise les visages humains sur des supports visuels tels que des images ou des vidéos numériques. Lorsqu'un visage est détecté, il est associé à une position, une taille et une orientation. Il peut également être utilisé pour rechercher des points de repère tels que les yeux et le nez.

Voici quelques-uns des termes que nous utilisons en ce qui concerne la fonctionnalité de détection de visages de ML Kit:

  • Le suivi des visages étend la détection des visages aux séquences vidéo. Vous pouvez suivre n'importe quel visage qui apparaît dans une vidéo pendant une durée indéterminée, d'une image à l'autre. Cela signifie qu'un visage détecté dans des images vidéo consécutives peut être identifié comme étant la même personne. Notez qu'il ne s'agit pas d'une forme de reconnaissance des visages. Le suivi des visages effectue uniquement des inférences en fonction de la position et du mouvement des visages dans une séquence vidéo.

  • Un point d'intérêt est un point d'intérêt dans un visage. L'œil gauche, l'œil droit et la base du nez sont tous des exemples de points de repère. ML Kit permet de trouver des points de repère sur un visage détecté.

  • Un contour est un ensemble de points qui suivent la forme d'un visage. ML Kit offre la possibilité de trouver les contours d'un visage.

  • La classification détermine si une certaine caractéristique faciale est présente. Par exemple, un visage peut être classé selon que ses yeux sont ouverts ou fermés, ou s'il sourit ou non.

Orientation du visage

Les termes suivants décrivent l'angle d'orientation d'une face par rapport à la caméra:

  • Euler X: visage avec un angle Euler X positif orienté vers le haut.
  • Euler Y: un visage avec un angle Y d'Euler positif regarde vers la droite de l'appareil photo, ou vers la gauche s'il est négatif.
  • Euler Z: un visage ayant un angle Z positif d'Euler est pivoté dans le sens inverse des aiguilles d'une montre par rapport à l'appareil photo.

ML Kit ne rapporte pas l'angle d'Euler X, d'Euler Y ou d'Euler Z d'un visage détecté lorsque LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE et PERFORMANCE_MODE_FAST sont définis ensemble.

Points de repère

Un point de repère est un point d'intérêt dans un visage. L'œil gauche, l'œil droit et la base du nez sont tous des exemples de points de repère.

ML Kit détecte les visages sans rechercher de points de repère. La détection de points de repère est une étape facultative désactivée par défaut.

Le tableau suivant récapitule tous les points de repère pouvant être détectés en fonction de l'angle Y d'Euler d'un visage associé:

Angle d'Euler Y Points de repère détectables
< -36 degrés œil gauche, bouche gauche, oreille gauche, base du nez, joue gauche
-36 degrés à -12 degrés bouche gauche, base du nez, bouche inférieure, œil droit, œil gauche, joue gauche, embout gauche
-12 degrés à 12 degrés œil droit, œil gauche, base du nez, joue gauche, joue droite, bouche gauche, bouche droite, bouche inférieure
12 degrés à 36 degrés bouche droite, base du nez, bouche inférieure, œil gauche, œil droit, joue droite, embout de l'oreille droite
> 36 degrés œil droit, bouche droite, oreille droite, base du nez, joue droite

Chaque point de repère détecté inclut la position qui lui est associée dans l'image.

Contours

Un contour est un ensemble de points qui représentent la forme d'une caractéristique du visage. L'image suivante illustre la correspondance de ces points avec un visage. Cliquez sur l'image pour l'agrandir:

Chaque contour des caractéristiques détecté par ML Kit est représenté par un nombre fixe de points:

Visage ovale 36 points Lèvre supérieure (haut) 11 points
Sourcil gauche (haut) 5 points Lèvre supérieure (bas) 9 points
Sourcil gauche (bas) 5 points Lèvre inférieure (haut) 9 points
Sourcil droit (haut) 5 points Lèvre inférieure (bas) 9 points
Sourcil droit (bas) 5 points Pont de nez 2 points
Œil gauche 16 points Nez en bas 3 points
Œil droit 16 points
Joue gauche (centre) 1 point
Joue droite (centre) 1 point

Lorsque vous obtenez tous les contours d'un visage en même temps, vous obtenez un tableau de 133 points, qui représentent les contours, comme illustré ci-dessous:

Index des contours des caractéristiques
0-35 Visage ovale
36-40 Sourcil gauche (haut)
41-45 Sourcil gauche (bas)
46-50 Sourcil droit (haut)
51-55 Sourcil droit (bas)
56-71 Œil gauche
72-87 Œil droit
88-96 Lèvre supérieure (bas)
97-105 Lèvre inférieure (haut)
106-116 Lèvre supérieure (haut)
117-125 Lèvre inférieure (bas)
126, 127 Pont de nez
128-130 Nez du bas (notez que le point central est l'index 128)
131 Joue gauche (centre)
132 Joue droite (centre)

Classification

La classification détermine si une certaine caractéristique faciale est présente. ML Kit prend actuellement en charge deux classifications: yeux ouverts et sourire.

La classification est une valeur de certitude. Elle indique l'assurance qu'une caractéristique faciale est présente. Par exemple, une valeur de 0,7 ou plus pour la classification des sourires indique qu'il est probable qu'une personne sourit.

Ces deux classifications reposent sur la détection des points de repère.

Notez également que les classifications "yeux ouverts" et "sourire" ne fonctionnent que pour les visages frontaux, c'est-à-dire les visages avec un angle Y d'Euler faible (entre -18 et 18 degrés).

Taille minimale du visage

La taille minimale du visage correspond à la taille du visage souhaitée, exprimée sous la forme du rapport entre la largeur de la tête et la largeur de l'image. Par exemple, la valeur 0,1 signifie que le plus petit visage à rechercher correspond à environ 10% de la largeur de l'image recherchée.

La taille minimale des visages est un compromis entre performances et précision: en définissant une taille minimale inférieure, vous permettez au détecteur de détecter les visages plus petits, mais la détection prend plus de temps. Plus elle est grande, les visages plus petits peuvent être exclus, mais l'exécution s'exécute plus rapidement.

La taille minimale des visages n'est pas une limite stricte. Le détecteur peut détecter des visages légèrement plus petits que ceux spécifiés.

Étapes suivantes

Utiliser la détection des visages dans l'application iOS ou Android: