← Retour au Blog
RechercheDétection de visageDeep Learning

L’évolution de la détection de visage : des Handcrafted Features aux Deep Learning Frameworks

Introduction

La détection de visage est la tâche fondamentale de vision par ordinateur consistant à localiser les visages dans des images numériques. Elle constitue le point d’entrée de presque toutes les applications d’analyse faciale : reconnaissance, vérification, estimation d’attributs et face swapping. La question centrale est simple : où se trouvent les visages dans l’image ?

L’ère Viola-Jones (2001–2012)

Une avancée majeure

Le détecteur Viola-Jones, publié en 2001, a dominé la détection de visage pendant plus d’une décennie. Ses innovations clés étaient :

  • Haar-like Features : des caractéristiques rectangulaires efficaces pour modéliser des structures faciales simples
  • Integral Images : une précomputation permettant un calcul rapide des features à différentes échelles
  • AdaBoost : une méthode d’apprentissage qui combine plusieurs classifieurs faibles en un classifieur fort
  • Cascade Architecture : une architecture multi-étapes qui élimine rapidement les régions sans visage pour atteindre le temps réel

Limites

Malgré son succès, Viola-Jones gérait mal les visages non frontaux, les conditions d’éclairage extrêmes et les occlusions partielles. Il était conçu avant tout pour la détection frontale et généralisait mal aux environnements non contrôlés.

Période de transition : DPM et hybrides (2010–2015)

Deformable Part Models

Avec des besoins plus complexes, les chercheurs ont développé les Deformable Part Models, qui représentent un visage comme un ensemble flexible de parties — yeux, nez, bouche — reliées par des relations spatiales. Ces modèles géraient mieux la pose, mais au prix d’un coût de calcul plus élevé.

La révolution du Deep Learning (2014–aujourd’hui)

Les CNN changent le paysage

Les Convolutional Neural Networks ont révolutionné la détection de visage. Les modèles profonds apprennent directement des représentations hiérarchiques à partir des données, supprimant la dépendance aux features conçues manuellement. Les facteurs clés étaient :

  • de grands datasets d’entraînement comme WIDER FACE
  • des GPU plus puissants
  • des avancées continues dans les architectures réseau

Frameworks majeurs

MTCNN (2016)

Multi-task Cascaded Convolutional Networks a introduit une approche en trois étapes avec Proposal Network (P-Net), Refine Network (R-Net) et Output Network (O-Net), permettant de combiner détection de visage et alignement.

RetinaFace (CVPR 2020)

RetinaFace, proposé par InsightFace, a introduit une localisation dense des visages dans des conditions réelles. Ses contributions clés sont :

  • une détection single-stage basée sur des anchors
  • l’apprentissage conjoint de la détection et des landmarks à 5 points
  • du multi-task learning avec self-supervised mesh decoder
  • des résultats state-of-the-art sur WIDER FACE

SCRFD (ICLR 2022)

Sample and Computation Redistribution for Efficient Face Detection a repoussé l’efficacité :

  • recherche d’architecture basée sur le NAS pour une meilleure répartition du calcul
  • stratégie de sample redistribution pour améliorer l’entraînement
  • meilleur compromis précision-vitesse que les approches précédentes
  • modèles allant de 500M FLOPs à 34G FLOPs

Comparaison de performances

Les détecteurs modernes de Deep Learning surpassent largement les méthodes classiques.

MethodWIDER FACE EasyWIDER FACE MediumWIDER FACE Hard
Viola-Jones~50%~40%~20%
MTCNN85.1%82.0%60.7%
RetinaFace96.9%96.1%91.4%
SCRFD-34GF97.2%96.5%93.7%

Intégration pratique

Avec InsightFace, il est relativement simple de déployer une détection de visage de pointe.

from insightface.app import FaceAnalysis

app = FaceAnalysis(providers=['CUDAExecutionProvider'])

app.prepare(ctx_id=0, det_size=(640, 640))

faces = app.get(img)

for face in faces:

print(f"Bounding box: {face.bbox}")

print(f"Detection score: {face.det_score:.4f}")

print(f"Landmarks: {face.kps}")

Conclusion

La transition entre Handcrafted Features et Deep Learning Frameworks représente l’une des plus grandes avancées de l’histoire de la vision par ordinateur. RetinaFace et SCRFD d’InsightFace se situent à l’avant-garde de cette évolution en combinant précision de pointe et déploiement pratique du serveur à l’edge.