Microsoft : une API vous dira si vous êtes heureux

Par:
fredericmazue

ven, 13/11/2015 - 15:11

Microsoft, qui avance à grands pas dans le domaine de la reconnaissance faciale, propose désormais aux développeurs d'enrichir leurs applications avec l'API du Project Oxford détectant les émotions.

Cette API analyse les photos qu'on lui fournit. Celles-ci doivent avoir une taille comprise entre 36x36 et 4096x4096 pixels, sans dépasser un poids de 4Mo.

L'API analyse l'image et détermine combien de visages y figurent (si l'on peut dire ;-) dans la limite de 64 visages. Des rectangles délimitant les zones de visages sont retournés.

L'API s'interroge par des requêtes HTTP toutes simples, par exemple.

POST emotion/v1.0/recognize
Content-Type: application/json
Host: api.projectoxford.ai
Content-Length: 43

{ "url": "http://example.com/picture.jpg" }

Elle retourne ensuite un tableau de résultats au format JSON. Autant d'éléments de tableau dans le résultat que de visages détectés dans l'image, et pour chaque visage, un dictionnaire met en correspondance des émotions ("Colère", "Outrage", "Dégoût",  "Peur", "Joie", "Neutre", "Tristesse", "Surprise") avec la note attribuée par l'API à chacune de celles-ci. La note la plus haute correspond à l'émotion détectée. Mais par ce système rien n'interdit de soumettre des photos présentant un caractère mitigé.

La documentation de cette API est accessible ici. Le Project Oxford propose également un site de démonstration

5 faces detected

JSON:
[
  {
    "FaceRectangle": {
      "Left": 488,
      "Top": 263,
      "Width": 148,
      "Height": 148
    },
    "Scores": {
      "Anger": 9.075572e-13,
      "Contempt": 7.048959e-9,
      "Disgust": 1.02152783e-11,
      "Fear": 1.778957e-14,
      "Happiness": 0.9999999,
      "Neutral": 1.31694478e-7,
      "Sadness": 6.04054263e-12,
      "Surprise": 3.92249462e-11
    }
  },
  {
    "FaceRectangle": {
      "Left": 153,
      "Top": 251,
      "Width": 133,
      "Height": 133
    },
    "Scores": {
      "Anger": 6.2065344e-9,
      "Contempt": 1.08080636e-11,
      "Disgust": 3.30821842e-10,
      "Fear": 1.02974018e-11,
      "Happiness": 1,
      "Neutral": 1.2882297e-8,
      "Sadness": 2.63420341e-10,
      "Surprise": 4.30664e-10
    }
  },
  {
    "FaceRectangle": {
      "Left": 762,
      "Top": 325,
      "Width": 123,
      "Height": 123
    },
    "Scores": {
      "Anger": 0.00019452213,
      "Contempt": 0.000333736039,
      "Disgust": 0.000693641952,
      "Fear": 0.00000172743637,
      "Happiness": 0.9509745,
      "Neutral": 0.04753512,
      "Sadness": 0.000177138063,
      "Surprise": 0.00008960857
    }
  },
  {
    "FaceRectangle": {
      "Left": 1065,
      "Top": 270,
      "Width": 99,
      "Height": 99
    },
    "Scores": {
      "Anger": 3.784958e-9,
      "Contempt": 2.17644625e-10,
      "Disgust": 8.470069e-9,
      "Fear": 1.8734023e-11,
      "Happiness": 0.99999994,
      "Neutral": 2.52160586e-8,
      "Sadness": 3.50126363e-8,
      "Surprise": 1.243408e-10
    }
  },
  {
    "FaceRectangle": {
      "Left": 900,
      "Top": 356,
      "Width": 69,
      "Height": 69
    },
    "Scores": {
      "Anger": 1.61575272e-7,
      "Contempt": 0.000004247503,
      "Disgust": 2.36979556e-8,
      "Fear": 6.178071e-8,
      "Happiness": 0.9946751,
      "Neutral": 0.00531783467,
      "Sadness": 0.00000216178728,
      "Surprise": 4.332052e-7
    }
  }
]