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

Les 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.