YOLO5Face : Pourquoi réinventer un détecteur de visages

De grands progrès ont été réalisés ces dernières années dans le domaine de la détection faciale grâce aux réseaux de neurones convolutifs. Bien que de nombreux détecteurs faciaux reposent sur des architectures spécifiquement conçues pour cette tâche, nous traitons la détection faciale comme un problème général de détection d'objets. Nous avons implémenté un détecteur facial basé sur le détecteur d'objets YOLOv5, que nous avons nommé YOLO5Face. Nous avons apporté plusieurs modifications clés à YOLOv5 afin de l'optimiser pour la détection faciale. Ces améliorations incluent l’ajout d’un head de régression à cinq points pour les landmarks faciaux, l’introduction d’un bloc d’entrée (stem block) au début du réseau principal (backbone), l’utilisation de noyaux de plus petite taille dans le module SPP (Spatial Pyramid Pooling), ainsi que l’ajout d’une sortie P6 dans le bloc PAN (Path Aggregation Network). Nous avons conçu des détecteurs de différentes tailles, allant d’un modèle extralarge visant à maximiser les performances jusqu’à un modèle ultra-petit adapté à une détection en temps réel sur des dispositifs embarqués ou mobiles. Les résultats expérimentaux sur le jeu de données WiderFace montrent que, sur des images VGA, nos détecteurs atteignent des performances de pointe dans presque toutes les sous-ensembles Easy, Medium et Hard, surpassant même les détecteurs spécialisés plus complexes. Le code source est disponible à l’adresse suivante : \url{https://github.com/deepcam-cn/yolov5-face}