2016-11-07 5 views
1

Ich benutze Microsoft Face API von meinem Client-Side-Code mit Java Script/Jquery. Hier ist der Code. Ich nehme das Bild mit der Kamera auf und wandle dieses Bild dann in ein Blob um und sende es an die API. Ich bekomme die Ergebnisse. Aber diese API dauert etwa 4-6 Sekunden, um die Ergebnisse zu erhalten. Ist das normal oder könnte es zu einer Leistungsverbesserung kommen?Microsoft Face API Reaktionszeit?

Vielen Dank!

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

Ist die Messung von 4-6 Sekunden mit oder ohne die Zeit, die zum Hochladen des Quellbildes benötigt wird, zu verstehen? – dlatikay

+0

Ich poste das Bild als Blob im Post-Body. Ich lade es nicht mit einer separaten Anfrage hoch. – Ashish

+0

wenn das bedeutet, dass die Zeit, die es dauert, um das Quellbild hochzuladen, in den 4-6 Sekunden enthalten ist, das ist wahrscheinlich die Hälfte davon oder mehr ... welche Größe (MB?) Sind die Dateien im Durchschnitt? – dlatikay

Antwort

0

Der Anruf wird schneller zurück, wenn Sie weniger Gesicht Attribute abfragen:

Beachten Sie, dass jedes Gesicht Attributanalyse zusätzliche Rechen- und Zeitaufwand hat.

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

Es ist schwierig zu sagen, ob diese „üblichen“ ist oder nicht, wie es von so vielen Faktoren abhängt.

Abgesehen davon, werden Sie nicht in der Lage sein, viel zu verbessern, indem Sie Dinge auf der Client-Seite ändern, da die tatsächliche Berechnung von der Server-Ressourcenzuweisung und dem dort zugewiesenen Kontingent abhängt.

+0

Danke @dlatikay für die Antwort. Aber ich brauche die Attribute, weil ich sie weiter verwenden muss. Ich verstehe, dass die eigentliche Berechnung auf dem Server passiert. Also, wenn ich kostenpflichtige Dienste anstelle von kostenlosen nutze, könnten die Ergebnisse schneller sein, meinen Sie. – Ashish

Verwandte Themen