Le module JavaScript face-api.js implémente des réseaux de neurones convolutifs pour résoudre la détections et la reconnaissance des visages ainsi que la reconnaissance des repères faciaux. L'api face-api.js exploite TensorFlow.js et est optimisé pour le bureau et le web mobile.
Comme expliqué par le créateur de face-api.js, Vincent Mühler, la reconnaissance faciale avec le deep learning est un processus minutieux:
Pour rester simple, ce que nous voulons réellement réaliser, c'est identifier une personne donnée à partir d'une image de son visage, par exemple l'image d'entrée. La manière de procéder, est de fournir une (ou plusieurs) image(s) pour chaque personne que nous voulons reconnaître, avec leur nom, par exemple les données de références. Maintenant nous comparons l'image d'entrée aux données de références et trouvons l'image de référence la plus similaire. Si les deux images sont suffisamment similaires, nous donnons le nom de la personne, sinon nous affichons "inconnu". Ça parait être un bon plan! Toutefois, deux problèmes persistent. Premièrement, que se passe t-il si nous avons une image sur laquelle plusieurs personnes apparaissent, et que nous souhaitons toutes les reconnaître? Deuxièmement, nous devons être en mesure d'obtenir une sorte de mesure de similarité pour deux images de visages afin de les comparer...
Il existe plusieurs modèles disponible avec face-api.js, incluant la détection de visage, la détection de repère de visage, la reconnaissance faciale, la reconnaissance d'expression faciale, l'estimation de l'âge et la reconnaissance du genre.
Pour commencer avec l'api face-api.js, les développeurs peuvent inclure la dernière ressource JavaScript de face-api.js ou l'installer via npm :
npm i face-api.js
Les développeurs chargent les différentes instances de réseau neuronal via faceapis.nets et chargent de manière asynchrone un modèle, une map de tenseur nommée (named tensor map) ou des modèles non compressés avec un poids en Float32Array
.
Les versions récentes de face-api.js ont conservé leur cohérence avec les dernières versions de TensorFlow.js, en affinant et dépréciant certaines APIs à mesure que le projet se rapproche d'une version 1.0.
La documentation complète de l'API face-api.js est disponible, ainsi que plusieurs exemples.
Le projet face-api.js est un logiciel open source disponible sous licence du MIT. Les contributions sont les bienvenues sur le dépôt GitHub de face-api.js..