S.A.R.A.H. v2.6: Reconnaissance Faciale

Petit article pour annoncer la sortie de la version 2.6 de S.A.R.A.H et récapituler l’ensemble des nouveautés.

Je n’ai pas encore eu le temps d’intégrer toutes les demandes de la communauté mais c’est dans la TODO ! J’essaye de faire des releases régulières en limitant les bouleversements.

Refactoring

J’ai fais une grosse réécriture de la partie C# en éclatant les Classes en singletons. Le programme est maintenant situé dans la barre des tâches:

Les logs sont journalisés dans des fichiers XML dans /bin et visible depuis une petite application Sentinel:

C’est un début, pour intégrer plus de composants « windows ». Ah ! et il y a quelques son de plus dans le répertoire /medias.

Reconnaissance Faciale

J’ai enfin pris le temps d’intégrer la librarie OpenCV (Emgu CV en C#) qui permet d’utiliser des algos très compliqués 🙂

Pour le moment, nous avons

  • de la détection de visage (HaarCascade) where ?
  • de la reconnaissance de visage (EigenObjectRecognizer) who ?

Les visages sont stockés dans /Camera, leur nom servant d’identifiant. Quand un visage est reconnu une requête est envoyée à NodeJS (avec une tempo de qq secondes)

Cette vue Terminator n’est pas encore dispo. Vous la voulez ? 🙂 Prochaine étape la reconnaissance d’objets !

Modules

Face

Un exemple d’usage de la reconnaissance faciale.

  • Permet d’activer / désactiver la reconnaissance faciale
  • Permet de déclencher un apprentissage

Gesture

Amélioration du plugin. Il est possible d’activer / désactiver la reconnaissance.

Keyboard

Les fonctions du plugin ont été remontées dans WSRMacro.

  • Lancer une application
  • Afficher une application
  • Déclencher une frappe clavier

A combiner avec les gestures pour faire défiler des slides powerpoint ou monter le son dans Spotify 🙂

Dictionary

La dictée d’un mot est mauvaise. Et le code Microsoft ne sait pas faire. Donc maintenant l’option « dictation » tente une reconnaissance de tout l’audio avec l’API Google.

Le plugin ne marche plus. Idéalement il faudrait utiliser une recherche fuzzy pour matcher la phrase.

Migrations

Le fichier de configuration custom.prop a été remonté à la racine. Le fichier custom.ini au même niveau remplace les paramètres du .cmd.

Il est maintenant possible de préciser la langue du moteur de reconnaissance vocale (à valider).

L’option AdaptationOn permet de calmer SARAH dans un environnement bruyant (expérimental).

Merci !

La v2.5 a été téléchargée +200 fois !

Merci à toute la communauté qui échange autour de S.A.R.A.H. ! Continuez à faire des retours sur le framework et a en parler autour de vous, sur Twitter, Facebook, etc, …

Si vous avez des plugins, même d’exemple, je peux les mettre en ligne dans l’app store !

Je suis inscrit à DevoxxFR, si mon dossier est accepté j’y présenterais S.A.R.A.H.

12 pensées sur “S.A.R.A.H. v2.6: Reconnaissance Faciale

  • 8 février 2013 à 0 h 57 min
    Permalink

    C’est une très très grosse M.a.J. sur le code C# ! Je suis preneur de tous les bugs, problèmes, etc, … que vous rencontrez !

    Répondre
  • 8 février 2013 à 8 h 04 min
    Permalink

    C’est énorme, la reconnaissance faciale ! J’adore la vue Terminator 😉
    Super boulot, en tout cas !

    Répondre
  • 9 février 2013 à 15 h 48 min
    Permalink

    Notes:
    – version 2.6.1: Ajout d’une option pour préciser la voix
    – version 2.6.2: Ajout de InputSimulator.dll manquant + variables pour la reco faciale

    Répondre
  • 11 février 2013 à 1 h 01 min
    Permalink

    version 2.6.3:
    – Les traitements d’image (QRCode, Reco Faciale) sont fait dans des Tasks.
    – J’ai re nettoyé les options
    – et proposer un mode « Terminator »

    Ma machine de prod est 30x moins puissante que ma machine de dev. La reco faciale sature le proc mais l’appli ne freeze plus.

    Répondre
  • 26 mars 2013 à 20 h 45 min
    Permalink

    salut m’sieur Encausse
    j’suis pas du tout informaticien, juste curieux.
    je suis tombé sur ton site en recherchant le site d’un gars qui a fait un algorithme de reconnaissance par auto apprentissage; open source.
    http://personal.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html
    Du coup, je voudrais savoir ce que tu en pense et si c’est utilisable, + ou – performant pour ton application?
    et en question subsidiaire, est ce qu’il faut être informaticien pour utiliser cet algorithme ou en faire une appli ou un genre de addon pour l’utiliser simplement…
    bravo pour ton job
    gael

    Répondre
  • 26 mars 2013 à 20 h 57 min
    Permalink

    Merci pour l’info je vais regarder,

    A vrai dire, il n’y a rien de magique dans la reco faciale de SARAH, je n’ai fait que du LEGO en intégrant le code de OpenCV (lib la plus connue)

    Au niveau perfs, j’y connais pas grand chose, je pars du principe que la lib de référence est la plus opti (même si j’utilise une version « free » pas opti)

    Au niveau compétence, oui je pense que ça doit être chaud à implémenter tout simplement car il faut jouer:
    – Avec les thread du processeur
    – Et encaisser 30 images / secondes

    Dans l’avenir, j’aimerai continuer à jouer avec les autres algo de OpenCV / KinectFusion pour apprendre à reconnaître des objets.

    Répondre
  • 26 mars 2013 à 23 h 50 min
    Permalink

    ok
    je vais regarder du coté d’open cv.
    je reviendrait zieuter par ici pour connaitre ton avis sur TLD.
    a bientot

    Répondre
  • 8 avril 2013 à 22 h 40 min
    Permalink

    Est-il possible de faire une rotation de la capture de 180 degré (en options dans le custom.ini par exemple) ? En effet, je me demandais s’il était possible d’utiliser le kinect la tête en bas ?

    Répondre
  • 18 juillet 2014 à 10 h 38 min
    Permalink

    Bonjour,

    Etant sur 3.1.6, je flashback quelque peu le post, mais bon => Reconnaissance faciale j’ai besoin d’orienter la tête de la kinect vers le haut pour viser une hauteur ad hoc, mais Microsoft interdis de regler la hauteur a la main, normalement cela doit etre fait a partir des petit moteurs qu’il y a dedans, mais je ne trouve pas l’interface S.A.R.AH qui permet de l’orienter ( attention dans http://127.0.0.1:8080/kinect il me marque bien data kinect recevied, mais le carré en bas « Center » est sur fond noir. d’un autre coté depuis le client Kinect « sarah speech recognition » l’onglet Kinnect arrive bien a faire la reconnaissance, mais je suis obliger de me casser le dos pour qu’il voit mon visage

    Merci d’avance

    Répondre
    • 18 juillet 2014 à 11 h 01 min
      Permalink

      Dans le custom.ini il y a elevation angle. Sur le Kinect 2 ils ont viré cette fonction. Je te conseil pour l’avenir de réfléchir à un emplacement plutôt à hauteur d’homme. Moi je l’ai placé au dessus de la TV.

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *