La reconnaissance facial existe depuis plusieurs dizaines années. C’est depuis 2011, où plusieurs services commencent à utiliser ce système à grande échelle, par exemple Facebook, FindFace ( le site russe interdit en France de mémoire ) ou google ( qui cache dans leurs barre de recherche &imgtype=face )

Faire une reconnaissance faciale c’est simple pour un développeur junior de nos jours.

Exemple: en 15 lignes de code:

https://realpython.com/face-recognition-with-python/

Il y a 2 applications différents:

  • Reconnaître un visage pour de la sécurité.
  • Reconnaître un visage dans une foule.

Reconnaître un visage pour la sécurité

La reconnaissance faciale pour la sécurité touche l’identité d’une personne. Il est surtout utilisé pour reconnaître des personnes dans une zone sécurité ou pour reconnaître un client ( Ca fait partie de ce qu’on appel le KYC )

Les défis

  • Savoir si c’est réellement un visage et pas une photo ou un masque ( et oui des masques peuvent perturber la reconnaissance faciale )
  • Reconnaître des visages même de profil

Les solutions

  • Ajouter d’autre contrôle biométrique.

Reconnaître un visage pour la foule

La reconnaissance faciale dans une foule peut être utile. Il permettra de localiser des terroristes ou reconnaître des personnes qui subit des interdictions dans les festivals ou les match de foot. Une autre utilité permettra de compter les gens dans une manifestions en retirant les doublons ( il faut que ca soit autorisé par la législation).

Les défis

  • Pouvoir analyser un flux vidéo
  • Pouvoir utiliser une image haute résolution
  • Pouvoir trouver une personne dans une foule
  • Reconnaître des visages même de profil

Les solutions

  • Traité une image sur 4
  • Rétraissir les images
  • Reconnaître une tête sur 2
  • Multiplexer les taches

Comment reconnaître une tête?

La reconnaissance facial se découpe en plusieurs sous morceaux en python.

  • Trouver les têtes
  • Reconnaître ses têtes

Ce qui fait un algorithme comme ceci:

Sur l’ordinateur de nos jours se processus peut durer 0.3s en python sur des image de 8Mp avec la PXW-FS7M2. Ce qui fait pour un flux vidéo, ce n’est pas bon pour avoir 24 images par seconde. Pour corriger, ce soucis il faut afficher une image sur 3 ou 4.

La vue sous Go est différant:

Chaque carré s’occupe d’une fonction et chaque “face recogntion” s’occupe d’une face. Le go va exécuter toutes les fonctions en même temps. Du coups avec l’implémentation facile sous Go, l’analyse d’une foule en temps réel devient possible. A un petit détail, on a un décalage de 0,6s et avec aucune diminution de l’image.

Cette avantage peut être exploité que dans un cas. Celui d’un flux vidéo dans une foule dans une manifestation ( dans les gradins d’un sport, manifestation sociale ou les festivals)

En conclusion, la reconnaissance faciale est une discipline récente. Les récentes application montre qu’il y a pas mal d’erreur. C’est pourquoi plusieurs startup se sont lancées dedans afin de maîtriser la technique.