À propos du projet

InsightFace est un projet open-source complet d'analyse faciale 2D et 3D, maintenu par Jia Guo et Jiankang Deng. Il fournit un riche ensemble d'algorithmes de pointe pour la reconnaissance faciale, la détection de visages, l'alignement de visages, l'échange de visages et la reconstruction faciale 3D, tous optimisés pour l'entraînement et le déploiement. Le projet est principalement construit sur PyTorch et MXNet, prenant en charge Python 3.x avec PyTorch 1.6+ et/ou MXNet 1.6-1.8. Les modules clés comprennent : 1. Reconnaissance faciale : implémente ArcFace (CVPR 2019), SubCenter ArcFace (ECCV 2020), PartialFC (CVPR 2022), VPL (CVPR 2021), etc. Prend en charge plusieurs backbones, notamment IResNet, MobileFaceNet, MobileNet, InceptionResNet_v2 et DenseNet. Inclut des données d'entraînement (MS1M nettoyé, VGG2, CASIA-Webface), des pipelines d'évaluation (IJB, MegaFace) et des modèles pré-entraînés. 2. Détection de visages : implémente RetinaFace (CVPR 2020) et SCRFD (Arxiv 2021), fournissant du code d'entraînement, des jeux de données, des modèles pré-entraînés et des scripts d'évaluation. 3. Alignement de visages : implémente SDUNets (BMVC 2018) pour l'alignement basé sur les cartes de chaleur et SimpleRegression pour la régression de coordonnées légère. 4. Reconstruction faciale 3D : inclut des méthodes pour la reconstruction faciale 3D monoculaire, la reconstruction de la réflectance faciale (CVPR 2024) et l'estimation du regard. 5. Échange de visages : fournit des modèles inswapper pour l'échange d'identité faciale. 6. Détection de vivacité : module optionnel de détection de vivacité RVB avec modes normal/observation, scores par visage et raisons de rejet d'entrée. InsightFace 2.0 introduit PrivateFrame pour le floutage et le mosaïquage local des visages dans les vidéos, la sélection de photos de référence et un JSON d'analyse modifiable via des workflows de bureau, CLI et Python, avec un mode Rapide par défaut ciblant 15 FPS d'analyse. Le projet fournit également : - Un package Python pour la détection, la reconnaissance et l'alignement faciles sur des images d'entrée, avec sélection automatique du fournisseur CoreML/CUDA/CPU et caches de compilation CoreML réutilisables. - InsightFace Server : une interface Web auto-hébergée avec une API REST snake_case et un client Python pour la détection, les contrôles de vivacité facultatifs, la comparaison, l'enregistrement et la recherche de personnes. Fonctionne sur un seul conteneur CPU Linux x86_64 ou GPU NVIDIA avec inférence ONNX Runtime locale et SQLite, en utilisant des modèles vérifiés par manifeste fournis par l'opérateur. Offre une quantification d'embeddings INT8 préservant la précision et une recherche d'images de plus de 50 millions sur un seul GPU RTX 5090. - InspireFace : un SDK de reconnaissance faciale C/C++ multiplateforme. - Une démo GUI de bureau multiplateforme pour la reconnaissance faciale, l'évaluation en entreprise, les rapports et les essais d'échange de visages. Le code est publié sous licence MIT sans limitation pour un usage académique et commercial. Les données d'entraînement et les modèles sont disponibles uniquement à des fins de recherche non commerciale. Le projet a obtenu des résultats notables, notamment la 1re place sur le parcours VISA 1:1 du NIST-FRVT et la 1re place au défi de reconstruction faciale 3D monoculaire basée sur la projection perspective du workshop WCPA de l'ECCV-2022.