Suivez nous sur

DeepFace pour la reconnaissance faciale avancée

Intelligence Artificielle

DeepFace pour la reconnaissance faciale avancée

mm

La reconnaissance faciale est un domaine tendance dans l'IA et le ML depuis plusieurs années maintenant, et les implications culturelles et sociales généralisées de la reconnaissance faciale sont considérables. Cependant, il existe un écart de performance entre les systèmes visuels humains et les machines qui limite actuellement les applications de la reconnaissance faciale. 

Pour surmonter le tampon créé par l'écart de performance et offrir une précision au niveau humain, Meta a introduit Visage profond, un cadre de reconnaissance faciale. Le modèle DeepFace est formé sur un vaste ensemble de données faciales qui diffère considérablement des ensembles de données utilisés pour construire les références d'évaluation, et il a le potentiel de surpasser les cadres existants avec un minimum d'adaptations. De plus, le framework DeepFace produit des représentations de visage compactes par rapport à d'autres systèmes qui produisent des milliers de caractéristiques d'apparence faciale. 

Le framework DeepFace proposé utilise L'apprentissage en profondeur pour s'entraîner sur un vaste ensemble de données composé de différentes formes de données, notamment des images, des vidéos et des graphiques. L'architecture du réseau DeepFace suppose qu'une fois l'alignement terminé, l'emplacement de chaque région du visage est fixé au niveau du pixel. Par conséquent, il est possible d’utiliser les valeurs RVB brutes des pixels sans utiliser plusieurs couches convolutionnelles comme cela est le cas dans d’autres frameworks. 

Le pipeline conventionnel des cadres de reconnaissance faciale modernes comprend quatre étapes : détection, alignement, représentation et classification. Le framework DeepFace utilise une modélisation de visage 3D explicite pour appliquer une transformation par morceaux et utilise un réseau neuronal profond à neuf couches pour dériver une représentation faciale. Le framework DeepFace tente d'apporter les contributions suivantes

  1. Développez une architecture DNN ou Deep Neural Network efficace qui peut exploiter un vaste ensemble de données pour créer une représentation faciale qui peut être généralisée à d’autres ensembles de données. 
  2. Utilisez la modélisation 3D explicite pour développer un système d’alignement facial efficace. 

Comprendre le fonctionnement du modèle DeepFace

Alignement du visage

L'alignement du visage est une technique qui fait pivoter l'image d'une personne en fonction de l'angle des yeux. L'alignement des visages est une pratique populaire utilisée pour prétraiter les données pour la reconnaissance faciale, et les ensembles de données alignés facialement aident à améliorer la précision des algorithmes de reconnaissance en fournissant une entrée normalisée. Cependant, aligner les visages sans contrainte peut être une tâche difficile en raison des multiples facteurs impliqués tels que les expressions non rigides, les poses du corps, etc. Plusieurs techniques d'alignement sophistiquées, telles que l'utilisation d'un modèle analytique 3D du visage ou la recherche de points de référence à partir d'un ensemble de données externes, pourraient permettre aux développeurs de surmonter les défis. 

Bien que l’alignement soit la méthode la plus populaire pour gérer la vérification et la reconnaissance faciale sans contrainte, il n’existe pas de solution parfaite pour le moment. Les modèles 3D sont également utilisés, mais leur popularité a considérablement diminué ces dernières années, notamment lorsque l'on travaille dans un environnement sans contrainte. Cependant, comme les visages humains sont des objets 3D, cette approche pourrait être la bonne si elle est utilisée correctement. Le modèle DeepFace utilise un système qui utilise des points de référence pour créer une modélisation 3D analytique du visage. Cette modélisation 3D est ensuite utilisée pour transformer un recadrage facial en mode frontal 3D. 

De plus, tout comme la plupart des pratiques d’alignement, l’alignement DeepFace utilise également des détecteurs de points de repère pour diriger le processus d’alignement. Bien que le modèle DeepFace utilise un simple détecteur de points, il l'applique en plusieurs itérations pour affiner le résultat. Un régresseur de vecteur de support ou SVR formé pour préjuger des configurations de points extrait les points de référence d'un descripteur d'image à chaque itération. Le descripteur d'image de DeepFace est basé sur les histogrammes LBP bien qu'il prenne également en compte d'autres fonctionnalités. 

Alignement 2D

L'espace Visage profond Le modèle lance le processus d'alignement en détectant six points de référence dans la zone de détection, centrés au milieu des yeux, à l'emplacement de la bouche et au bout du nez. Ils sont utilisés pour faire pivoter, redimensionner et traduire l'image en six emplacements d'ancrage, et parcourir l'image déformée jusqu'à ce qu'il n'y ait plus de changement visible. La transformation agrégée génère ensuite un corp aligné en 2D. La méthode d'alignement est assez similaire à celle utilisée dans LFW-a et a été utilisée au fil des années pour tenter d'améliorer la précision du modèle. 

Alignement 3D

Pour aligner les visages avec des rotations hors plan, le framework DeepFace utilise un modèle de forme 3D générique et enregistre une caméra 3D qui peut être utilisée pour envelopper le corps aligné en 2D sur la forme 3D dans son plan image. En conséquence, le modèle génère la version du corps alignée en 3D, et cela est obtenu en localisant 67 points de référence supplémentaires dans le corps aligné en 2D à l'aide d'un deuxième SVR ou support Vector Regressor. 

Le modèle place ensuite manuellement les 67 points d'ancrage sur la forme 3D et est ainsi capable d'obtenir une correspondance complète entre les références 3D et leurs points de référence correspondants. Dans l'étape suivante, une caméra affine 3D vers 2D est ajoutée en utilisant la solution des moindres carrés généralisés aux systèmes linéaires avec une matrice de covariance connue qui minimise certaines pertes. 

Frontalisation

Puisque les déformations non rigides et les projections en perspective complète ne sont pas modélisées, la caméra 3D vers 2D installée ne sert qu'à titre d'approximation. Dans le but de réduire la corruption de facteurs porteurs d'identité importants jusqu'à la déformation finale, le modèle DeepFace ajoute les résidus correspondants aux composantes xy de chaque point de référence de référence. Une telle relaxation dans le but de déformer l'image 2D avec moins de distorsions de l'identité est plausible, et sans elle, les visages auraient été déformés dans la même forme en 3D, perdant ainsi d'importants facteurs discriminants. 

Enfin, le modèle réalise la frontalisation en utilisant une transformation affine par morceaux dirigée par la triangulation de Delaunay dérivée de 67 points de référence. 

  1. Visage détecté avec 6 points de repère. 
  2. Corps aligné en 2D induit. 
  3. 67 points de référence sur le corps aligné en 2D. 
  4. Forme 3D de référence transformée en image corporelle alignée en 2D. 
  5. Visibilité triangulaire par rapport à la caméra 3D-2D. 
  6. 67 points de repère induits par le modèle 3D. 
  7. Version alignée en 3D du corps final. 
  8. Nouvelle vue générée par le modèle 3D. 

Représentation

Avec l'augmentation de la quantité de données de formation, les méthodes basées sur l'apprentissage se sont révélées plus efficaces et plus précises que les fonctionnalités conçues, principalement parce que les méthodes basées sur l'apprentissage peuvent découvrir et optimiser les fonctionnalités pour une tâche spécifique. 

Architecture et formation DNN

Le DeepFace DNN est formé sur une tâche de reconnaissance faciale multiclasse qui classe l'identité d'une image faciale. 

La figure ci-dessus représente l'architecture globale du modèle DeepFace. Le modèle comporte une couche convolutive (C1) avec 32 filtres de taille 11x11x3 qui reçoit une image RVB à 3 canaux alignée en 3D de taille 152 × 152 pixels, et il en résulte 32 cartes de caractéristiques. Ces cartes de caractéristiques sont ensuite transmises à une couche Max Pooling ou M2 qui prend le maximum sur 3 × 3 quartiers spatiaux et a une foulée de 2, séparément pour chaque canal. Vient ensuite une autre couche convolutive (C3) qui comprend 16 filtres chacun de taille 9x9x16. L'objectif principal de ces calques est d'extraire des fonctionnalités de bas niveau telles que la texture et les bords simples. L'avantage de l'utilisation des couches Max Pooling est qu'elle rend la sortie générée par les couches convolutives plus robuste aux traductions locales, et lorsqu'elles sont appliquées à des images de visages alignés, elles rendent le réseau beaucoup plus robuste aux erreurs d'enregistrement à petite échelle. 

Plusieurs niveaux de regroupement rendent le réseau plus robuste dans certaines situations, mais cela entraîne également une perte d'informations sur la position précise des microtextures et des structures faciales détaillées. Pour éviter que le réseau ne perde les informations, le modèle DeepFace utilise une couche de pooling maximale uniquement avec la première couche convolutive. Ces couches sont ensuite interprétées par le modèle comme une étape de prétraitement adaptatif frontal. Bien qu’ils effectuent la majeure partie des calculs, ils disposent eux-mêmes de paramètres limités et étendent simplement l’entrée à un ensemble de caractéristiques locales. 

Les couches suivantes L4, L5 et L6 sont connectées localement et, tout comme une couche convolutive, elles appliquent un banc de filtres où chaque emplacement de la carte de caractéristiques apprend un ensemble unique de filtres. Comme différentes régions d’une image alignée ont des statistiques locales différentes, l’hypothèse de stationnarité spatiale ne peut pas être respectée. Par exemple, la zone située entre les sourcils et les yeux a une capacité de discrimination plus élevée que la zone située entre la bouche et le nez. L'utilisation de couches fidèles affecte le nombre de paramètres soumis à l'entraînement mais n'affecte pas la charge de calcul lors de l'extraction des fonctionnalités. 

Le modèle DeepFace utilise trois couches en premier lieu uniquement parce qu'il contient une grande quantité de données d'entraînement bien étiquetées. L'utilisation de couches connectées localement peut être davantage justifiée dans la mesure où chaque unité de sortie d'une couche connectée localement peut être affectée par un grand nombre de données d'entrée. 

Enfin, les couches supérieures sont entièrement connectées, chaque unité de sortie étant connectée à toutes les entrées. Les deux couches peuvent capturer les corrélations entre les caractéristiques capturées dans différentes parties des images du visage, telles que la position et la forme de la bouche, ainsi que la position et la forme des yeux. La sortie de la première couche entièrement connectée (F7) sera utilisée par le réseau comme vecteur de caractéristiques de représentation brute du visage. Le modèle transmettra ensuite la sortie de la dernière couche entièrement connectée (F8) à un softmax K-way qui produit une distribution sur les étiquettes de classe. 

Jeux de données

Le modèle DeepFace utilise une combinaison d'ensembles de données, l'ensemble de données Social Face Classification ou SFC étant le principal. De plus, le modèle DeepFace utilise également l'ensemble de données LFW et l'ensemble de données YTF. 

Ensemble de données SFC

L'ensemble de données SFC est tiré d'une collection d'images de Facebook et se compose de 4.4 millions d'images étiquetées de 4,030 800 personnes, chacune d'elles ayant entre 1200 et 5 XNUMX visages. Les XNUMX % les plus récents des images de visage de l'ensemble de données SFC de chaque identité sont laissés de côté à des fins de test.

Ensemble de données LFW

L'ensemble de données LFW comprend 13,323 6,000 photos de plus de cinq mille célébrités qui sont ensuite divisées en 10 XNUMX paires de visages réparties en XNUMX divisions. 

Ensemble de données YTF

L'ensemble de données YTF se compose de 3,425 1,595 vidéos de XNUMX XNUMX sujets et constitue un sous-ensemble des célébrités de l'ensemble de données LFW. 

Résultats

Sans frontalisation et en utilisant uniquement l'alignement 2D, le modèle atteint un score de précision d'environ 94.3 % seulement. Lorsque le modèle utilise le corps central de la détection du visage, il n'utilise aucun alignement et, dans ce cas, le modèle renvoie un score de précision de 87.9 %, car certaines parties de la région du visage peuvent sortir du corps central. Pour évaluer la capacité discriminante de la représentation du visage de manière isolée, le modèle suit le cadre d'apprentissage non supervisé pour comparer le produit interne des caractéristiques normalisées. Cela augmente la précision moyenne du modèle à 95.92 % 

Le modèle ci-dessus compare les performances du modèle DeepFace par rapport à d’autres modèles de reconnaissance faciale de pointe. 

L'image ci-dessus représente les courbes ROC sur l'ensemble de données. 

Conclusion

Idéalement, un classificateur de visages sera capable de reconnaître les visages avec la précision d’un humain et pourra restituer une grande précision quelle que soit la qualité de l’image, la pose, l’expression ou l’éclairage. De plus, un cadre de reconnaissance faciale idéal pourra être appliqué à une variété d’applications avec peu ou pas de modifications. Bien que DeepFace soit actuellement l’un des cadres de reconnaissance faciale les plus avancés et les plus efficaces, il n’est pas parfait et il pourrait ne pas être en mesure de fournir des résultats précis dans certaines situations. Mais le Visage profond Le cadre est une étape importante dans l'industrie de la reconnaissance faciale, et il comble l'écart de performance en utilisant une puissante technique d'apprentissage métrique, et il continuera à devenir plus efficace au fil du temps. 

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.