Après avoir longuement recherché le meilleur logiciel de reconnaissance faciale, je suis arrivé à la conclusion que presque tous les articles actuellement publiés sont simplement copiés et collés à partir de publicités. Pire encore, la plupart de ces articles recommandent des bibliothèques et des services obsolètes qui ne sont plus pris en charge. Certaines de leurs solutions suggérées ne peuvent même pas fonctionner sur les systèmes d’exploitation modernes!

Je promets, ce n’est pas un de ces articles. J’ai fait de mon mieux pour dresser une liste complète de toutes les solutions modernes de reconnaissance faciale sur le marché. Étonnamment, la moitié des solutions gratuites prometteuses n’ont commencé leur développement actif qu’en 2020! J’ai trouvé un peu difficile d’étudier correctement les solutions payantes pour les entreprises car elles ne donnent pas beaucoup d’informations pour les gens ordinaires, donc j’imagine que cet article sera très utile pour les petites et moyennes entreprises, et bien sûr les amateurs de bricolage.

Types de solutions de reconnaissance faciale disponibles sur le marché

La première chose que vous devez savoir, c’est qu’il existe une grande variété de solutions de reconnaissance faciale. Certains d’entre eux sont prêts à être utilisés sans compétences d’apprentissage automatique, et d’autres nécessitent beaucoup plus de temps et d’expertise.
Je diviserais les services de reconnaissance faciale en trois types, chacun avec ses propres avantages et inconvénients.

Nous allons jeter un coup d’oeil:

Moteurs de reconnaissance faciale basés sur le logiciel en tant que service (SaaS). Dans ce cas, un fournisseur de services de reconnaissance faciale s’occupe de tout, du suivi de la technologie d’apprentissage automatique à la gestion et à la prise en charge de serveurs à charge élevée. Il ne vous reste plus qu’à intégrer le logiciel à vos systèmes informatiques via une API. Malgré leurs nombreux avantages, ces solutions présentent également de nombreux inconvénients. Tout d’abord, c’est l’option la plus chère, car tout est géré par le fournisseur. Vous avez également besoin d’une connexion Internet stable, car vous devrez envoyer des images lourdes à un serveur quelque part sur Internet. Il peut également y avoir des problèmes de sécurité, car vous devez envoyer vos photos à une entreprise tierce et ne pouvez pas contrôler ce qu’ils en font.

Solutions API REST auto-hébergées. Ces systèmes peuvent être déployés à la fois sur site et dans le cloud. Ils n’ont pas les mêmes problèmes que les produits SaaS. Vous stockez les données sur vos propres serveurs (ou dans votre cloud privé), vous pouvez donc contrôler où elles vont, et vous pouvez même créer un système qui fonctionne hors ligne. Bien sûr, en échange, vous devrez également gérer vous-même les serveurs. Mais dans la plupart des cas, les serveurs sont livrés sous forme de conteneurs docker, il est donc assez facile de les orchestrer. Les solutions auto-hébergées, même si elles ne sont pas aussi chères que leurs homologues SaaS, sont toujours assez chères. Heureusement, des solutions d’API REST auto-hébergées gratuites et open source commencent à apparaître. Elles ne sont pas aussi matures que d’autres solutions, mais elles sont très prometteuses.

Framework et bibliothèques open-source. Ceux-ci sont généralement gratuits, car de nombreux chercheurs sont heureux de publier le code à partir de leurs approches de pointe. Bien sûr, vous aurez besoin d’au moins une certaine expérience de l’apprentissage automatique pour utiliser ce type de logiciel. Vous devrez également passer un peu de temps pour le restituer si vous souhaitez intégrer ces solutions à vos applications personnalisées. L’avantage est que vous obtiendrez une solution de pointe que vous connaissez de fond en comble.

Comme vous pouvez le constater, il est important de connaître vos ressources. La reconnaissance faciale était autrefois très coûteuse pour les gens ordinaires. Certains services peuvent commencer à 86,40 $ par jour ou aller jusqu’à 30000 $ par an et par caméra pour la reconnaissance faciale à partir de la vidéo en streaming (voir les prix des solutions individuelles ci-dessous). C’est probablement pourquoi nous n’entendons parler de reconnaissance faciale que lorsque le gouvernement ou les grandes entreprises en font usage.

Mais c’est moins un problème qu’auparavant, car il y a un nombre croissant d’options gratuites. Ils sont à différents stades de maturité, mais ils ne sont pas réservés aux passionnés de niche; ils sont prêts à être utilisés dans les petites et moyennes entreprises.

Avant de commencer à comparer les meilleurs logiciels de reconnaissance faciale, je tiens à préciser que j’ai choisi la précision comme paramètre clé de mes recherches. Il existe de nombreux points de repère que les solutions peuvent utiliser pour démontrer leurs normes élevées. Tout comme de nouvelles solutions de reconnaissance faciale arrivent sur le marché chaque année, les critères de performance sont également en constante évolution. Il est donc souvent difficile de comparer des solutions, même vieilles de deux ans, avec de nouvelles. Cependant, il existe une référence très ancienne, mais toujours populaire: Labeled Faces in the Wild (LFW). Heureusement, toutes les solutions de notre liste partageaient les résultats de ce benchmark, j’ai donc pu comparer leur précision.

Cette liste alphabétique de solutions gratuites et à venir vous aidera à démarrer.

Meilleures solutions logicielles gratuites de reconnaissance faciale à utiliser en 2021

1. Ageitgey / face_recognition (référentiel GitHub)
Il s’agit probablement de la bibliothèque de reconnaissance faciale gratuite la plus populaire, car elle compte 37,6k étoiles sur GitHub. Il existe deux options pour l’utiliser; vous pouvez utiliser leur API Python ou leur outil de ligne de commande binaire. Il existe des instructions d’installation pour toutes les plates-formes principales et même une image de docker pour une configuration rapide. Bien qu’il existe de bonnes raisons à sa popularité, vous devez prendre en compte de sérieux inconvénients si vous souhaitez l’utiliser. Pour commencer, la dernière version datait de 2018 (trois ans dans le monde de l’IA, c’est beaucoup), et il y a encore des commits dans le référentiel, mais il semble qu’il n’y ait pas de grandes améliorations. Deuxièmement, il utilise un modèle de reconnaissance faciale assez obsolète, précis à seulement 99,38% sur LFW (nous pouvons faire mieux en 2021). Enfin, l’intégration avec cette solution n’est pas aussi simple car elle n’a pas d’API REST.

2. CompreFace
Cette solution n’a été publiée sur GitHub qu’en juillet 2020 et compte à peu près 900 étoiles, mais elle semble très prometteuse. CompreFace est l’une des rares solutions de reconnaissance faciale API REST auto-hébergées de cette liste – vous pouvez la démarrer en utilisant une seule commande docker-compose. Comme il dispose d’une API REST, vous n’avez pas besoin d’être un ingénieur en apprentissage automatique pour l’implémenter. il est très facile de l’intégrer dans votre système. La solution est évolutive, vous pouvez donc reconnaître simultanément des visages sur plusieurs flux vidéo. CompreFace dispose également d’une interface utilisateur simple pour gérer les rôles des utilisateurs et les collections de visages. Il donne le choix entre les deux méthodes de reconnaissance faciale les plus populaires: FaceNet (précision LFW 99,65%) et InsightFace (précision LFW 99,86%). L’inconvénient est qu’il est toujours en développement actif et que la dernière version (début 2021) n’est que la version 0.4.1.

3. DeepFace
Ce framework a été publié sur GitHub en février 2020 et compte déjà environ 1100 étoiles, probablement parce qu’il porte le même nom que la méthode de reconnaissance faciale DeepFace de Facebook. Cette bibliothèque prend également en charge différentes méthodes de reconnaissance faciale telles que FaceNet et InsightFace (entre autres, mais FaceNet et InsightFace sont les plus précises). Il fournit également une API REST, mais il ne prend en charge que les méthodes de vérification, vous ne pouvez donc pas créer de collections de visages et trouver votre visage parmi elles. Même s’il est assez facile de démarrer si vous êtes un développeur Python, c’est assez compliqué pour tout le monde. Depuis le début de 2021, la dernière version est la 0.0.49.

4. FaceNet
FaceNet est une méthode de reconnaissance faciale créée par des chercheurs de Google et la bibliothèque Python open source qui l’implémente. Le référentiel compte 11 000 étoiles et de nombreux articles «comment faire» l’utilisent comme bibliothèque de base. Même si cette méthode est assez ancienne, certains nouveaux chercheurs l’utilisent encore (le plus récemment pour la reconnaissance faciale dans les masques). La précision de cette méthode est assez élevée (99,65% sur l’ensemble de données LFW, ce qui n’est certainement pas mauvais, mais ce n’est pas haut de gamme). Les inconvénients de cette solution sont qu’elle ne dispose pas d’API REST et que le référentiel n’est plus pris en charge (la dernière mise à jour majeure date d’avril 2018).

5. InsightFace
InsightFace est une autre bibliothèque Python open source avec 8 000 étoiles. Il utilise l’une des méthodes les plus récentes et les plus précises de détection de visage (RetinaFace) et de reconnaissance de visage (SubCenter-ArcFace). Dès le début de 2021, ce référentiel est très actif. Cette solution est également très précise – 99,86% sur le jeu de données LFW. Le seul inconvénient est qu’il n’est pas facile à utiliser. Si vous recherchez des solutions qui utilisent InsightFace, fournissent une API REST plus pratique et peuvent s’exécuter à partir d’un conteneur Docker, essayez CompreFace et InsightFace-REST.

6. InsightFace-REST
Il s’agit d’un autre référentiel prometteur créé en 2019, bien que le développement actif n’ait commencé qu’en octobre 2020. Comme CompreFace, il s’agit d’une solution basée sur docker qui fournit une API REST pratique. Le plus grand avantage est que les développeurs ont multiplié par trois la reconnaissance d’InsightFace! L’inconvénient de cette solution est qu’elle ne fournit que des images de visage et ne donne pas l’API pour la reconnaissance faciale réelle, vous devrez donc avoir votre propre classificateur. De plus, le référentiel n’a toujours pas de licence, vous devrez donc demander à l’auteur si vous pouvez l’utiliser.

click and collect