2016-11-07 1 views
1

J'utilise Microsoft API face de mon code client en utilisant java script/Jquery. Voici le code. Je capture l'image à l'aide d'un appareil photo, puis convertis cette image en un blob et l'envoie à l'API. Je reçois les résultats. Mais cette API prend environ 4-6 secondes pour obtenir les résultats. Est-ce normal ou pourrait-il y avoir une amélioration de la performance?Temps de réponse Microsoft Face Api?

Merci!

var params = { 
    // Request parameters 
    "returnFaceId": "true", 
    "returnFaceLandmarks": "false", 
    "returnFaceAttributes": "age,gender,glasses", 
}; 

jQuery.ajax({ 
    url: "https://api.projectoxford.ai/face/v1.0/detect?" + $.param(params), 
    beforeSend: function(xhrObj){ 
     // Request headers 
     xhrObj.setRequestHeader("Content-Type","application/octet-stream"); 
     xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","Mykey"); 
    }, 
    type: "POST", 
    // Request body 
    data: data, 
    processData: false, 

}) 
.done(function(data) { 
    console.timeEnd("callMicrosoftService"); 

    parseData(data); 

}) 
.fail(function() { 
    alert("error"); 
}); 
+0

La mesure de 4 à 6 secondes doit-elle être comprise avec ou sans le temps nécessaire pour télécharger l'image source? – dlatikay

+0

Je poste l'image sous forme de blob dans le corps du message. Je ne le télécharge pas en utilisant une demande séparée. – Ashish

+0

si cela signifie que le temps qu'il faut pour télécharger l'image source est inclus dans les 4-6 secondes, c'est probablement la moitié ou plus ... quelle taille (MB?) Sont les fichiers en moyenne? – dlatikay

Répondre

0

L'appel sera de retour plus rapide si vous interrogez moins les attributs du visage:

Notez que chaque analyse d'attribut face a plus de calcul des coûts et le temps.

Source: https://dev.projectoxford.ai/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236

Il est difficile de dire si cela est « habituel » ou non, car cela dépend de nombreux facteurs. En dehors de cela, vous ne pourrez pas beaucoup améliorer en changeant les choses côté client, car le calcul réel dépend de l'allocation des ressources du serveur et du quota alloué à votre compte là-bas.

+0

Merci @dlatikay pour la réponse. Mais j'ai besoin des attributs parce que je dois les utiliser plus loin. Je comprends que le calcul se passe sur le serveur. Donc, si j'utilise des services payants au lieu d'un service gratuit, les résultats pourraient être plus rapides que vous voulez dire. – Ashish